128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
127
127
128
128
127
128
128
128
128
127
127
128
128
127
127
127
127
128
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
128
128
127
127
127
127
128
128
127
127
127
127
127
127
128
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
128
127
127
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
127
127
127
127
128
127
127
127
127
127
127
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
127
128
128
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
128
128
128
127
128
127
127
127
127
127
127
127
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
127
127
127
127
127
127
127
128
127
127
128
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
127
128
127
127
127
128
128
127
128
128
128
127
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
128
128
128
127
127
127
127
127
127
127
128
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
128
127
127
128
127
127
128
128
128
128
128
128
127
128
127
127
127
129
129
127
127
127
125
126
129
129
128
128
127
125
125
126
128
130
130
129
128
126
126
126
127
128
128
128
127
126
126
127
127
127
128
128
127
127
127
127
127
127
128
128
127
127
127
127
127
128
128
128
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
128
128
128
127
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
127
127
127
128
128
128
127
128
128
127
128
128
128
128
128
127
127
127
127
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
127
128
128
128
128
128
128
128
127
128
128
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
128
127
127
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
128
128
127
128
128
128
127
127
127
128
128
128
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
126
126
127
127
126
127
126
127
126
127
126
127
126
126
126
127
127
127
127
127
127
127
127
127
127
126
127
127
126
127
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
127
127
127
128
128
128
128
127
127
127
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
128
128
128
127
127
127
128
127
128
127
128
128
128
128
128
128
127
127
127
127
127
127
127
128
128
127
128
128
127
128
128
127
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
127
127
128
127
129
127
128
127
128
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
128
128
127
127
127
127
128
128
127
127
127
127
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
127
127
127
127
127
128
128
127
127
126
126
126
127
127
127
127
127
127
127
127
126
126
126
126
126
126
127
127
127
127
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
128
128
128
129
128
128
128
128
129
129
130
129
128
130
128
129
128
127
127
129
129
128
127
127
127
127
128
127
127
126
127
127
127
126
127
127
128
128
127
125
125
126
126
127
126
126
126
127
127
127
127
128
128
129
130
130
130
131
132
133
133
132
133
132
131
131
131
131
131
131
131
130
129
129
129
130
131
130
129
128
128
127
125
124
124
124
125
125
126
125
124
124
123
122
122
122
124
125
126
127
126
126
126
127
127
128
129
131
131
131
132
131
132
133
133
134
133
133
132
132
133
133
132
131
130
130
131
131
130
129
129
129
129
129
128
123
119
118
117
121
126
129
129
127
123
120
118
117
117
119
124
127
129
129
126
123
122
121
123
125
127
130
132
132
131
130
131
132
133
134
134
134
135
135
134
133
132
131
132
132
133
134
133
130
129
128
130
134
137
133
123
111
100
103
120
132
138
136
130
123
121
117
112
108
111
120
130
138
137
129
121
116
115
117
118
119
124
130
134
133
129
123
122
124
130
134
136
138
137
136
135
135
134
134
134
137
138
136
135
134
135
138
139
137
134
131
131
136
140
128
102
84
92
118
143
154
145
127
118
118
117
112
105
103
115
136
148
143
126
113
107
111
116
126
120
111
129
138
137
134
119
110
121
131
140
141
141
142
139
131
125
129
138
143
143
146
142
133
134
136
134
136
136
140
148
146
138
132
131
135
123
89
71
81
112
148
164
157
134
118
114
111
107
102
100
114
138
154
152
136
119
109
106
102
107
117
122
128
135
132
123
118
115
119
129
137
137
137
135
131
129
130
132
135
138
138
138
140
140
138
137
139
141
144
145
142
138
140
143
144
145
142
141
135
128
131
122
86
68
78
105
145
167
160
138
124
115
110
104
98
95
110
135
151
154
139
119
104
103
106
110
116
120
126
131
128
117
111
113
120
131
140
139
135
131
126
124
126
129
135
143
145
143
140
137
137
142
149
153
151
145
146
152
154
150
155
153
148
147
141
134
130
90
33
26
60
123
184
205
179
144
124
110
99
85
71
77
116
161
189
186
151
108
96
99
94
85
85
103
128
155
157
134
110
101
99
110
119
123
129
138
143
137
124
109
105
115
132
142
146
144
140
137
134
130
129
136
143
149
154
154
155
157
153
147
144
150
160
161
161
164
165
165
159
138
90
5
0
29
115
206
255
209
159
145
135
95
50
22
8
79
193
225
236
196
138
112
103
85
46
43
57
98
155
172
161
141
115
97
95
95
93
109
132
144
149
140
116
104
106
113
128
141
145
145
144
136
123
120
123
134
150
156
154
154
153
149
142
139
142
159
172
166
153
145
147
153
156
151
160
173
193
97
0
3
8
92
236
242
178
165
178
176
122
66
2
0
77
161
210
222
177
162
156
165
96
54
22
19
80
118
140
139
160
155
141
132
77
64
73
98
131
148
153
134
140
126
113
113
110
122
140
155
148
142
136
123
123
128
133
145
160
165
162
149
125
119
140
160
166
161
149
135
144
156
143
152
162
183
185
170
96
0
1
25
87
175
197
164
166
207
191
132
84
16
3
78
120
145
156
166
167
191
184
123
89
52
42
28
50
80
120
167
179
169
141
112
86
75
76
87
117
145
156
155
138
121
113
112
109
116
130
144
155
154
140
125
121
125
138
151
153
155
156
154
151
143
136
136
143
154
169
161
147
141
135
151
161
166
171
154
134
112
46
7
38
74
116
156
162
158
172
169
140
114
85
65
78
100
110
125
138
146
157
161
141
118
101
80
62
56
59
80
119
149
156
152
136
118
106
95
88
95
112
130
143
144
135
126
123
118
116
119
127
138
148
147
138
134
132
134
138
140
141
143
141
139
142
144
143
145
145
146
149
143
136
142
150
156
157
153
148
155
161
166
176
179
171
142
68
30
44
69
106
129
127
136
164
171
154
132
103
90
104
112
109
112
118
128
138
132
113
103
110
114
119
120
113
115
125
126
122
119
118
121
130
131
129
132
136
137
138
134
127
130
134
137
139
139
138
143
146
145
142
141
142
146
150
148
144
145
144
142
145
144
144
148
146
144
148
148
147
147
141
137
143
145
147
146
145
146
149
151
147
145
146
149
148
149
146
145
148
153
149
145
141
138
139
140
138
134
134
134
136
133
127
124
126
128
127
123
118
119
124
124
121
119
119
123
123
120
113
113
115
118
119
114
112
113
116
115
115
108
108
107
113
112
109
108
108
112
115
108
112
110
106
113
112
105
116
121
105
106
115
107
109
112
108
99
109
104
108
112
107
107
114
102
111
110
106
105
106
104
107
117
106
108
114
107
105
108
106
109
110
111
118
114
113
103
106
108
104
104
115
114
117
122
117
122
111
115
116
114
114
118
114
117
122
122
121
118
118
122
120
123
121
117
117
125
122
122
125
122
125
127
127
126
128
133
132
134
136
135
134
145
144
136
142
144
137
138
132
135
147
139
142
151
138
147
150
146
146
145
145
146
144
152
146
149
147
150
153
145
150
149
149
150
148
148
147
156
151
145
146
146
144
150
145
136
138
144
140
139
132
135
140
145
138
146
142
134
145
140
138
145
149
147
143
143
140
142
139
130
136
136
134
129
132
131
124
129
138
127
132
129
129
139
135
134
136
140
136
142
139
139
143
142
136
136
142
139
143
134
139
140
137
136
135
136
136
140
136
138
140
135
135
132
134
137
132
124
127
133
130
128
132
133
125
127
135
130
124
127
127
126
126
123
117
121
122
114
114
120
119
112
108
116
117
113
116
115
108
112
113
113
114
110
114
118
110
106
118
111
114
108
113
115
113
112
119
113
113
109
109
111
115
113
108
112
112
109
113
111
109
109
112
112
113
111
110
114
113
117
112
110
107
108
113
115
109
115
110
110
111
108
105
111
115
114
110
109
110
111
114
108
109
111
107
110
110
111
111
112
109
113
111
109
114
115
109
112
111
112
111
109
113
112
110
115
109
115
113
114
112
116
117
114
112
115
117
120
115
115
116
115
116
117
115
120
119
119
123
121
118
117
119
120
125
119
116
119
121
120
120
121
120
121
125
121
124
119
120
125
128
125
123
114
123
130
127
122
119
126
125
132
123
127
123
125
134
132
128
126
130
126
127
129
128
130
132
131
130
130
129
131
128
133
128
133
128
131
130
129
127
131
137
132
134
127
137
133
132
130
132
128
132
134
131
130
133
130
133
131
131
127
138
137
134
129
130
132
132
127
132
128
137
132
133
134
131
125
132
132
134
131
133
133
131
132
131
131
134
132
135
132
133
132
129
125
131
132
135
133
132
131
134
131
131
134
132
131
134
129
131
133
131
130
135
132
132
134
135
132
130
128
132
130
130
129
132
134
131
128
135
129
133
128
134
133
132
134
128
131
130
131
131
129
129
133
126
129
132
131
126
133
131
129
130
131
131
132
128
133
133
131
129
134
134
131
135
130
129
132
129
133
131
132
129
134
129
132
132
126
133
127
129
131
132
131
134
135
131
127
131
132
133
132
130
127
133
133
133
131
129
129
134
131
132
128
124
130
134
135
132
132
130
127
132
129
134
135
125
134
127
132
131
128
126
129
129
135
127
128
128
130
128
128
125
132
129
123
130
132
133
126
127
133
129
132
130
131
132
134
128
129
128
133
127
129
126
135
130
132
130
125
125
130
128
132
128
126
130
135
130
131
130
130
130
131
133
129
128
130
133
136
129
128
130
130
132
131
131
126
137
136
133
127
128
130
126
130
132
134
130
127
135
129
127
133
133
127
133
127
129
125
130
126
124
122
131
132
129
126
125
127
134
126
131
123
128
124
129
132
127
129
127
131
125
132
131
130
124
130
124
131
128
128
125
129
128
127
129
130
129
127
126
127
124
128
131
130
125
127
129
132
127
127
123
127
129
128
125
130
129
127
128
129
125
133
132
130
128
126
129
128
129
130
127
127
125
124
129
134
128
130
127
130
127
130
130
130
129
135
132
131
127
129
126
126
133
133
133
132
129
129
130
126
129
128
132
131
129
132
126
122
124
131
126
127
128
129
129
127
126
129
122
122
120
117
120
124
122
128
120
127
126
124
125
126
124
124
126
128
121
124
122
125
122
124
126
123
129
128
129
124
127
124
127
129
128
126
124
124
129
126
130
129
128
132
127
125
118
124
119
126
128
124
123
129
125
125
123
123
124
126
129
123
127
121
131
127
128
130
123
128
123
130
121
125
125
128
124
129
127
127
127
126
123
123
128
126
129
129
128
129
128
133
130
128
129
130
127
132
130
130
129
124
132
129
134
129
127
123
128
123
131
127
128
126
127
129
127
129
129
128
126
130
131
129
129
124
124
126
133
133
132
129
125
124
130
127
122
123
126
125
128
131
129
127
134
131
131
138
134
130
127
127
128
136
132
130
127
129
127
136
133
128
123
124
127
134
134
128
129
128
132
130
131
128
132
133
128
127
131
132
130
126
122
122
130
130
128
127
128
128
127
125
126
129
123
126
133
129
130
131
126
131
132
129
133
128
129
128
129
131
131
129
128
130
126
129
132
134
129
130
130
128
131
129
126
128
127
130
129
127
127
128
130
131
129
128
125
127
125
125
129
128
122
126
128
130
135
131
127
128
131
132
132
128
127
126
126
128
132
129
126
125
125
131
133
131
130
128
127
132
133
133
130
128
130
133
133
129
126
128
131
129
131
130
129
129
129
127
129
128
127
128
129
126
126
128
129
129
127
128
130
131
130
129
127
126
125
127
128
128
128
128
128
128
127
129
128
124
125
126
128
128
126
125
126
126
127
128
128
126
127
128
128
128
128
127
127
128
127
126
126
127
126
126
126
127
127
128
126
125
126
127
128
127
127
127
129
129
128
128
127
126
126
126
125
125
126
126
125
127
127
126
126
127
128
127
127
127
127
126
127
127
127
125
125
125
126
126
127
127
127
128
127
126
126
127
127
127
127
127
126
126
127
127
127
126
126
126
127
126
126
126
127
127
127
126
126
125
125
125
125
125
124
123
123
125
124
125
124
124
124
125
124
124
124
123
123
123
124
123
124
124
125
124
125
124
125
125
125
126
126
128
128
130
131
133
134
135
135
134
134
133
134
135
135
135
135
135
135
134
134
134
134
134
134
135
133
132
131
128
124
121
117
112
108
106
104
103
105
104
107
108
112
115
117
119
120
121
122
122
122
122
121
121
122
122
123
124
128
131
136
139
140
141
141
141
142
144
145
145
145
145
145
148
150
154
157
161
166
164
160
157
149
120
89
79
74
71
75
78
75
82
104
121
134
148
151
152
157
166
160
156
145
130
118
115
109
96
89
83
86
92
104
109
115
122
126
132
134
134
130
129
127
125
124
122
122
120
123
125
130
137
143
147
149
152
153
155
155
154
154
154
155
157
160
162
163
160
152
143
127
108
93
82
75
75
80
84
91
102
114
125
139
147
152
155
156
154
152
147
137
128
119
113
102
93
89
89
94
103
109
112
119
125
129
133
135
132
131
131
130
128
129
126
125
127
130
134
138
142
144
147
149
150
151
152
151
152
154
155
160
163
166
166
163
157
146
121
93
81
72
70
75
81
80
87
101
116
130
147
151
154
155
158
156
154
150
137
127
116
112
105
102
90
87
88
93
103
114
120
123
128
130
132
135
134
132
129
129
126
127
129
129
131
133
134
138
142
144
145
146
144
141
144
145
146
146
147
147
151
154
156
161
160
156
148
135
115
98
88
81
80
83
85
90
97
106
116
126
136
141
147
148
148
147
146
142
136
130
123
115
108
101
98
97
99
103
108
113
119
126
130
133
135
136
135
134
132
131
131
131
130
131
133
133
133
133
134
134
134
134
134
135
135
134
136
135
135
136
138
138
140
141
142
144
147
146
144
138
128
120
113
107
103
100
99
101
106
111
115
118
121
123
125
128
131
134
135
135
133
132
130
129
126
123
118
115
114
114
118
121
123
125
126
126
126
128
128
130
131
131
131
131
132
131
132
131
131
132
131
131
131
131
131
131
131
130
130
130
130
131
131
131
131
132
132
133
134
135
138
140
141
142
142
140
133
126
122
116
112
109
107
108
110
112
113
115
117
120
124
126
129
133
134
135
134
134
132
131
129
127
125
122
120
118
119
121
123
124
125
124
125
125
126
127
129
130
130
130
129
129
130
131
131
132
132
131
130
129
128
129
129
129
128
128
128
128
129
129
130
130
131
131
132
132
133
133
134
135
137
138
138
139
137
135
131
127
120
115
112
110
109
109
110
112
116
119
121
124
129
133
136
135
133
132
131
130
130
129
128
127
125
123
121
120
120
122
123
125
126
126
126
126
126
126
128
129
129
130
130
130
130
130
131
130
131
131
131
130
129
129
129
129
129
130
130
130
130
130
130
131
131
131
131
131
131
132
133
133
134
135
136
137
137
136
135
132
131
129
126
122
117
112
109
107
109
113
118
122
124
126
128
129
131
132
133
133
132
130
129
128
127
127
126
124
121
119
118
119
121
125
127
127
126
126
125
125
126
128
129
129
129
129
129
129
131
132
132
131
131
130
130
130
131
132
132
132
131
131
132
131
132
133
133
134
135
135
135
136
136
137
136
137
139
142
144
148
149
147
143
137
130
120
108
93
82
80
83
95
112
125
135
141
145
147
149
150
146
141
130
119
109
104
104
108
113
117
120
122
124
125
123
122
120
115
113
111
111
113
118
121
124
127
126
126
127
127
128
130
130
130
130
131
130
132
132
132
133
135
137
140
143
145
147
147
145
143
143
141
141
142
143
146
148
151
154
155
158
158
163
165
158
141
109
66
28
22
37
76
121
155
169
172
167
162
158
155
138
115
90
68
65
80
106
131
151
156
156
153
153
149
143
129
109
92
81
84
96
109
125
131
121
117
114
112
122
130
129
124
118
112
111
118
119
120
122
121
125
134
140
141
139
130
122
119
123
128
136
141
139
140
142
144
146
146
139
133
132
137
144
152
156
152
145
139
137
144
155
166
172
175
169
146
125
73
5
1
20
62
138
195
197
197
174
146
126
122
105
75
69
58
74
114
161
178
191
172
144
122
112
106
97
95
86
89
108
138
158
174
162
128
104
82
64
69
92
109
136
158
156
144
131
108
90
92
98
112
135
150
151
147
134
117
108
109
112
123
138
146
150
148
139
125
119
119
125
139
150
150
150
144
135
128
126
128
134
148
151
149
142
137
136
145
151
152
151
151
157
163
173
158
137
64
0
0
22
118
196
246
213
159
120
97
89
95
92
70
78
106
153
187
204
176
130
89
79
88
107
124
123
120
124
142
154
158
142
115
92
92
95
106
113
106
106
120
141
147
144
118
99
89
103
119
138
139
133
124
120
121
123
124
121
126
130
138
140
137
125
116
114
120
133
144
148
141
133
127
128
132
133
130
129
135
142
148
143
134
124
122
128
144
154
147
134
128
129
133
144
145
145
147
149
152
154
146
132
122
122
103
55
48
77
127
176
200
172
131
100
82
89
108
118
118
132
141
150
151
144
120
104
99
107
123
139
141
134
129
122
121
124
126
122
121
124
127
131
118
96
93
101
116
139
149
137
123
112
103
106
120
126
128
132
131
126
125
123
119
123
130
135
137
137
130
123
120
122
128
137
142
139
134
129
127
128
132
134
137
140
137
132
129
130
130
136
144
144
140
137
130
128
138
145
145
146
149
150
144
130
108
93
89
101
123
144
151
144
128
112
106
108
116
122
126
129
131
132
130
125
120
118
119
123
128
131
129
125
121
120
122
124
126
126
124
120
119
123
125
124
125
122
116
114
119
124
128
129
125
119
118
122
125
127
126
124
124
126
127
127
125
123
125
129
133
132
129
126
126
127
129
130
131
131
131
130
129
130
130
132
134
135
131
130
130
130
133
140
142
136
130
129
133
140
146
146
142
145
152
147
128
103
79
78
107
144
165
161
138
111
98
104
117
126
129
130
130
132
133
129
120
115
116
123
131
137
134
127
120
119
121
125
128
129
128
126
126
126
125
123
118
116
121
127
129
128
124
120
119
121
124
126
127
127
126
126
125
124
123
123
127
130
133
132
128
124
123
127
131
133
132
128
125
125
129
134
136
133
129
127
129
132
134
133
132
129
129
131
137
141
137
132
131
133
137
143
144
141
142
148
143
108
78
80
105
138
163
162
136
112
106
111
118
124
126
127
132
138
137
129
120
116
118
126
135
136
131
125
122
121
123
126
127
127
127
129
129
128
126
124
124
125
127
128
127
124
121
118
121
130
130
126
126
126
125
126
127
127
127
128
129
129
130
130
129
127
127
128
131
132
132
130
129
130
130
130
131
132
132
132
132
131
130
132
133
133
133
132
132
132
133
134
134
136
137
138
137
138
141
141
131
116
107
107
119
135
144
141
130
121
118
121
125
127
128
129
131
133
132
128
124
122
124
129
133
133
130
127
125
126
127
127
128
128
129
130
130
129
127
126
126
128
127
125
126
127
128
128
127
125
122
123
127
129
129
127
124
124
126
129
130
130
129
128
126
126
127
128
130
130
130
130
129
128
129
129
130
131
132
130
128
127
128
129
130
131
132
133
131
127
126
128
131
134
134
131
129
130
133
136
137
130
119
113
116
125
134
137
132
126
123
123
123
124
125
126
130
131
130
127
123
121
123
127
129
130
129
128
127
127
125
124
125
127
129
130
129
127
126
125
127
128
129
129
128
127
127
127
127
128
128
128
129
129
128
128
127
127
127
128
128
129
129
129
128
127
126
126
128
129
129
129
128
127
126
127
128
128
128
128
127
127
127
126
126
127
129
129
127
126
126
127
127
127
126
126
126
127
128
128
128
126
125
126
127
127
127
127
127
127
127
127
127
126
126
126
128
128
128
127
127
126
126
126
127
128
128
127
127
128
128
127
126
126
126
127
127
127
127
127
127
127
127
128
128
126
126
126
127
128
127
126
126
128
128
128
127
126
125
126
127
128
128
127
125
126
127
127
126
126
127
128
128
128
126
125
126
127
127
127
127
126
127
128
128
126
125
125
126
129
129
128
126
126
125
126
127
127
128
127
126
126
126
127
126
126
127
127
127
127
127
127
126
125
125
127
128
128
127
126
126
127
127
126
125
125
128
129
128
127
126
126
127
127
126
126
127
128
128
127
125
125
126
127
128
128
127
127
126
125
126
127
128
128
128
127
127
127
127
126
127
127
127
127
127
126
126
127
129
129
128
127
126
126
126
127
127
128
127
128
128
129
127
125
125
126
129
129
128
127
126
126
127
128
128
127
127
128
127
127
127
127
127
127
128
128
128
128
128
127
127
126
125
127
129
129
128
127
126
127
128
128
126
126
126
127
128
129
128
127
126
126
126
129
130
129
128
127
127
127
127
127
127
128
128
129
129
127
125
125
127
129
130
129
127
125
125
127
129
130
129
128
127
128
128
127
126
127
129
131
131
129
126
125
125
127
129
130
129
128
128
128
128
127
126
128
129
130
129
128
128
127
128
128
128
128
128
129
129
129
129
128
126
126
127
128
130
130
129
128
128
128
128
128
129
129
129
128
128
128
128
128
129
129
129
127
127
128
128
128
129
128
128
128
128
129
129
128
127
128
128
129
128
129
129
128
128
128
129
128
128
128
128
129
129
129
129
128
127
128
129
129
129
129
128
128
128
128
128
128
128
128
129
129
129
128
127
127
127
128
129
128
128
128
128
129
128
128
127
127
128
129
130
128
127
126
127
128
129
129
128
128
128
128
129
129
128
128
128
128
128
128
128
128
128
128
128
128
129
128
128
128
128
128
129
128
128
127
127
128
129
129
129
128
127
128
128
128
127
127
128
129
129
129
128
127
127
127
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
127
128
128
128
128
127
127
129
127
129
128
127
128
127
128
128
128
127
128
127
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
127
127
127
127
128
128
128
127
127
127
128
128
127
127
127
128
128
128
127
127
127
128
128
128
128
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
127
127
127
128
128
128
127
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
128
128
127
127
127
127
128
127
127
127
127
127
127
128
127
127
128
127
127
128
128
128
128
128
127
127
127
127
128
128
128
128
128
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
127
128
127
127
127
127
128
128
128
128
127
127
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
127
128
128
127
127
127
128
128
128
128
128
128
127
127
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
127
127
128
128
128
128
128
128
127
128
127
127
127
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
128
128
127
127
127
127
128
128
127
127
128
128
127
128
128
128
128
128
128
128
127
127
127
127
128
128
128
128
127
127
127
128
127
127
127
127
127
127
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
127
127
128
128
127
127
127
127
128
128
127
127
127
128
127
128
128
128
128
128
127
127
127
127
127
128
127
127
128
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
128
128
127
127
128
128
127
128
128
128
127
128
127
127
128
128
128
127
127
127
127
128
128
128
128
128
128
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
128
128
128
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
127
127
128
128
128
127
127
127
127
127
127
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
128
128
127
127
128
128
127
128
128
127
127
128
128
128
128
128
128
128
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
127
126
126
127
127
126
127
127
126
126
126
126
126
126
127
126
126
126
126
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
125
126
126
126
126
125
125
126
126
126
126
126
126
126
126
126
125
126
126
126
126
126
126
126
126
127
127
127
126
127
126
126
127
127
127
127
127
127
126
126
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
129
129
129
129
129
129
130
130
130
131
131
131
131
131
132
132
132
132
133
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
132
132
133
132
132
131
131
131
131
131
130
130
130
130
129
129
129
129
129
128
128
128
128
128
128
128
128
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
125
125
125
125
125
125
125
125
125
125
124
124
124
124
123
123
123
123
123
123
122
122
122
122
123
123
122
122
122
122
122
123
123
123
123
123
123
123
123
124
124
124
124
124
124
125
125
126
126
126
126
126
127
127
127
128
128
128
128
129
129
129
129
129
129
129
129
130
130
131
131
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
130
130
130
130
130
130
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
128
128
128
128
128
127
128
128
128
128
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
126
126
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
131
131
131
131
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
129
129
129
129
129
129
129
129
129
129
128
128
128
129
129
129
128
128
128
128
128
128
128
129
129
128
128
128
129
129
129
129
128
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
127
127
128
127
128
128
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
124
124
124
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
128
128
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
130
130
130
130
129
130
130
130
130
130
130
130
130
130
130
130
130
129
130
130
129
129
129
129
129
129
129
129
129
129
129
129
128
129
129
129
129
128
128
128
128
128
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
127
127
126
127
127
126
126
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
125
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
127
127
128
128
128
128
128
129
129
129
129
129
129
129
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
132
131
131
132
132
132
132
132
132
132
132
132
132
132
131
132
132
132
131
132
132
131
132
131
131
131
131
131
131
131
131
131
131
130
130
130
130
130
130
130
130
130
129
129
129
129
129
128
128
128
128
128
128
128
128
127
127
127
127
127
128
127
127
127
127
127
127
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
126
126
126
126
126
127
126
126
126
126
126
126
126
126
126
127
126
126
126
126
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
127
127
127
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
127
126
126
126
126
126
127
126
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
126
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
127
127
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
130
130
130
129
130
130
129
130
130
130
129
130
130
130
129
130
130
129
130
130
130
130
130
130
130
130
130
130
129
129
130
129
129
130
130
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
126
126
126
127
127
126
126
126
126
126
126
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
129
128
128
128
128
129
129
129
129
129
129
129
128
129
129
129
128
128
128
128
128
128
129
128
128
128
128
128
129
128
128
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
128
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
128
127
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
127
128
127
127
127
128
128
128
128
128
128
128
127
127
127
128
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
127
127
127
127
128
128
127
127
128
127
127
127
128
127
127
128
127
127
128
127
127
128
128
127
128
127
127
127
127
127
128
128
128
128
128
128
128
128
127
128
127
127
127
127
127
128
127
127
127
128
128
127
127
128
127
127
128
128
127
128
128
128
128
128
128
127
128
127
127
127
127
127
127
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
128
128
128
128
128
128
127
127
127
128
127
128
128
127
127
127
127
127
128
127
127
128
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
128
127
127
128
128
128
128
127
127
128
128
128
128
127
127
127
127
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
128
127
128
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
127
128
128
127
128
128
128
128
128
127
127
127
128
128
127
128
127
127
127
127
127
127
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
127
128
128
127
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
128
127
127
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
127
127
128
128
128
128
128
128
128
127
128
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
