pop2
298
141
180
181
167
222
202
154
136
126
139
183
149
129
185
137
133
149
188
197
203
129
154
173
149
183
127
166
128
203
156
158
136
124
146
171
146
181
148
140
164
152
156
127
145
161
208
168
131
212
168
140
165
132
152
132
158
135
140
183
171
151
141
144
136
159
165
178
126
175
163
135
140
172
174
177
152
144
136
173
175
136
165
168
184
141
180
209
153
193
126
166
150
126
292
125
128
196
170
137
145
145
135
203
264
290
157
150
157
307
162
142
194
156
130
161
141
131
165
183
174
261
163
169
131
193
155
161
142
149
138
192
155
240
146
157
154
256
255
134
156
140
190
135
146
133
136
191
161
203
184
240
177
171
170
205
231
133
127
156
137
144
169
170
172
143
265
156
163
126
189
158
175
139
184
158
128
251
162
145
176
184
152
167
171
129
152
139
159
278
224
275
136
167
157
167
149
149
173
145
136
245
158
252
136
147
146
150
141
125
128
124
182
144
151
141
127
138
165
154
179
212
134
207
143
184
172
193
149
157
145
174
150
209
135
175
178
145
174
201
138
156
166
144
165
136
192
137
153
181
223
154
153
141
199
208
136
149
145
176
215
138
141
138
166
146
154
153
216
135
231
149
179
238
165
175
141
131
125
163
164
144
172
244
178
131
160
256
270
160
153
235
127
173
268
128
137
168
181
179
156
135
135
149
132
201
206
131
154
195
165
137
127
183
153
266
163
278
181
138
152
234
131
149
131
191
149
134
204
169
134
125
189
175
211
164
193
186
171
171
137
174
170
125
167
190
166
196
220
238
180
193
130
140
150
153
144
254
167
181
219
143
248
255
146
221
153
147
156
144
143
168
133
140
191
143
335
180
170
180
186
174
141
132
176
222
180
206
195
166
230
158
130
129
237
129
127
150
205
185
160
147
259
134
152
170
230
166
136
225
144
208
164
141
140
197
164
209
179
172
189
250
171
129
203
220
177
160
220
272
139
150
208
150
150
144
185
143
197
140
130
222
167
179
140
128
216
161
152
174
197
195
156
135
147
137
132
198
130
149
205
147
279
173
230
180
233
133
134
142
141
126
196
140
129
203
218
181
172
132
148
155
151
140
131
182
147
132
171
166
158
175
131
188
160
151
167
172
154
128
145
214
163
146
182
159
135
147
174
163
212
138
137
189
173
164
140
149
128
201
177
213
156
163
174
194
126
174
134
149
152
127
147
148
166
169
152
272
140
207
136
153
168
195
222
198
140
136
182
212
181
138
153
141
126
161
218
148
153
132
173
146
142
157
151
140
139
206
167
158
148
160
196
160
132
149
178
138
144
130
175
131
229
129
141
142
259
175
144
157
140
155
172
134
155
158
149
149
133
139
127
162
155
135
157
193
183
130
169
146
131
152
189
133
151
147
140
132
154
165
128
139
138
147
217
143
138
226
130
154
160
170
204
175
155
155
135
196
148
156
171
210
129
214
199
195
150
221
127
196
126
139
132
163
251
182
235
132
129
245
167
149
206
191
205
153
151
205
159
166
138
130
202
171
203
147
136
147
134
144
139
146
150
173
146
136
166
138
239
172
148
171
143
163
154
248
202
247
145
161
183
301
187
205
142
205
147
209
174
156
159
231
195
180
228
184
204
176
182
234
153
195
170
250
134
138
185
217
219
262
160
187
158
170
165
142
134
158
167
230
213
142
140
126
166
136
162
132
147
205
253
146
133
173
125
133
200
226
159
192
138
204
189
135
149
246
187
163
219
174
175
171
162
166
128
235
131
205
182
153
141
142
139
138
166
158
156
174
147
153
170
124
186
217
159
139
156
203
214
155
202
129
340
154
247
208
160
141
169
132
154
146
150
139
307
215
141
137
192
175
166
166
194
208
158
130
221
183
159
187
217
159
154
256
131
134
142
138
138
146
176
128
205
251
146
201
159
132
143
154
208
146
131
150
161
152
237
211
190
133
183
300
182
194
156
174
147
152
239
162
129
125
131
137
184
230
200
208
191
138
191
173
145
136
147
147
126
161
243
136
141
126
127
141
188
138
270
170
133
165
162
188
138
128
153
132
182
158
207
135
158
135
240
155
155
174
189
239
164
147
140
143
129
185
141
149
131
165
224
177
217
169
159
126
147
169
200
135
144
171
244
131
168
165
152
149
176
132
160
165
158
137
142
135
159
128
164
163
153
163
192
150
209
189
136
178
158
147
178
175
181
154
175
142
146
179
148
163
141
159
167
152
152
177
128
155
186
135
145
148
158
206
169
167
153
200
178
140
125
136
213
169
156
127
134
178
193
238
132
214
191
157
158
164
198
150
169
141
223
194
219
204
144
234
131
149
148
131
200
204
145
182
141
209
160
156
159
169
249
167
150
136
142
182
271
126
181
279
127
184
125
171
180
199
194
239
163
170
149
142
206
141
153
151
270
143
184
164
151
159
204
158
202
162
209
159
141
130
146
150
149
152
132
136
156
142
152
158
206
157
135
136
130
208
159
208
247
196
141
185
142
165
194
186
139
132
165
209
162
208
264
169
155
186
162
132
148
148
203
253
172
154
233
162
146
171
209
163
181
156
180
142
193
196
145
154
134
180
129
138
199
141
134
177
136
169
223
139
128
142
150
171
136
237
143
148
152
247
131
138
142
133
255
184
143
188
161
134
148
137
183
154
136
137
134
141
164
137
135
137
184
140
139
165
136
158
143
198
141
187
159
169
130
131
239
164
169
149
136
205
181
202
125
173
160
141
152
163
193
197
193
178
207
200
150
144
181
129
143
160
193
134
181
205
126
186
149
179
199
162
138
173
167
149
149
141
188
182
189
136
157
142
148
278
166
131
158
145
182
190
156
127
155
133
180
140
149
386
188
139
150
155
147
147
144
131
159
158
156
201
203
210
169
179
200
185
188
155
147
195
173
203
160
203
167
137
164
167
136
173
151
165
136
139
145
140
160
133
199
130
149
136
189
369
189
151
156
148
153
162
189
179
147
178
205
170
127
125
145
146
153
155
143
127
132
157
130
166
173
196
211
230
169
173
132
137
165
132
150
144
153
199
175
172
142
218
157
181
161
136
145
155
159
136
169
142
140
197
136
170
157
142
247
255
150
142
171
126
163
172
137
144
186
195
330
173
165
129
127
135
142
213
155
137
160
239
212
196
250
165
182
140
159
158
128
183
225
144
141
142
151
178
227
170
255
140
233
150
126
168
141
220
141
234
141
166
196
144
225
139
147
166
172
165
205
189
155
132
171
128
127
150
141
136
158
143
168
128
180
243
130
160
149
151
187
129
144
186
204
150
219
147
126
131
151
144
170
174
250
157
128
172
152
142
146
150
147
163
145
169
172
158
147
152
130
130
193
215
232
158
136
245
148
158
163
217
170
161
173
126
130
128
159
252
157
148
134
149
217
133
182
181
139
142
174
151
141
167
202
129
136
194
131
193
225
140
195
209
177
160
145
129
126
210
138
197
185
209
184
162
141
176
124
253
223
155
176
284
177
263
207
134
147
170
130
176
142
156
193
129
190
153
177
146
147
178
148
149
156
133
164
137
179
146
190
144
133
145
146
157
147
137
327
224
132
152
162
183
212
220
144
178
126
205
205
148
175
167
180
165
174
140
215
148
167
201
230
132
202
144
154
127
196
161
235
194
166
167
191
149
149
144
198
163
148
133
193
142
161
137
191
131
128
125
156
130
167
221
235
138
161
186
146
157
138
210
140
159
157
143
177
172
162
148
233
147
136
139
291
150
134
181
164
158
147
209
163
124
174
181
153
134
139
166
200
223
179
146
140
132
149
209
138
140
188
145
183
132
202
133
134
227
159
250
126
166
194
148
242
209
149
162
152
163
137
168
154
128
184
169
241
234
171
154
143
174
136
188
142
137
169
199
245
131
168
174
136
159
169
130
156
169
172
150
155
136
147
134
138
151
191
162
130
167
155
137
168
148
162
144
144
179
178
128
141
150
129
132
126
138
181
151
134
145
137
232
146
146
205
167
182
151
132
197
166
158
140
131
232
213
162
135
184
140
134
172
148
141
128
153
125
179
187
142
257
155
157
245
124
221
141
178
141
160
273
243
232
160
131
134
140
133
159
177
125
280
163
156
176
132
231
150
147
141
126
170
180
155
129
162
135
197
155
174
126
199
132
135
152
128
140
136
161
146
162
163
137
144
130
140
200
155
186
131
173
145
182
233
129
166
170
296
162
189
154
136
127
154
139
173
145
168
167
132
155
160
172
176
138
138
186
163
197
126
166
141
136
127
178
421
158
165
175
228
131
145
208
142
180
147
151
151
130
143
139
192
244
173
156
238
217
147
149
143
177
132
196
177
207
159
144
142
245
197
182
130
183
172
142
151
225
140
160
145
155
145
193
146
145
125
138
148
128
132
140
164
132
168
178
192
182
148
213
129
127
186
128
188
169
222
143
145
150
173
157
263
199
132
222
135
161
139
157
171
173
203
167
224
193
228
143
139
186
139
127
158
153
175
126
140
250
175
201
135
138
156
243
138
151
189
152
130
133
154
139
138
131
146
136
131
154
185
151
161
188
157
140
177
154
157
244
141
192
156
143
172
314
155
205
149
129
156
187
129
128
198
132
199
150
174
161
146
124
160
146
225
128
214
192
132
129
147
168
181
183
152
141
133
164
151
177
161
193
185
159
182
135
144
223
155
129
149
138
147
207
211
127
130
196
158
149
239
224
159
209
150
138
131
139
198
168
170
132
159
147
148
199
145
195
170
135
152
145
150
165
200
143
152
148
176
161
296
165
163
145
170
174
144
133
149
131
177
137
191
285
138
162
199
127
152
188
153
138
162
138
183
154
126
215
164
165
155
159
148
143
162
159
140
281
129
148
176
153
208
128
219
255
126
164
142
225
190
140
162
131
214
172
126
225
158
220
157
188
176
161
173
126
281
145
140
143
154
165
136
166
126
136
190
133
135
175
126
225
143
127
126
135
152
206
129
233
142
157
180
172
135
223
171
151
157
195
198
139
133
187
233
154
160
141
161
158
239
146
136
139
205
148
179
198
162
173
160
301
149
147
170
142
133
127
169
158
187
200
154
230
181
196
132
141
163
166
169
142
156
215
175
268
134
133
143
142
163
126
158
131
203
154
195
139
146
180
168
199
136
157
146
156
185
167
154
254
274
207
180
127
157
150
171
143
160
142
185
173
145
151
151
298
163
206
190
195
136
183
180
201
153
129
158
200
199
223
143
179
158
131
166
162
146
127
125
272
129
138
157
188
134
143
158
180
144
167
158
184
191
126
153
147
215
145
285
193
130
165
140
180
160
235
133
127
133
185
171
182
171
138
234
203
262
127
152
198
180
125
147
138
199
164
136
165
196
154
159
170
138
145
145
126
132
137
161
206
169
133
143
198
128
175
155
132
131
176
165
177
132
236
153
194
141
145
161
149
134
125
155
138
139
145
159
161
145
157
225
192
217
142
209
126
135
157
151
226
132
160
131
195
148
201
133
160
203
210
241
156
126
205
152
207
179
145
252
133
131
164
140
144
173
163
166
159
172
130
135
151
174
132
192
152
176
214
221
143
175
174
147
232
143
141
146
184
160
163
309
153
146
129
213
170
160
262
196
245
172
141
139
156
198
145
182
168
155
126
190
138
259
196
128
141
139
132
136
136
157
136
201
242
176
177
197
159
144
140
249
219
154
174
227
165
222
131
137
210
156
137
229
159
128
155
159
151
131
147
156
163
175
127
146
127
152
131
126
153
197
158
139
149
138
161
159
151
132
157
171
228
193
194
217
185
158
138
145
187
211
172
131
141
179
171
133
128
196
142
193
125
159
188
154
161
187
157
172
155
172
163
167
172
134
139
131
162
204
160
158
185
173
155
166
170
189
140
149
131
136
176
215
147
155
145
137
152
136
169
204
139
168
157
165
136
159
151
134
128
188
138
255
165
177
162
134
145
179
140
154
236
154
150
181
203
146
125
145
192
159
176
143
257
147
130
131
125
128
129
132
194
162
140
158
150
204
187
172
267
141
163
151
189
197
139
157
145
191
187
157
171
231
135
193
140
126
138
164
144
178
212
156
160
168
154
212
245
151
181
132
192
192
135
155
151
157
182
148
142
194
164
160
349
129
161
178
160
148
178
145
210
162
190
135
161
152
156
176
134
144
137
131
161
189
185
131
186
187
164
142
160
157
128
130
172
205
307
139
182
211
205
140
145
182
156
179
130
256
138
189
127
162
131
131
166
177
149
153
139
152
175
179
136
173
137
141
167
149
140
137
157
203
131
229
135
133
229
168
126
163
131
180
137
205
202
197
128
243
135
187
173
196
149
149
164
161
217
159
168
174
155
130
129
130
145
177
154
167
134
147
150
213
212
229
139
135
250
150
197
193
141
215
191
172
192
213
176
187
168
138
136
158
167
146
141
182
173
163
147
202
242
143
171
124
145
143
133
139
149
124
172
163
213
171
151
158
153
140
147
143
181
160
166
157
139
151
162
156
165
169
136
155
148
149
130
158
168
130
159
141
238
192
143
154
137
127
146
154
130
135
135
136
185
128
142
138
134
163
145
161
163
235
139
139
151
138
163
133
133
158
197
127
154
178
147
230
169
209
141
222
173
138
209
216
136
129
158
156
247
178
170
144
181
125
154
141
159
127
170
228
129
230
167
211
132
174
149
164
157
138
260
188
154
143
173
144
211
203
226
209
143
142
155
183
151
174
158
136
159
131
138
195
167
189
135
209
190
149
172
180
199
141
166
137
162
148
187
142
162
170
207
158
145
144
273
212
152
247
126
125
136
145
151
160
141
169
145
168
225
162
152
154
307
190
162
167
139
165
147
181
164
163
149
187
143
149
176
143
192
133
138
135
168
166
149
138
136
162
241
143
142
144
167
203
179
165
154
151
139
163
165
139
196
192
125
176
251
170
132
137
177
231
153
134
133
126
146
148
192
162
184
172
165
181
142
157
132
167
162
130
148
126
180
149
160
175
181
132
125
142
132
186
161
161
206
161
227
151
179
135
176
174
147
201
155
138
188
157
133
185
131
145
151
124
153
201
211
289
197
163
143
136
164
179
212
179
152
171
192
192
191
160
162
205
144
208
178
148
149
130
159
152
136
132
140
125
147
131
182
187
137
200
141
136
145
161
161
134
139
140
157
209
152
146
129
124
198
137
215
302
143
149
147
156
151
143
189
182
159
134
160
167
179
143
134
246
157
207
125
237
163
165
134
131
197
154
125
158
163
149
162
130
146
147
149
160
171
179
141
210
142
299
143
160
180
168
157
190
156
142
178
177
149
145
169
298
201
135
254
224
135
127
243
159
136
135
161
148
144
165
269
131
158
132
131
191
152
193
141
163
160
177
160
129
169
192
179
178
147
243
128
170
231
180
196
152
197
141
144
175
156
142
169
139
214
238
169
142
240
177
163
162
179
150
223
135
139
157
138
168
151
215
179
136
166
143
151
195
169
149
164
141
140
149
230
169
181
140
146
166
163
180
177
170
136
157
154
160
153
196
151
196
130
151
215
151
143
176
167
209
199
141
169
135
148
207
164
207
147
164
181
161
125
167
149
231
148
177
173
129
126
254
143
138
135
138
200
198
177
144
177
166
162
181
131
134
179
255
266
151
140
164
137
164
185
151
195
156
255
153
150
180
143
148
188
137
158
163
146
152
197
160
145
184
135
167
135
127
184
201
128
137
172
285
133
164
176
159
184
160
133
153
155
148
144
185
141
191
147
165
154
131
130
188
145
157
155
133
151
143
124
139
172
174
168
163
134
197
140
196
147
135
141
149
149
159
174
147
229
177
198
252
162
128
134
150
181
137
153
148
179
190
148
148
179
149
154
152
137
206
226
219
156
131
143
151
143
178
171
179
257
191
134
149
159
136
145
168
161
172
196
143
166
295
197
145
138
154
229
178
128
173
196
133
164
162
198
126
135
135
139
144
170
137
259
189
169
185
185
171
177
148
135
147
140
190
244
135
163
147
262
162
154
201
146
241
162
141
145
158
144
137
163
133
143
126
143
180
209
178
127
170
202
161
234
172
143
192
164
195
230
132
242
172
157
182
199
156
217
157
211
150
125
143
227
126
251
182
202
196
197
150
155
191
253
129
154
143
181
201
132
232
190
186
232
133
209
130
198
182
151
238
182
138
135
161
148
176
246
227
174
156
139
156
147
160
175
203
164
176
128
144
164
136
156
162
143
230
171
132
129
165
150
319
137
150
166
173
147
249
159
186
276
155
135
126
135
173
274
180
138
152
178
170
148
206
239
135
142
131
154
167
132
138
131
132
157
198
142
202
214
206
131
239
159
276
130
168
144
189
135
239
137
176
157
177
174
163
147
171
142
127
207
168
150
166
211
133
164
137
150
134
145
159
127
166
159
126
169
198
251
160
130
153
172
326
174
213
197
227
147
173
147
179
139
167
151
209
158
212
150
152
170
159
206
134
131
162
187
189
155
127
144
127
148
134
126
175
160
134
141
196
146
142
166
208
144
136
313
168
126
183
161
203
160
159
184
138
154
129
153
186
150
144
150
189
128
141
127
159
138
164
184
128
151
149
168
190
138
174
182
243
130
144
159
144
149
147
172
132
142
158
166
153
194
219
152
186
156
142
146
208
184
171
143
170
170
162
139
162
135
172
160
127
236
135
254
177
129
188
135
127
129
169
157
226
180
187
143
166
203
165
130
187
150
184
175
176
147
156
255
219
159
132
129
172
145
125
132
174
132
215
209
138
130
280
131
179
166
181
185
190
152
131
130
182
137
204
181
129
157
150
229
185
128
130
148
167
209
172
133
149
129
165
189
150
164
136
140
162
174
145
227
233
189
142
160
136
160
158
135
168
130
178
179
152
163
133
153
185
189
191
172
151
146
165
130
222
158
142
143
200
153
135
136
155
158
134
234
130
148
222
148
131
165
142
197
131
178
245
198
184
188
177
169
188
147
237
179
191
163
250
193
137
143
167
215
160
198
146
240
263
136
208
184
186
294
173
163
142
140
288
221
160
229
162
200
135
125
130
201
207
199
173
203
213
147
180
179
181
151
148
130
132
193
153
244
159
132
156
190
147
129
145
152
144
135
156
151
152
132
134
178
167
183
167
129
159
198
207
222
146
163
193
156
144
195
133
258
159
205
246
126
210
133
202
242
136
148
168
165
211
194
170
169
131
138
199
243
140
130
187
139
141
137
228
182
162
135
160
136
162
174
176
221
179
184
139
157
137
137
191
189
162
136
131
148
245
129
293
136
142
183
212
148
144
155
180
190
136
158
130
192
136
143
156
143
143
215
184
146
153
153
163
125
172
215
156
204
176
176
157
140
127
198
163
157
158
164
132
167
204
144
139
222
154
226
179
166
141
138
250
202
139
202
160
260
164
323
143
159
138
129
195
137
142
142
188
145
165
174
142
147
143
219
161
166
186
145
150
252
143
278
153
169
169
175
140
151
137
185
168
182
155
175
125
275
145
140
212
150
134
170
152
137
157
161
191
140
128
174
148
164
128
211
153
131
148
141
126
144
172
161
140
132
138
183
241
140
135
155
168
161
133
170
171
236
174
173
143
323
151
172
146
155
223
231
129
135
149
139
183
161
141
168
127
170
237
145
148
153
157
209
170
159
129
223
157
193
162
156
125
166
127
286
166
186
276
169
189
216
192
176
131
183
185
165
140
158
130
180
144
146
142
260
168
131
178
152
209
187
148
182
181
182
142
136
125
167
166
150
154
159
171
147
150
178
197
210
135
166
171
135
140
173
161
151
229
167
186
163
241
131
170
199
164
259
137
209
160
155
130
194
164
190
202
161
159
160
136
140
152
147
176
156
154
153
152
254
128
185
160
150
179
156
130
153
142
214
201
237
143
164
185
141
163
186
131
151
150
147
129
154
152
149
141
153
184
137
170
232
225
175
138
138
131
195
171
294
174
147
149
144
153
147
203
192
144
163
176
159
172
165
159
196
143
166
196
207
136
155
160
139
186
148
141
133
197
190
166
173
138
154
234
150
171
272
132
145
155
194
136
185
180
136
183
178
142
142
128
144
179
147
244
177
146
153
162
147
195
149
147
189
173
135
129
151
157
169
125
163
154
217
158
153
158
132
139
156
159
137
174
190
144
172
141
153
163
242
169
197
159
138
181
161
166
173
136
148
157
237
151
173
175
163
180
125
172
139
181
159
207
231
206
206
142
163
147
165
178
141
183
159
178
131
137
136
210
232
141
141
131
137
156
141
159
171
125
175
135
195
134
162
161
145
168
211
170
130
126
210
190
153
124
283
144
182
130
125
192
135
146
201
179
182
161
184
179
264
161
148
161
161
151
145
226
131
128
166
141
143
144
127
238
132
185
145
186
246
170
136
135
360
153
172
185
239
145
175
141
160
142
184
132
197
183
144
129
167
166
134
163
206
199
133
141
137
191
125
148
205
136
154
193
219
170
130
179
190
197
136
133
139
133
147
285
233
138
156
157
144
153
192
128
202
212
156
130
126
136
162
269
134
133
181
141
154
126
127
144
189
213
246
169
131
135
266
232
220
148
135
141
164
146
132
163
133
161
168
189
146
130
174
211
152
132
229
195
141
224
240
191
152
153
182
150
206
159
164
154
170
141
137
157
203
137
176
159
135
186
158
132
130
125
133
135
155
174
177
161
154
139
142
150
197
133
151
151
192
174
162
169
243
146
142
146
267
197
156
203
169
152
171
156
144
140
175
152
194
197
181
125
174
164
175
155
167
161
266
125
206
151
181
141
133
135
189
188
139
184
142
159
229
125
229
136
150
141
132
152
129
156
204
186
159
165
151
147
165
160
136
125
130
149
148
198
155
146
164
151
185
139
205
148
129
151
128
144
150
153
126
193
131
197
126
174
145
160
158
132
147
192
171
160
257
200
182
161
172
144
152
146
139
147
144
172
170
171
194
145
173
138
138
166
147
296
184
149
186
155
149
186
130
168
166
133
181
162
181
157
153
139
149
180
150
129
173
162
159
137
134
172
172
136
158
183
142
154
155
129
200
159
176
139
164
138
126
161
173
188
181
144
206
147
190
142
156
243
153
167
131
241
127
178
188
186
132
140
230
161
171
168
150
147
173
235
135
147
138
149
145
128
181
140
165
161
148
178
131
156
177
142
167
141
145
146
214
136
138
139
126
131
142
171
160
190
196
166
196
127
126
226
150
165
154
146
143
148
158
172
157
171
327
168
144
167
235
163
133
145
155
157
143
167
142
160
273
160
144
166
215
130
156
169
174
178
179
216
133
146
135
150
250
140
146
184
192
138
197
239
217
137
153
164
154
154
288
151
162
138
126
164
158
245
141
160
140
206
172
168
157
259
164
251
133
132
138
164
131
144
170
235
186
136
133
169
201
155
143
161
136
204
156
139
213
137
149
269
159
125
131
134
169
139
144
145
144
167
130
153
196
184
204
187
130
138
276
234
149
134
185
177
196
181
218
164
134
142
157
143
162
152
178
162
158
146
132
144
215
153
129
168
194
163
137
257
146
136
136
129
203
141
183
195
142
181
240
174
204
162
149
151
169
159
146
133
145
144
268
183
166
199
148
158
157
235
146
159
151
142
133
223
212
141
177
182
178
191
174
177
131
134
136
215
141
185
301
150
152
291
144
162
148
128
144
134
144
178
142
141
185
134
140
160
131
171
147
163
243
152
131
248
137
129
217
148
125
217
131
143
150
203
171
184
203
170
213
140
147
150
202
256
129
174
207
160
161
275
130
188
151
141
161
187
171
147
207
181
139
138
148
179
211
182
143
203
143
157
286
182
209
176
196
158
146
140
150
216
170
140
160
142
160
189
199
168
261
226
197
194
144
141
154
252
152
193
129
280
139
256
169
264
159
173
167
217
152
125
127
204
219
148
145
137
180
140
183
153
128
214
142
169
220
125
170
197
151
300
189
203
169
138
149
161
191
157
187
156
163
183
143
125
138
136
140
208
159
207
146
147
221
172
150
153
188
169
150
149
162
129
163
152
192
199
134
139
218
135
136
141
176
160
162
180
182
197
130
147
168
135
155
184
223
214
167
156
127
151
156
192
227
152
174
133
125
131
138
125
138
160
150
152
214
137
131
151
146
145
135
189
186
164
182
212
143
162
131
152
232
141
146
175
160
179
234
143
144
146
256
166
171
182
195
161
149
153
149
172
142
148
150
138
181
166
165
125
193
126
144
138
172
141
184
143
170
185
125
186
167
187
160
189
220
148
139
170
189
206
135
172
228
153
177
161
180
128
180
145
145
176
126
148
137
146
137
139
159
182
200
176
156
132
152
136
235
183
213
161
251
154
161
192
261
226
130
255
149
129
132
219
238
190
137
174
169
134
176
137
176
129
141
126
163
149
266
211
180
133
187
152
170
164
170
130
219
156
146
132
163
197
150
228
195
154
153
153
196
182
175
220
134
167
187
168
134
157
203
222
166
145
195
163
152
159
162
127
133
163
186
128
129
172
198
176
226
127
164
205
140
142
173
143
162
177
188
152
135
131
153
128
199
190
212
160
216
191
147
212
137
137
126
125
143
137
178
153
168
172
194
148
189
138
162
150
157
160
129
173
145
178
130
149
158
132
176
188
240
199
128
167
276
130
129
200
159
147
133
191
171
220
143
135
149
125
182
189
217
141
170
183
143
140
137
129
137
170
214
138
227
138
165
141
139
144
228
128
188
176
136
182
201
129
136
134
235
310
289
158
148
129
148
181
193
128
186
148
185
126
180
184
163
155
124
154
170
166
153
146
149
252
163
183
158
127
161
149
157
139
178
233
210
134
137
205
143
136
169
149
139
131
144
249
149
148
188
202
141
131
160
147
177
134
152
168
228
141
336
135
167
174
133
151
139
165
167
155
178
146
126
134
176
147
150
165
212
149
148
146
212
140
135
178
141
156
189
177
209
201
173
129
155
149
173
145
187
153
185
135
125
139
157
182
155
204
168
206
140
200
238
154
167
178
217
162
170
154
161
139
174
138
177
158
161
177
131
158
154
140
162
197
296
178
127
190
143
145
158
145
229
158
159
214
131
174
153
176
275
189
138
166
182
158
146
184
176
173
220
164
193
141
137
126
166
243
128
171
146
174
129
145
252
192
182
154
137
142
257
148
135
180
131
203
199
145
131
178
224
147
136
255
230
125
133
197
143
166
170
144
180
162
258
257
160
175
139
230
328
203
223
164
198
157
195
161
244
199
152
159
143
130
136
158
148
224
167
164
147
151
136
195
152
131
126
176
204
177
128
157
136
188
164
139
127
142
141
180
142
155
153
127
133
202
131
201
161
210
138
209
145
157
131
174
151
176
133
224
135
137
138
208
161
136
130
166
194
142
141
166
150
161
218
145
180
128
139
196
147
194
155
223
217
135
139
185
153
150
161
132
133
163
153
181
188
144
169
139
143
179
130
174
146
236
142
132
216
230
278
136
145
186
178
136
171
195
178
158
202
130
141
155
130
152
181
198
226
127
169
130
174
158
153
141
147
145
137
128
208
148
176
139
139
190
198
131
215
164
209
152
189
148
180
147
170
147
293
162
148
165
139
178
141
147
163
133
142
266
147
191
167
198
179
167
140
129
152
161
201
170
132
151
145
180
168
186
182
132
155
249
157
212
146
147
132
145
135
147
154
143
189
134
154
131
188
212
133
144
147
235
159
129
239
140
249
132
150
230
125
127
171
166
159
149
140
164
132
129
153
131
150
144
155
228
127
154
177
152
194
152
135
181
163
126
166
130
153
127
136
147
179
146
204
224
135
181
142
181
174
124
129
171
179
127
127
124
136
129
145
171
142
227
143
189
167
150
157
184
143
139
243
129
151
143
169
142
169
135
150
199
177
253
145
185
144
132
173
127
170
162
159
172
135
165
191
153
139
166
173
142
139
175
187
134
147
176
160
196
186
135
161
178
181
133
167
137
160
151
158
157
140
163
217
168
314
162
147
181
136
314
163
199
176
128
150
155
202
238
161
239
166
139
139
131
153
125
139
176
258
206
154
196
298
217
169
253
153
178
178
130
228
157
167
204
138
193
160
144
133
146
246
258
127
212
163
168
253
167
184
135
206
147
183
153
178
125
143
179
140
140
137
160
223
146
151
203
193
254
165
141
193
177
151
126
203
194
157
187
192
146
177
192
225
128
253
189
163
173
195
189
160
167
300
181
155
127
144
131
151
169
170
151
146
126
172
197
215
181
154
149
271
184
218
180
157
237
138
225
161
222
191
173
138
165
155
165
145
144
218
175
237
148
175
135
142
145
181
153
151
148
144
186
158
184
203
216
159
142
135
129
149
131
145
192
207
141
250
171
202
132
133
158
180
193
128
144
138
164
165
141
150
248
146
174
234
159
132
138
196
154
141
136
147
156
164
158
156
165
189
175
149
133
177
158
131
215
152
163
161
153
165
139
132
208
165
204
149
233
147
215
187
160
156
161
148
156
143
195
200
149
189
174
140
146
155
135
194
128
126
150
164
141
147
216
130
245
145
174
132
131
136
159
181
150
166
222
132
282
147
143
139
159
127
144
141
135
188
171
168
196
202
133
132
220
173
137
128
143
139
152
154
153
251
142
146
152
248
154
179
158
165
160
147
153
182
140
129
156
132
141
139
141
231
135
165
146
208
137
209
146
147
201
184
139
241
145
129
135
227
152
158
138
135
165
189
149
141
183
127
160
192
134
221
157
159
153
132
180
147
160
165
169
188
148
141
172
165
127
187
149
177
132
173
166
127
132
128
130
251
175
221
151
128
199
154
162
140
167
143
138
137
126
166
134
162
135
236
140
161
149
133
143
169
153
186
183
196
126
144
200
163
173
137
139
174
129
211
144
145
199
129
147
271
197
224
261
183
158
176
192
127
229
169
151
191
232
234
170
266
187
222
230
155
139
213
173
128
156
153
201
195
226
216
176
143
166
163
131
151
187
133
173
219
191
148
133
138
157
138
126
136
235
136
155
164
155
160
169
136
173
183
151
145
161
158
136
154
134
172
176
134
131
125
166
169
148
150
148
131
165
181
143
156
133
179
137
199
159
140
133
136
139
168
170
159
151
173
197
145
135
166
161
133
174
139
125
138
214
164
168
139
143
128
168
179
157
166
161
178
165
193
161
130
158
149
156
164
193
133
138
179
132
136
139
140
145
134
163
218
142
158
143
127
141
144
130
189
232
165
192
156
137
143
146
220
210
152
166
136
176
155
132
147
132
135
194
167
233
154
250
140
152
133
149
132
201
133
130
128
210
153
168
151
283
200
193
147
193
142
163
184
165
156
157
160
152
242
128
187
131
139
160
149
175
189
145
128
185
154
131
125
171
144
128
135
128
124
217
131
182
144
186
172
164
196
157
141
141
157
219
171
164
137
150
158
296
173
167
224
157
138
126
136
202
139
224
155
180
171
181
140
138
153
171
165
160
148
188
309
133
166
206
150
206
177
159
144
162
236
206
174
169
150
157
152
195
196
169
154
170
157
126
213
251
172
129
146
186
193
152
163
169
158
146
159
128
292
172
142
168
268
139
162
180
149
146
155
133
148
128
140
130
226
132
137
157
135
149
154
132
144
126
164
127
166
149
156
162
138
175
130
139
149
135
221
139
142
216
162
147
194
233
148
197
148
139
186
133
173
170
212
130
148
188
147
143
139
169
186
170
253
230
137
167
129
249
215
137
129
204
188
129
186
187
138
145
155
148
171
163
161
188
130
150
166
189
142
129
142
193
165
187
209
193
149
148
127
142
184
142
181
178
160
136
196
197
149
173
161
155
158
139
146
154
186
150
181
128
211
162
161
140
133
203
182
196
213
151
145
178
160
159
128
130
145
145
140
180
175
243
149
195
165
252
171
144
162
134
150
129
171
152
137
179
156
147
124
279
147
175
215
220
139
251
143
144
140
176
159
237
167
147
186
181
251
190
130
136
160
134
160
164
147
134
141
164
166
164
140
192
167
187
146
134
129
196
126
149
163
141
298
143
178
162
144
246
139
191
183
138
133
205
147
141
131
141
127
284
226
134
148
201
210
157
136
127
155
136
191
191
162
154
153
150
168
263
201
149
158
138
133
188
140
214
129
152
194
134
134
168
246
141
170
139
128
212
144
224
138
132
184
170
146
140
131
147
291
136
127
219
158
172
152
145
131
155
147
147
143
137
187
139
141
159
184
126
126
145
165
151
180
186
182
146
244
145
218
130
207
139
144
131
146
163
178
163
140
155
165
203
152
146
215
210
144
149
167
187
163
178
157
171
142
183
170
194
130
134
133
167
170
184
159
136
152
196
126
151
160
164
198
137
175
203
198
160
155
130
148
172
152
136
178
142
148
184
125
145
134
136
127
137
171
225
203
139
179
124
161
146
154
179
147
226
182
166
162
169
158
193
159
129
127
161
131
134
153
176
158
198
131
180
168
246
218
172
201
168
185
130
151
210
180
154
149
138
142
177
149
221
143
245
172
147
145
151
166
139
212
141
154
199
157
148
136
136
188
193
136
132
127
173
146
227
138
156
152
199
174
210
151
143
135
150
168
173
238
141
145
165
152
185
147
175
142
160
231
185
167
138
133
138
199
143
147
201
127
151
161
236
181
140
168
143
190
212
160
137
213
225
283
156
136
163
137
206
211
130
156
129
234
188
136
180
166
165
268
131
141
158
133
179
136
200
182
165
145
168
183
260
138
133
141
188
152
153
159
141
209
178
136
128
155
170
150
138
203
215
126
284
136
172
135
156
145
160
158
217
141
195
190
166
153
143
128
253
195
139
141
191
150
149
174
185
161
169
159
150
136
146
159
141
173
184
153
130
203
133
136
138
161
157
146
144
146
172
163
127
271
146
157
165
132
165
142
141
265
188
155
173
144
201
219
269
167
136
200
151
210
158
136
165
250
148
167
127
140
143
279
129
142
190
162
240
295
141
162
149
151
136
130
151
127
142
163
131
162
159
146
182
191
125
215
152
124
179
156
167
184
209
154
169
148
137
141
164
167
148
259
129
129
213
145
173
131
141
180
141
193
204
133
155
159
168
255
189
234
153
162
127
185
219
199
162
152
187
199
162
132
134
132
150
158
241
214
211
129
128
245
145
181
146
147
207
199
139
145
152
143
225
258
184
186
224
158
179
144
155
133
154
196
146
185
142
155
157
227
137
152
137
149
134
265
132
146
141
157
243
146
129
207
215
140
168
139
153
144
128
136
131
162
207
163
173
160
179
129
157
132
145
164
136
225
151
207
142
155
246
163
131
145
164
148
137
166
145
185
172
207
142
148
136
126
153
294
161
149
128
309
158
173
163
218
144
150
169
180
187
125
194
148
149
180
173
155
133
218
260
172
179
144
142
207
128
135
172
141
199
142
159
147
202
129
168
195
173
132
135
230
127
233
171
204
160
176
174
155
169
137
283
166
173
151
186
143
130
149
145
176
158
265
142
184
165
147
188
185
151
163
160
146
129
132
173
154
134
243
167
205
144
157
153
181
203
300
169
143
137
159
216
155
126
153
154
153
184
240
195
211
129
183
133
148
134
144
167
143
128
174
167
147
192
130
146
139
144
181
170
169
178
130
148
145
134
132
202
192
184
147
174
163
178
176
127
184
128
176
138
140
165
131
182
161
154
128
163
148
155
185
159
139
180
139
176
133
152
168
191
137
157
194
253
176
134
126
233
182
152
174
162
167
151
188
164
145
186
154
148
232
190
168
145
133
159
139
157
155
136
141
153
189
150
205
177
192
132
158
129
200
204
197
153
127
251
158
156
154
211
160
178
141
136
235
136
144
233
205
149
138
208
158
170
147
135
154
211
143
166
159
205
126
143
199
171
133
155
143
165
179
142
158
156
157
156
126
200
142
197
136
192
182
196
180
224
161
144
203
181
162
137
138
156
137
130
129
159
182
149
186
188
178
242
136
149
244
158
176
168
190
141
126
137
156
139
174
135
162
196
139
186
192
137
154
248
149
170
321
143
179
174
187
181
186
211
137
168
213
158
176
199
154
225
134
147
156
135
170
144
174
174
229
195
165
149
177
149
138
170
137
133
344
195
150
194
142
162
125
134
157
139
163
158
170
176
129
148
158
132
149
153
198
127
129
125
131
213
174
178
149
190
137
153
193
146
134
193
150
172
128
147
214
143
127
173
141
191
175
143
146
201
131
124
214
131
148
142
159
146
142
143
167
143
297
128
138
174
138
164
153
128
132
177
194
187
139
171
200
136
179
167
176
151
141
162
245
167
184
139
213
162
166
131
249
148
166
194
143
208
160
129
144
213
132
130
158
145
131
129
138
157
172
145
253
129
185
133
165
184
177
145
180
155
157
161
169
242
244
148
137
169
170
129
167
156
153
151
216
149
176
178
195
223
145
141
153
182
202
212
176
141
195
186
155
136
142
147
134
150
191
260
162
174
142
135
233
209
139
139
149
248
220
150
170
202
258
205
161
146
200
132
181
144
194
171
160
133
140
173
140
124
189
136
145
177
139
134
146
136
160
169
128
210
132
153
128
179
191
157
138
183
152
183
239
173
146
203
159
134
191
215
153
128
131
132
139
155
223
128
181
141
176
141
134
132
144
290
166
176
126
176
158
175
166
156
129
147
164
135
211
190
183
163
154
199
157
210
165
142
137
179
170
158
173
131
190
146
131
197
131
128
145
145
140
143
130
166
150
152
151
139
149
169
151
152
188
148
226
156
199
159
130
151
149
146
140
184
148
158
247
188
258
156
225
150
251
150
163
151
173
147
178
165
150
144
133
140
149
208
186
128
190
133
130
162
142
256
150
138
167
244
138
217
153
179
184
154
141
136
125
167
163
127
171
188
145
159
163
192
222
130
175
155
174
256
129
194
259
250
219
125
134
164
151
160
208
147
188
183
140
143
132
132
165
201
181
242
185
145
191
140
143
147
133
323
135
178
148
165
200
147
137
182
200
146
141
157
148
164
215
248
246
150
125
154
257
139
184
195
183
132
210
140
201
148
179
157
150
182
204
238
147
191
163
209
132
251
184
137
187
211
150
149
160
153
173
171
141
163
129
140
199
131
147
146
132
228
143
139
190
191
139
198
223
126
135
141
145
212
222
206
209
182
183
168
146
146
152
195
211
159
167
173
132
140
157
149
151
253
146
126
159
134
217
151
189
152
148
164
261
158
221
157
284
172
155
451
253
154
126
156
221
155
218
177
146
128
128
150
269
139
151
218
151
154
191
125
213
126
191
150
218
139
138
159
186
144
188
157
132
136
250
138
181
166
136
151
149
146
127
185
222
187
183
159
143
189
158
135
160
151
157
192
147
145
159
159
164
180
144
144
147
140
176
132
161
184
172
145
246
180
274
177
218
199
174
135
130
205
200
147
135
181
180
141
156
144
165
229
163
157
195
150
133
199
193
128
159
162
142
187
131
170
187
196
153
172
156
172
169
162
154
125
281
183
185
258
214
160
127
131
132
151
230
288
133
149
127
137
145
172
127
170
157
365
175
138
222
151
150
166
186
130
134
152
171
132
125
158
158
136
163
129
225
182
136
176
144
219
229
181
168
179
144
176
146
162
159
243
157
178
141
130
136
152
198
186
178
160
260
153
235
147
166
222
149
170
170
132
142
141
168
191
149
178
180
138
140
128
126
214
184
148
146
152
164
141
129
186
187
214
124
169
225
257
168
140
190
144
248
314
143
233
125
158
246
135
166
176
128
154
245
126
172
245
260
133
227
143
215
170
179
153
182
132
151
143
196
136
137
176
177
140
159
128
159
216
148
140
141
235
181
164
170
221
137
130
174
145
172
133
171
141
171
171
146
150
222
134
179
147
143
183
190
156
154
129
195
172
135
132
141
192
172
156
150
150
162
181
160
179
224
200
184
181
136
164
135
142
142
128
154
146
150
133
145
134
180
133
141
130
232
164
191
140
150
196
127
207
288
130
165
143
198
225
141
142
146
154
134
168
186
185
130
136
126
158
297
299
135
180
131
130
153
194
134
221
156
163
176
206
201
202
139
179
137
249
168
143
160
131
173
157
144
156
171
155
141
203
159
132
127
158
182
143
190
201
148
155
172
136
182
147
140
185
223
188
197
208
148
134
142
190
200
235
200
216
212
132
164
147
179
132
182
185
242
170
150
161
164
315
221
219
187
176
153
154
124
156
148
234
250
136
152
138
201
156
138
143
203
166
152
161
137
155
175
157
202
138
146
185
154
152
189
139
170
221
180
153
133
150
153
133
139
134
166
139
154
126
129
168
180
174
209
147
127
153
164
218
131
170
271
176
200
156
210
130
237
172
172
145
144
250
154
310
162
161
167
176
148
145
135
131
194
142
179
191
241
245
229
155
125
162
138
142
159
143
153
133
142
165
142
135
148
211
154
139
126
145
173
165
198
153
200
205
295
145
138
201
139
156
140
131
145
205
133
143
187
158
235
137
228
158
144
164
141
153
150
127
226
155
163
260
131
134
144
189
194
134
178
128
161
145
143
170
192
233
141
129
130
164
197
138
186
142
138
132
146
151
150
128
195
311
207
139
154
169
152
159
152
130
136
179
148
157
126
167
189
176
216
184
163
261
147
134
163
207
144
139
145
138
146
156
134
166
158
127
133
188
304
129
176
169
152
175
184
157
129
149
183
229
141
142
266
132
137
167
171
137
144
171
171
128
152
134
129
144
223
135
141
219
234
185
185
170
142
153
201
250
240
133
144
215
128
147
163
141
172
174
145
172
139
149
202
154
128
246
134
209
181
141
128
247
137
158
144
174
280
226
149
173
137
194
212
132
194
169
149
174
193
135
137
199
168
191
164
134
185
184
216
177
137
177
145
172
128
148
186
135
148
144
174
227
156
138
133
129
167
194
156
133
154
153
156
147
153
172
158
127
169
173
167
144
149
124
134
134
183
137
172
198
128
143
126
132
187
147
266
163
141
151
132
147
130
155
143
175
226
146
126
162
201
130
142
139
155
149
147
163
141
130
248
215
149
217
166
208
203
195
183
183
159
155
185
290
197
185
156
222
200
148
140
134
244
185
137
152
181
135
200
124
160
229
309
161
126
163
248
170
154
131
173
257
211
204
164
138
177
187
173
135
134
173
166
221
258
162
199
185
128
163
209
191
162
134
218
128
133
184
147
156
175
145
171
200
168
206
190
134
142
183
147
138
168
237
170
127
200
183
278
207
157
203
151
168
129
166
164
130
134
157
187
229
156
133
150
232
205
228
210
222
131
134
179
174
144
158
187
131
177
141
258
218
190
141
174
137
169
175
187
228
130
186
142
137
202
168
202
254
310
193
203
138
137
184
145
179
143
223
163
134
125
202
192
202
148
180
187
192
218
194
190
245
140
150
205
154
125
177
215
179
173
168
133
218
249
209
140
226
221
204
130
142
129
166
131
249
174
177
140
253
155
238
156
163
209
154
281
141
174
192
155
189
166
182
178
186
152
139
149
132
135
155
202
136
294
147
148
132
173
158
180
212
186
135
180
225
136
155
152
129
203
141
195
154
148
173
145
125
154
177
232
179
172
143
164
137
140
127
198
173
209
146
246
155
230
149
137
128
170
177
201
193
124
183
138
134
155
235
132
134
189
194
182
153
159
192
135
180
139
167
146
151
183
153
168
145
168
151
149
174
154
199
228
205
328
182
149
188
150
309
132
178
168
144
216
136
175
165
149
139
160
198
299
217
131
164
219
127
169
233
180
186
134
164
216
129
142
194
161
172
133
132
147
140
132
143
129
184
139
137
138
132
141
170
185
148
159
134
181
195
175
142
166
133
129
168
204
172
202
146
135
168
141
150
175
150
146
166
186
128
227
173
139
164
152
163
138
300
138
146
136
148
130
165
172
154
163
165
162
174
145
158
173
153
241
241
183
138
181
167
217
130
126
161
127
138
211
140
132
164
135
204
182
220
173
184
159
146
149
130
175
147
187
181
157
133
145
215
173
130
129
153
131
134
159
262
167
131
157
249
137
166
164
285
205
145
154
188
147
180
138
230
152
159
226
282
156
216
134
165
140
193
182
148
156
168
152
135
130
141
240
140
179
137
162
183
140
134
174
140
142
160
195
146
127
213
147
338
135
187
173
137
143
216
171
230
193
247
136
128
185
137
349
143
148
293
156
170
220
239
141
163
191
166
129
189
129
228
153
166
208
132
162
137
189
131
220
165
232
160
148
257
158
157
264
143
196
141
130
125
141
183
155
133
132
153
136
173
141
156
181
196
139
204
147
201
145
125
166
144
179
182
204
137
178
155
202
136
151
152
211
147
160
150
158
146
203
203
142
134
151
160
242
184
146
159
162
133
134
136
150
249
180
141
151
156
143
211
139
188
161
232
139
160
174
172
180
336
228
140
254
160
161
184
163
158
239
165
163
158
178
176
177
167
217
164
203
143
161
126
216
241
229
142
186
230
193
247
134
236
169
128
173
171
142
137
164
168
138
146
190
157
148
139
154
152
140
247
208
136
175
160
170
145
130
152
131
133
131
133
130
169
152
186
141
174
136
130
130
169
135
130
139
156
140
157
177
188
193
127
128
147
213
183
157
163
144
196
152
165
151
131
197
130
141
127
269
246
127
140
155
149
185
144
187
173
215
134
133
168
142
189
129
188
135
149
131
165
140
173
136
128
231
159
158
205
132
163
129
133
204
162
210
157
151
146
150
125
142
176
167
166
135
240
130
145
203
209
161
213
201
130
151
163
229
149
174
126
248
173
152
204
164
136
203
219
149
137
144
142
133
134
273
141
177
138
131
131
196
146
353
132
145
133
189
151
206
132
214
163
163
142
192
191
136
325
134
156
247
167
126
130
158
143
209
192
127
267
220
182
145
156
182
151
158
256
186
210
126
172
257
158
189
215
127
158
197
151
135
133
205
133
143
137
134
174
142
134
140
147
138
152
212
191
125
131
150
207
238
182
213
185
179
152
153
132
247
182
187
149
137
131
126
162
177
200
131
211
215
164
161
125
168
146
146
153
161
142
144
133
181
141
132
155
164
195
254
229
145
131
223
145
138
132
158
154
150
139
170
169
136
159
169
127
142
177
257
168
149
126
167
168
234
186
261
179
163
188
208
169
143
180
138
155
151
149
153
149
202
158
138
149
139
244
144
209
171
221
149
151
131
153
163
152
144
213
191
133
234
174
156
216
216
209
144
140
133
156
238
165
137
242
141
139
158
161
171
148
263
136
141
125
143
136
198
140
146
161
151
131
233
143
163
156
139
128
145
140
153
184
167
207
185
138
166
153
144
218
180
209
137
150
209
131
199
195
149
142
243
173
145
171
317
132
156
133
159
182
144
126
144
249
134
131
173
174
193
227
182
136
187
149
275
157
143
134
158
150
210
132
141
164
160
190
127
138
153
164
237
160
156
162
163
130
188
124
156
164
132
194
156
172
157
167
168
142
171
189
138
289
144
136
128
169
180
143
162
199
132
132
147
164
132
134
134
209
187
190
369
228
183
155
160
166
146
163
141
162
156
145
173
138
140
169
158
164
135
136
133
186
221
156
192
170
151
124
156
160
146
143
180
151
150
188
141
184
165
135
163
177
133
237
192
149
206
170
278
157
205
126
149
139
158
164
137
191
158
130
144
131
132
148
150
146
133
145
146
177
194
143
140
139
127
243
145
159
143
217
168
221
136
201
162
185
155
141
174
164
236
159
148
132
198
146
173
168
135
284
154
196
220
150
193
247
170
158
190
143
179
129
147
206
139
150
164
286
218
145
139
134
159
160
177
136
126
129
181
140
201
138
161
202
142
312
138
138
192
137
199
141
185
218
135
135
146
209
128
175
226
146
163
144
214
141
131
141
199
136
257
148
210
143
144
148
146
132
157
198
149
160
209
213
185
155
141
178
169
161
145
149
132
143
129
154
125
246
140
159
166
215
139
207
138
239
172
203
204
215
138
165
142
152
132
214
158
155
191
146
187
125
184
141
184
223
140
155
142
138
186
167
143
136
169
212
406
127
175
236
135
146
130
154
160
130
142
130
217
133
139
145
183
179
225
157
242
151
172
276
132
249
158
170
128
148
170
271
188
129
139
284
158
186
162
224
145
211
149
165
178
169
150
165
146
145
156
141
152
155
247
191
173
133
167
174
153
129
156
134
164
189
135
148
173
130
158
225
152
133
160
162
148
199
166
154
144
151
128
144
136
181
162
133
147
137
137
170
212
183
129
194
209
142
130
246
171
139
198
124
148
136
209
135
144
150
162
158
164
136
163
174
209
133
171
153
127
148
131
237
217
166
131
147
138
153
166
133
190
142
164
154
148
127
152
156
197
149
156
144
189
158
136
158
200
209
141
146
130
156
137
166
195
159
176
141
188
139
135
199
153
178
190
145
134
141
145
203
153
158
136
179
195
148
134
144
144
127
144
147
155
148
206
205
129
257
137
146
198
213
135
178
213
143
181
173
162
167
171
177
249
142
128
223
189
177
131
181
221
226
206
129
152
164
142
186
165
198
250
174
223
241
149
138
169
156
233
154
183
206
171
146
132
163
124
227
228
154
148
252
207
135
199
170
157
158
181
131
153
130
191
125
137
141
205
132
145
131
164
141
133
168
137
199
183
245
153
143
129
365
163
174
156
157
171
125
142
161
149
144
164
135
176
181
138
150
138
144
127
153
186
176
130
175
194
176
136
148
187
173
129
156
166
127
190
151
182
137
173
147
183
182
237
171
250
181
136
169
138
240
161
193
179
147
181
204
259
156
205
199
130
144
157
138
240
139
134
154
184
173
154
153
153
154
172
143
217
164
144
127
145
145
184
143
208
147
178
151
138
156
169
269
225
293
133
176
140
142
163
168
149
153
141
229
142
130
128
138
204
129
257
145
130
143
164
151
156
173
152
208
204
147
133
169
156
163
135
170
178
168
171
132
138
151
138
151
142
141
131
139
188
143
202
150
186
157
218
144
143
191
163
141
159
152
134
180
142
220
139
164
172
141
143
176
234
216
138
178
135
218
139
238
131
147
133
131
134
141
153
153
183
212
146
220
129
141
280
159
148
171
166
145
162
245
187
172
162
148
170
126
152
155
186
137
181
215
129
134
203
270
156
189
168
177
146
131
127
183
174
247
142
142
198
137
199
182
206
157
191
141
141
169
237
159
144
159
134
137
130
232
142
140
145
145
150
130
126
179
142
127
183
204
152
172
177
143
158
157
195
130
294
138
161
168
139
140
142
166
179
149
145
192
288
209
152
208
155
189
165
168
124
185
155
130
179
158
195
216
184
203
158
225
135
161
134
197
140
190
155
260
169
158
210
179
174
143
177
134
145
150
152
173
168
177
159
137
143
195
134
152
147
162
158
218
164
151
140
192
135
149
183
168
137
130
170
135
171
135
146
166
157
157
154
161
206
124
189
133
164
144
150
160
138
186
264
125
144
150
151
142
154
143
141
127
159
183
207
183
216
158
176
155
264
206
134
138
191
213
137
215
159
142
177
136
160
144
171
193
133
168
163
137
137
170
136
196
191
138
148
143
135
126
146
134
124
140
196
294
144
165
132
133
141
144
206
172
159
166
198
157
145
198
156
227
137
203
147
249
136
156
192
134
245
153
140
229
137
159
180
167
142
130
164
163
190
208
148
162
173
163
172
146
195
164
249
159
130
167
162
177
130
173
144
146
141
153
152
135
163
130
144
198
246
161
159
133
140
198
176
235
266
182
145
162
178
140
178
169
171
165
223
156
187
236
156
142
168
160
177
184
141
345
181
130
132
136
191
136
136
161
161
140
171
191
133
151
158
192
148
174
137
158
127
134
145
182
135
140
231
177
191
142
178
193
155
149
248
153
221
139
196
159
151
139
153
131
144
143
247
137
150
201
206
172
152
133
216
194
152
142
130
198
170
147
159
125
178
155
189
164
221
181
149
154
141
153
138
157
137
137
130
223
156
183
146
140
140
196
133
136
257
208
225
162
144
172
141
172
165
163
162
143
250
208
143
151
164
163
130
158
240
130
239
142
135
185
150
160
210
221
175
180
186
141
142
143
134
156
129
141
159
157
223
161
133
167
125
218
197
204
141
193
171
137
163
180
132
198
145
179
212
132
145
141
151
145
195
157
151
130
129
205
151
165
140
139
164
197
181
140
206
135
127
130
168
150
198
144
181
152
194
168
140
157
151
168
141
125
150
136
151
162
137
141
127
219
191
255
173
218
128
138
395
158
144
136
209
147
138
149
170
151
185
164
127
219
211
128
144
202
140
154
290
208
166
221
133
143
181
156
180
228
140
156
131
136
147
153
139
168
182
166
144
147
213
161
153
180
129
145
156
170
138
131
132
161
265
183
167
195
135
201
168
150
163
193
215
145
154
141
146
149
155
179
152
190
202
179
174
150
143
162
191
195
212
141
147
130
190
148
142
156
206
182
256
138
168
142
148
152
209
129
161
144
205
176
143
158
128
189
165
160
329
182
173
145
148
230
161
143
182
140
132
189
153
215
148
165
141
170
195
146
205
141
145
201
154
171
211
192
151
176
183
217
153
144
191
243
211
154
149
130
138
151
177
196
178
143
195
136
212
283
126
157
138
188
138
173
156
180
127
206
198
159
127
142
167
173
230
151
136
165
150
226
259
161
149
168
174
153
160
144
133
203
155
185
168
158
214
173
148
221
152
180
137
190
131
148
168
159
274
158
200
236
176
131
137
171
177
185
146
142
151
138
144
154
171
161
210
151
134
166
275
152
154
138
207
141
334
132
158
137
198
136
155
175
140
167
139
143
139
147
147
300
129
170
156
171
132
138
218
208
171
184
191
146
153
208
162
133
174
127
194
185
204
125
135
263
142
126
163
144
146
156
124
261
243
254
165
150
128
182
141
204
132
163
146
146
131
211
158
240
155
128
247
151
162
132
203
138
144
163
225
214
266
265
154
217
173
155
128
134
130
143
141
132
129
143
171
169
142
203
257
130
142
130
147
205
241
160
140
129
256
178
136
196
140
203
188
129
134
190
161
139
222
214
141
162
170
212
125
132
138
168
179
219
162
155
201
152
135
235
184
135
134
132
160
129
161
264
132
286
138
135
139
152
151
154
267
166
193
150
128
164
147
126
129
162
148
125
136
132
162
161
159
221
184
147
189
133
184
173
172
181
224
138
138
200
169
244
138
172
202
161
180
187
231
149
143
139
149
175
269
137
135
146
201
171
127
221
174
184
133
202
152
184
147
197
165
170
179
135
150
142
136
152
217
164
173
214
145
176
218
221
129
138
128
188
163
160
149
164
214
175
145
141
144
212
159
134
136
150
193
167
182
137
145
219
188
146
164
148
159
226
242
179
171
180
211
204
153
248
149
182
146
195
187
163
190
194
138
149
147
202
185
219
158
187
150
175
159
128
191
133
146
173
127
188
141
144
203
138
142
133
141
153
179
152
166
184
166
133
137
161
184
145
151
153
148
171
165
143
136
148
198
194
157
134
147
203
171
158
125
135
158
152
137
129
202
150
156
140
195
152
215
170
171
266
166
138
142
142
150
183
143
232
181
159
163
173
263
151
143
154
187
203
140
152
221
205
135
226
187
160
202
199
264
163
152
170
163
134
249
198
166
180
141
126
159
126
141
189
141
223
168
132
128
126
130
189
131
143
140
137
282
130
200
184
127
171
176
244
189
201
222
184
164
137
135
169
179
143
152
157
161
181
188
145
187
185
216
139
163
160
130
141
155
177
155
130
221
154
208
157
159
157
129
199
144
128
161
170
144
167
167
188
130
179
250
155
149
197
200
134
192
125
135
154
144
162
159
173
225
143
219
128
229
142
222
141
214
176
137
139
244
191
178
127
126
192
178
178
151
163
188
159
150
134
246
172
152
179
169
181
182
167
144
197
151
154
163
179
423
147
187
218
176
130
168
198
140
169
351
140
135
148
203
205
254
166
146
132
156
187
125
150
158
136
183
184
136
170
126
129
173
175
154
140
159
171
164
149
142
175
134
125
134
168
139
149
174
154
129
126
194
124
142
179
164
133
140
137
207
319
134
192
171
165
158
149
182
140
183
165
246
190
128
135
131
266
183
137
177
187
175
151
165
187
214
130
126
132
219
125
146
136
202
186
130
149
133
230
141
170
200
158
153
161
152
267
143
142
135
158
201
135
174
159
136
184
137
160
148
160
132
125
165
160
209
156
138
192
126
144
137
202
137
148
178
135
127
144
128
171
180
190
161
142
135
157
201
157
133
195
127
221
156
138
168
149
148
146
182
143
138
199
161
136
179
192
162
174
236
158
235
161
181
158
143
222
228
134
155
145
140
131
195
148
141
129
197
147
233
157
181
129
129
156
191
168
159
180
175
206
149
173
149
162
146
152
131
180
169
239
157
282
219
170
152
144
140
170
157
227
141
173
134
154
134
193
129
155
194
198
225
136
132
166
170
162
178
276
180
149
193
163
209
165
137
167
168
130
137
154
188
199
176
153
209
130
139
139
139
136
144
186
167
144
201
185
143
137
129
162
163
137
188
146
131
300
206
217
140
132
169
227
151
137
163
148
189
129
146
270
150
220
140
176
172
155
145
177
142
133
145
172
148
138
155
140
203
143
214
142
151
144
167
163
207
129
157
237
175
180
175
187
145
219
154
164
135
248
178
130
142
174
156
187
143
127
154
179
128
137
175
137
156
136
214
129
281
168
157
170
145
200
261
146
165
153
202
140
182
187
189
189
146
149
164
141
145
129
139
144
130
160
190
201
180
166
192
132
215
166
166
124
132
163
197
130
160
164
133
138
150
183
155
251
183
142
151
135
163
141
175
143
131
197
136
169
154
147
163
155
159
131
167
215
157
160
196
150
150
128
181
134
175
125
197
137
131
129
132
141
146
170
197
227
152
168
129
153
177
126
185
151
177
124
223
165
187
178
143
142
226
168
171
148
243
230
200
132
144
270
149
198
151
175
139
166
238
168
142
150
156
132
138
193
152
153
194
155
172
130
194
142
148
261
160
128
161
202
148
138
164
137
143
151
136
179
141
167
148
138
146
125
135
175
161
154
142
131
148
184
228
163
130
159
191
156
146
127
172
176
133
136
135
151
131
128
146
167
143
134
127
152
137
140
140
171
205
130
159
125
135
148
134
183
167
147
262
172
178
130
152
187
184
170
152
127
179
145
156
138
201
124
318
146
221
152
166
128
135
174
158
125
156
149
126
205
161
179
230
130
166
185
232
160
145
197
170
173
137
175
128
154
139
193
223
163
213
153
144
194
167
176
163
159
124
211
154
131
155
242
133
166
130
146
154
140
177
133
137
156
236
206
175
163
177
167
140
139
148
179
179
159
160
211
154
135
178
156
177
205
190
130
227
138
173
136
147
231
135
143
149
195
159
132
155
154
131
131
144
150
143
174
240
168
125
212
273
133
181
209
132
167
161
140
161
184
135
154
159
210
138
236
204
128
209
127
147
167
177
253
133
146
177
151
185
161
126
205
196
145
194
178
156
164
159
138
206
145
233
142
148
145
148
131
145
143
131
128
155
181
207
215
138
150
136
223
140
148
140
146
344
133
135
147
145
136
166
133
180
169
178
173
156
141
133
176
163
133
150
145
182
134
216
134
230
210
211
162
148
135
136
163
165
193
190
156
186
156
161
167
133
166
156
165
152
148
163
138
142
153
216
150
124
193
154
199
133
136
249
139
282
176
178
153
196
182
149
150
143
258
131
130
144
132
129
146
187
151
215
178
219
160
196
152
144
130
130
176
164
136
134
189
150
182
125
169
139
150
146
152
172
166
150
137
126
185
169
129
145
125
139
167
154
232
151
154
188
197
138
189
143
154
207
128
128
188
195
168
136
173
160
131
133
140
248
135
128
149
131
205
220
175
145
142
173
246
166
138
191
126
146
177
173
157
219
163
126
168
164
185
145
166
154
156
182
137
148
170
282
260
336
219
270
131
162
136
147
147
176
129
172
174
178
184
151
148
144
261
131
142
179
251
131
126
157
166
140
184
131
144
134
208
181
192
132
165
145
134
156
128
143
152
180
199
164
177
227
254
185
144
210
186
126
170
143
132
203
172
225
134
153
177
150
130
162
164
176
146
154
153
240
175
182
133
184
130
142
138
143
182
153
162
141
163
135
160
212
135
158
157
202
138
164
142
134
214
145
128
244
179
220
217
173
158
164
148
129
172
287
146
148
157
134
131
132
192
164
133
163
180
141
144
144
139
127
159
141
159
177
137
143
137
141
135
137
149
220
145
157
193
199
161
187
181
239
147
165
132
149
167
125
170
192
131
142
180
159
127
266
275
151
259
169
161
176
164
147
190
201
146
167
161
180
124
135
162
125
139
155
137
183
159
189
156
139
131
206
126
285
136
178
186
197
169
147
152
160
134
131
159
151
220
155
215
145
139
131
139
172
174
149
188
154
146
141
184
169
137
160
177
170
176
142
165
193
149
176
162
156
163
251
166
201
225
157
131
183
167
157
159
149
158
152
139
138
159
138
256
138
210
154
212
177
236
171
130
154
156
130
142
132
180
147
163
216
136
213
217
187
172
185
155
137
160
245
137
137
221
320
141
143
143
137
179
133
146
169
201
189
143
145
134
150
134
177
147
143
251
260
199
170
154
151
145
144
138
260
146
147
151
139
153
153
155
134
179
160
125
165
144
144
216
135
158
195
151
133
212
137
163
162
172
149
235
152
165
157
150
141
212
131
140
150
142
177
170
141
216
134
281
174
166
138
145
229
138
127
195
158
244
149
165
211
128
152
162
167
167
168
140
180
179
203
141
130
133
131
166
174
190
167
127
208
155
187
126
166
144
144
158
146
229
162
134
175
156
202
164
145
130
154
156
201
190
133
167
142
148
200
135
154
197
127
228
145
305
253
199
193
238
151
218
205
126
172
162
173
179
166
210
175
138
212
132
156
128
181
200
143
217
193
139
225
162
277
154
135
137
127
135
176
165
138
130
137
127
174
146
134
159
246
157
168
179
185
129
198
160
158
132
129
192
160
147
187
145
142
131
156
175
155
237
137
148
137
132
145
159
257
137
191
179
138
226
130
132
176
136
164
209
151
135
157
237
188
214
164
160
135
146
173
161
124
160
222
145
176
151
147
162
222
151
186
173
182
131
141
151
168
134
189
183
169
130
196
153
167
284
198
153
125
239
153
135
135
163
160
212
139
225
127
203
141
190
161
150
147
167
145
158
131
168
181
184
168
136
205
141
130
183
213
159
182
245
267
215
153
125
179
132
125
131
152
154
124
126
130
165
185
142
158
159
243
178
210
148
147
133
201
160
193
129
130
193
156
144
139
174
164
159
142
168
129
145
243
142
282
170
151
127
145
211
140
157
152
131
251
152
135
145
200
164
169
189
156
283
203
133
145
135
195
260
186
191
231
191
146
160
138
193
157
147
147
187
147
192
183
139
131
126
188
138
178
128
154
161
172
148
185
190
234
131
152
161
157
210
148
227
210
196
127
168
144
139
139
127
176
171
148
136
143
210
136
179
171
181
147
160
160
158
202
203
134
164
163
133
254
206
134
180
167
159
140
188
151
153
152
143
140
128
186
178
164
249
128
154
211
158
235
137
258
136
158
182
171
160
181
212
140
182
194
177
196
131
193
151
146
140
171
128
162
229
155
210
193
215
187
230
206
212
160
201
192
215
306
138
153
149
153
160
212
203
191
226
162
132
140
175
164
127
178
212
216
132
158
188
164
179
147
138
192
165
131
154
163
130
160
133
154
175
192
226
234
165
175
143
161
193
148
160
173
212
175
144
185
137
143
204
132
190
129
151
127
202
216
129
211
154
198
130
137
141
217
126
142
192
179
141
223
226
140
174
211
131
163
156
147
166
150
170
127
198
137
170
146
129
145
170
193
134
155
135
310
162
184
148
225
147
161
137
131
153
138
226
172
182
154
166
148
139
150
141
161
129
143
129
158
166
148
160
194
127
230
145
175
179
136
140
147
154
141
166
126
195
176
164
134
154
154
236
156
221
141
146
197
186
177
165
136
178
144
153
179
206
143
173
124
150
332
153
142
187
200
236
135
144
154
142
146
157
162
142
151
178
145
133
181
193
147
167
144
127
198
164
137
151
127
164
146
174
170
168
144
180
144
145
167
189
158
177
158
146
261
147
184
147
178
159
154
146
163
133
131
157
223
141
275
141
212
199
164
162
142
148
204
183
171
185
152
185
229
133
169
257
154
144
139
140
165
155
211
132
179
153
211
138
190
127
172
135
210
135
154
157
127
146
129
228
133
154
140
134
133
170
197
189
227
201
132
160
150
171
130
163
186
133
132
250
135
145
143
181
164
140
144
129
189
139
162
138
146
274
197
177
132
131
286
143
172
132
130
175
159
171
200
208
130
165
131
226
195
183
134
179
165
177
161
144
176
184
227
154
206
189
134
136
149
129
161
126
147
219
153
168
141
193
141
155
129
275
150
142
149
134
161
167
136
171
169
169
133
162
135
137
142
136
208
225
137
132
170
128
183
162
137
160
126
144
190
134
181
298
185
159
157
181
166
135
136
167
133
247
159
176
134
199
137
137
138
125
254
185
132
182
125
182
129
197
146
248
168
137
221
145
168
158
213
156
236
233
201
160
163
180
171
132
137
164
158
229
189
141
166
219
141
137
208
191
145
151
233
142
166
137
203
169
180
130
144
186
165
170
152
147
144
172
254
179
172
134
144
235
231
150
170
137
187
185
136
164
135
146
140
336
137
190
135
238
143
125
153
137
173
157
164
138
126
177
149
196
193
186
213
125
290
144
133
207
136
153
145
158
136
202
162
161
143
127
291
134
178
144
131
171
151
151
161
176
148
159
150
134
132
140
219
194
196
186
135
162
149
179
206
139
349
149
258
182
142
140
152
195
159
131
163
146
162
161
130
156
137
130
178
163
127
126
165
184
201
176
205
131
133
166
157
246
213
153
126
167
140
130
136
136
156
152
172
166
168
126
208
191
156
142
164
214
169
153
183
215
208
231
182
154
146
151
206
132
154
272
172
240
134
293
282
143
235
143
251
188
218
136
149
193
138
151
155
161
137
174
147
146
148
141
268
153
144
157
245
280
131
142
149
149
138
130
240
133
147
176
236
180
204
137
183
169
130
151
207
154
180
196
262
199
163
232
148
172
132
177
201
157
129
240
254
188
222
168
217
222
327
153
136
131
142
169
166
130
203
152
145
152
189
227
196
166
149
175
136
157
137
235
159
200
137
157
220
143
202
147
236
219
199
151
154
132
225
184
134
212
186
150
135
217
126
203
182
150
135
168
296
133
136
140
131
133
146
197
146
147
234
140
145
137
259
183
154
130
156
172
236
213
166
230
168
198
145
198
164
204
142
172
133
130
131
170
126
187
152
157
147
184
181
176
153
167
168
158
212
138
153
141
147
127
147
185
179
178
127
184
164
128
136
135
140
136
172
136
163
161
219
144
163
182
134
134
144
265
165
125
181
151
127
164
152
154
135
182
179
145
140
140
136
195
194
134
222
147
141
174
137
125
202
126
147
252
182
133
206
160
222
197
125
132
175
148
143
170
217
148
166
130
127
177
126
145
189
173
283
184
171
225
227
165
136
151
164
165
135
131
152
199
138
178
150
199
138
166
222
146
140
140
153
162
140
149
226
158
279
144
159
180
198
165
291
127
199
143
163
178
242
136
188
133
151
240
180
184
171
138
139
160
189
136
133
149
139
160
182
148
174
173
130
132
157
141
157
283
125
179
197
124
144
152
148
137
141
178
145
253
170
155
144
223
199
130
153
175
135
179
208
139
149
208
135
162
147
147
158
163
125
134
195
138
149
181
136
155
227
229
150
154
135
146
217
165
142
151
202
152
129
204
142
137
195
132
205
138
138
158
136
188
144
183
245
133
128
134
144
149
152
236
194
183
136
136
132
133
169
166
141
144
206
208
173
138
142
165
160
135
171
149
241
153
242
258
149
144
192
144
135
147
177
140
200
135
131
230
139
128
147
149
182
167
131
142
145
165
217
206
131
176
188
146
200
163
157
141
245
143
131
132
150
200
159
173
138
193
180
141
191
172
175
162
135
177
157
225
149
166
272
154
125
128
181
298
203
162
162
131
167
220
207
157
170
161
162
172
139
132
138
276
168
168
132
179
141
125
129
148
136
159
187
130
217
152
141
236
238
202
153
170
181
157
200
230
177
143
151
134
173
203
155
218
157
191
209
194
133
170
236
184
248
175
172
199
161
149
168
147
176
204
210
209
160
191
170
169
162
178
213
150
155
160
133
152
225
172
141
127
167
160
162
208
149
124
163
156
157
237
141
141
131
143
246
144
132
132
192
152
159
228
148
143
158
306
139
135
186
140
175
138
172
144
199
147
134
187
128
213
162
157
125
178
141
135
135
233
149
156
212
139
208
135
131
165
166
133
138
174
334
125
166
203
133
127
147
166
152
152
171
145
141
147
159
148
140
213
161
172
179
136
160
162
211
132
198
140
162
169
250
141
174
195
322
152
149
145
144
131
212
164
149
150
183
185
196
133
201
132
173
139
142
138
259
137
221
131
141
296
129
233
160
131
127
205
133
172
170
155
211
130
158
150
148
175
248
173
126
133
170
195
157
196
321
185
175
183
176
145
223
159
218
147
156
144
214
267
146
182
156
145
124
201
216
273
144
127
257
155
168
155
199
164
151
138
144
151
166
191
178
213
190
138
169
151
150
126
134
150
169
200
176
152
157
135
187
144
145
139
307
200
172
136
175
222
138
125
146
240
151
170
143
163
129
176
129
198
166
133
205
159
198
147
164
237
145
244
139
250
153
227
197
156
201
139
129
159
157
145
167
177
197
127
180
136
255
128
209
174
164
128
166
222
171
133
226
139
126
145
144
150
134
187
148
125
143
172
200
178
128
192
155
142
186
150
162
219
155
157
246
155
158
130
159
220
131
228
153
133
166
138
126
173
165
172
146
165
126
221
154
160
136
145
139
203
167
147
182
135
311
144
159
137
152
135
128
181
161
165
206
156
201
211
127
169
151
181
136
141
146
206
152
145
197
171
130
168
145
339
146
166
270
133
225
139
178
127
136
177
129
172
179
141
157
135
175
237
159
226
139
228
131
161
139
140
160
248
168
191
131
159
148
233
137
160
154
135
128
147
153
161
152
137
143
162
221
183
148
144
143
200
134
143
178
144
253
132
138
136
132
160
128
173
154
145
148
135
156
200
164
180
162
158
128
151
129
143
144
165
191
201
127
152
163
201
145
140
149
149
161
128
183
131
162
153
183
195
141
144
198
262
153
150
139
143
153
272
165
148
134
144
214
163
141
184
133
153
156
171
147
130
159
144
130
215
212
188
215
181
200
144
190
142
161
205
182
146
138
163
172
152
183
200
158
148
138
158
138
161
153
177
251
240
127
140
164
145
136
249
143
143
149
156
158
144
135
146
162
195
201
126
192
129
128
128
171
142
148
342
154
172
144
143
130
133
126
157
164
161
162
139
256
137
231
134
151
156
210
152
147
133
185
189
156
174
213
131
140
131
173
217
208
172
168
143
209
178
193
181
176
178
229
150
254
205
151
156
134
159
157
128
133
153
190
169
204
177
154
144
139
156
254
171
182
171
135
163
212
199
179
198
185
133
166
155
137
182
126
153
213
177
228
217
218
206
305
154
176
136
160
168
226
207
156
177
146
191
166
181
158
135
152
260
144
239
163
141
125
127
132
150
200
130
163
149
152
150
158
139
137
190
137
157
126
152
128
168
124
189
176
146
136
207
361
138
150
147
130
205
146
210
141
236
192
223
169
173
206
249
131
132
237
159
163
164
254
260
149
181
126
207
192
131
139
125
223
133
143
149
157
128
133
208
144
261
145
153
146
142
184
155
148
162
179
136
169
132
144
136
168
160
159
128
174
138
230
196
140
129
209
182
146
188
206
142
128
170
138
148
130
154
139
172
238
209
160
184
172
141
148
146
181
159
167
129
208
202
221
162
207
173
144
172
188
147
172
165
225
248
141
134
208
135
199
146
125
152
148
135
229
133
152
134
190
143
136
142
208
142
161
127
183
157
220
129
211
182
136
146
130
160
129
157
128
135
199
155
158
152
135
277
156
161
179
167
143
140
137
139
144
141
127
215
166
175
131
167
207
142
129
133
140
128
145
172
152
153
141
145
170
140
138
153
157
140
142
144
132
158
142
133
151
183
136
145
198
151
277
132
144
199
150
150
138
178
153
160
169
146
216
192
180
179
180
179
139
162
290
289
193
145
154
213
197
186
207
139
220
140
178
128
146
195
157
161
154
166
138
213
156
145
133
200
191
140
142
146
153
180
155
160
134
156
135
198
180
160
134
180
142
134
198
175
145
205
226
215
171
151
149
159
142
129
182
131
150
150
207
133
153
133
234
150
155
133
206
141
144
132
132
144
135
162
125
165
160
130
147
147
161
219
146
132
130
179
136
171
161
210
135
180
144
146
160
179
142
171
129
185
137
205
196
138
145
139
136
133
182
205
132
152
124
237
262
162
144
139
193
228
163
136
210
147
154
157
163
140
199
188
222
223
165
148
231
140
199
152
131
154
193
143
182
144
163
175
151
170
152
128
158
194
128
141
144
157
159
202
138
137
198
309
166
150
134
149
276
152
147
125
157
168
133
133
173
186
155
188
132
177
130
237
173
160
144
133
172
153
164
126
134
193
155
145
130
234
160
143
149
138
136
134
163
151
201
149
158
133
136
174
161
147
166
136
144
237
221
128
149
189
156
260
158
136
259
141
139
185
130
158
238
129
127
138
147
137
133
141
144
227
181
157
178
187
164
140
135
146
136
198
155
155
143
127
139
157
150
182
161
183
143
147
191
247
157
136
129
199
130
159
220
144
156
141
160
150
132
165
134
246
164
152
174
126
149
147
160
138
237
183
162
145
140
139
169
131
141
183
176
159
255
144
145
136
145
150
138
131
152
128
214
158
153
166
183
171
185
148
161
159
245
150
232
172
176
143
200
224
166
150
166
179
158
210
149
163
191
155
168
170
149
176
151
142
130
141
139
138
161
165
149
155
148
154
144
188
167
131
140
143
144
159
163
138
171
219
179
153
259
133
162
188
208
192
143
182
166
132
129
132
194
212
138
250
184
166
167
133
221
189
151
153
142
155
137
137
183
159
135
134
171
168
129
141
217
180
134
158
131
139
172
162
189
181
198
134
168
163
172
201
151
127
204
186
165
396
136
142
181
217
170
224
151
141
158
132
145
189
136
138
157
145
296
250
215
166
132
174
138
185
174
144
166
198
172
160
182
165
189
179
133
146
178
180
217
137
158
172
129
164
139
149
176
168
141
157
130
160
223
134
129
132
195
136
139
188
159
157
150
168
137
134
147
250
131
278
166
128
169
189
179
157
171
210
161
137
136
149
160
136
176
150
231
236
240
190
306
138
199
162
165
185
159
164
150
125
192
165
151
207
199
181
295
126
204
154
158
152
163
126
170
164
147
195
154
187
147
180
173
161
164
183
229
144
134
155
144
168
149
153
221
148
138
170
183
163
183
262
150
170
146
172
144
243
147
145
242
147
189
172
254
132
137
149
197
129
191
139
135
198
197
181
126
142
214
147
128
142
136
137
153
126
192
217
135
221
153
168
196
156
147
162
136
319
183
173
173
261
142
172
169
152
146
144
126
149
147
145
176
151
170
166
161
201
162
129
131
158
311
239
166
166
143
129
125
207
151
142
156
169
141
155
143
154
175
161
178
178
146
128
132
157
153
127
176
182
149
162
156
145
135
167
168
194
175
150
124
187
132
214
230
188
179
237
235
126
143
136
192
163
158
182
330
251
135
201
134
179
189
157
162
134
152
213
180
151
141
157
138
182
201
187
128
165
147
128
334
154
130
139
137
143
168
150
192
182
174
140
139
185
161
164
134
133
226
127
158
171
143
156
177
150
180
174
152
144
134
151
169
143
174
176
163
179
171
148
238
133
183
173
228
131
282
156
209
161
151
196
127
174
214
145
133
162
178
126
217
377
143
186
197
168
185
126
164
154
208
146
139
186
144
159
180
133
147
132
185
156
134
147
136
127
147
139
206
143
198
206
192
224
142
144
128
141
205
174
149
175
138
208
160
149
143
174
160
163
197
144
149
128
281
164
163
129
164
152
159
194
134
167
159
153
145
165
188
155
140
157
186
264
163
179
133
129
142
130
147
157
143
238
143
142
191
218
196
151
223
165
138
163
188
145
147
141
134
160
194
172
240
189
142
129
165
158
140
132
139
136
140
196
163
170
175
153
149
157
166
197
236
203
181
192
206
153
150
145
228
128
129
159
146
148
150
136
128
190
146
152
128
157
169
177
192
129
138
161
195
144
137
154
141
130
133
157
187
155
140
155
230
133
158
154
162
138
138
140
279
186
203
164
175
138
154
131
151
147
129
157
140
192
170
137
174
200
137
214
143
165
322
146
136
139
147
139
140
138
166
144
182
206
128
144
134
154
210
165
137
179
166
149
255
158
141
210
126
148
147
157
181
225
131
131
226
144
156
169
167
156
187
149
184
139
157
181
130
191
189
132
202
166
145
156
148
127
165
234
160
136
126
139
147
125
170
140
142
181
133
193
162
146
289
269
209
133
163
143
140
162
191
125
138
167
142
142
155
139
140
134
204
142
177
160
143
177
174
155
158
149
148
138
134
253
144
195
188
171
133
147
159
193
131
152
143
128
149
139
148
197
188
180
140
143
154
199
140
150
215
162
181
136
295
216
181
215
193
168
180
143
136
165
171
133
224
160
145
177
144
163
127
212
186
155
194
159
196
179
211
198
215
146
147
163
359
216
164
152
246
207
165
172
262
132
128
304
157
170
173
137
165
154
150
212
176
156
128
179
183
196
200
206
176
140
205
303
153
140
135
172
155
182
203
162
182
137
160
200
189
133
136
126
139
127
140
127
132
125
158
225
131
152
215
126
150
141
168
134
177
195
138
133
178
136
169
221
135
160
266
156
183
173
153
183
154
144
203
190
164
179
140
150
171
159
181
154
201
193
139
183
131
144
135
168
191
152
127
182
165
127
130
189
190
147
161
146
176
160
159
212
158
196
155
132
131
175
200
184
204
137
142
153
219
182
170
176
171
154
175
144
158
147
170
173
160
181
139
173
150
177
128
146
135
148
226
148
181
176
186
167
195
172
139
128
150
147
134
158
124
133
138
132
166
179
162
161
132
167
147
143
184
140
171
212
175
187
144
199
142
171
148
156
189
151
296
177
236
154
194
190
187
165
139
158
141
147
151
142
154
140
187
209
222
208
197
164
141
151
247
225
139
165
163
185
188
127
125
199
137
175
129
169
195
137
146
156
142
128
224
230
201
166
175
138
184
187
199
171
129
139
312
158
160
272
141
164
202
138
320
183
139
186
137
125
169
137
144
200
176
170
153
174
177
200
215
179
195
164
159
134
153
143
266
309
153
185
161
189
152
137
134
128
137
150
153
255
129
143
138
180
150
170
127
226
131
150
151
214
148
152
206
148
154
185
159
149
129
144
164
138
182
148
135
148
184
130
157
196
145
134
135
249
153
138
184
133
213
207
139
135
183
210
140
151
146
167
163
166
162
126
196
172
136
196
239
161
162
184
128
137
160
130
187
155
245
158
152
129
145
260
142
213
266
128
145
141
148
166
177
127
215
224
139
202
157
145
176
162
125
169
198
179
195
157
198
176
287
129
223
128
151
193
227
171
134
151
149
142
189
148
144
160
218
165
206
213
208
151
180
128
143
180
229
149
135
224
202
140
331
142
155
145
138
141
135
142
131
144
202
140
191
182
133
128
172
155
196
247
153
126
156
167
166
182
144
200
149
199
145
160
165
156
145
193
196
275
182
130
135
168
133
149
150
131
142
169
215
154
177
128
197
139
147
145
198
136
167
166
172
201
144
136
201
135
146
165
210
150
131
204
189
150
138
145
174
128
130
130
127
282
149
191
133
168
173
153
183
221
195
125
176
188
257
203
163
178
158
141
161
249
149
190
235
147
142
149
158
158
187
127
181
168
200
127
206
158
173
198
147
183
146
195
137
212
201
194
184
141
139
138
130
138
154
207
194
129
188
176
129
131
190
155
176
201
137
164
157
151
153
139
166
275
162
132
151
184
132
135
240
163
144
163
127
146
208
144
184
136
145
151
163
195
160
136
150
207
182
132
130
195
162
162
208
244
145
161
194
141
192
182
124
168
179
184
133
195
161
263
148
166
136
187
163
157
144
259
148
153
183
269
150
168
134
151
139
200
146
177
128
171
140
146
154
142
133
194
158
156
169
182
134
192
144
143
239
238
160
147
137
150
171
171
165
140
189
243
208
158
168
207
127
149
156
227
194
142
142
145
153
146
217
140
195
136
141
186
152
134
156
188
127
187
162
225
164
154
198
185
237
142
156
154
143
170
185
154
305
135
178
134
170
160
184
135
138
193
155
137
145
198
161
129
206
247
126
138
126
144
126
189
218
197
175
213
128
139
180
130
178
225
157
187
151
151
175
142
172
150
145
152
140
149
181
148
132
197
185
192
160
139
165
151
132
166
139
155
197
208
133
154
176
174
202
146
132
246
187
173
154
152
154
168
139
162
129
225
134
143
176
171
135
150
170
128
141
129
163
133
157
149
172
126
168
224
153
166
156
179
183
134
136
136
164
164
138
135
150
186
162
148
147
163
203
129
186
134
164
141
185
209
184
156
125
134
134
213
137
241
136
152
148
185
147
203
157
233
315
136
154
142
185
209
199
280
179
181
142
128
153
146
182
129
157
174
156
137
184
133
142
138
156
129
143
174
136
173
144
139
145
149
127
161
155
133
150
130
146
129
223
125
174
190
167
156
236
134
149
136
143
192
177
228
127
131
134
150
138
150
172
128
195
130
130
139
202
143
138
180
261
155
161
236
220
150
153
142
147
154
150
197
167
162
169
191
148
172
172
156
182
129
139
125
162
126
152
141
169
202
224
198
157
127
138
165
142
159
137
175
129
175
157
166
161
182
172
128
176
212
258
146
172
154
159
153
199
155
154
227
157
213
255
155
179
251
152
175
152
175
132
197
138
144
130
195
146
146
139
145
129
181
138
144
185
130
156
135
148
145
127
179
355
186
213
232
259
151
176
142
156
148
152
134
158
161
162
146
188
138
148
207
140
165
169
133
148
160
127
124
138
138
147
166
234
141
148
181
134
277
243
138
176
186
138
156
151
143
159
210
207
128
138
144
190
154
179
142
228
173
130
160
135
186
161
192
172
189
177
157
177
152
158
212
141
191
132
177
141
137
155
124
183
146
166
135
172
132
164
172
172
151
207
278
131
190
154
155
192
203
142
228
152
148
128
142
143
143
204
152
191
202
133
166
134
133
172
219
163
209
163
225
164
206
226
137
129
140
132
139
144
134
161
189
210
151
161
150
152
243
191
155
157
196
137
137
131
192
129
330
197
203
153
138
151
156
226
176
139
169
129
208
142
157
163
153
243
153
187
140
141
192
137
165
133
180
191
175
147
140
127
167
239
215
135
149
329
162
201
195
171
154
150
125
198
157
152
126
139
178
164
186
183
136
147
246
180
188
126
184
133
162
136
190
127
175
138
167
130
157
138
202
161
150
183
168
235
154
138
152
206
160
210
161
144
140
174
150
154
144
127
185
143
186
143
198
209
129
125
147
127
143
173
145
216
192
156
138
178
138
169
158
178
152
142
133
181
148
142
156
194
164
262
189
213
161
223
192
210
161
215
170
183
147
132
172
158
155
203
141
190
241
181
124
177
125
129
159
135
138
142
161
152
234
146
200
192
250
132
149
173
179
177
193
205
151
140
156
128
158
227
177
145
144
182
173
127
212
227
141
226
158
190
133
133
176
144
145
132
200
150
138
170
157
142
141
204
154
125
133
138
213
180
136
141
157
137
135
136
139
137
204
142
162
130
160
181
165
209
164
131
188
180
138
156
133
135
224
148
198
161
165
149
142
160
189
153
253
170
141
182
186
153
135
148
135
203
219
181
149
138
143
160
155
144
137
177
148
141
165
136
143
209
172
128
134
189
167
137
205
233
184
148
129
135
147
197
177
133
212
145
143
212
182
184
138
233
164
151
154
143
166
167
137
181
126
147
218
158
137
192
211
141
131
183
191
153
238
157
135
131
156
191
154
139
227
195
231
152
195
146
157
192
130
170
145
172
140
129
265
130
175
162
177
125
134
186
176
146
187
147
130
137
137
143
155
188
158
157
181
144
164
166
149
148
152
129
202
238
190
219
142
203
291
134
130
139
178
157
158
161
154
150
190
163
147
175
185
258
150
134
157
143
187
169
146
192
171
148
129
162
132
160
149
172
131
139
207
144
181
191
161
165
200
175
157
165
182
142
170
161
292
194
142
132
162
158
157
175
165
150
159
199
167
140
168
134
192
131
175
274
189
150
187
191
136
170
195
228
141
136
184
190
171
128
222
156
139
173
143
166
150
168
172
195
188
141
129
195
142
153
175
134
149
147
163
135
186
164
163
171
134
192
125
129
143
142
153
235
128
125
132
178
170
225
135
184
165
149
130
150
187
150
152
142
152
124
198
148
156
139
148
161
205
186
251
131
186
211
223
178
199
147
150
223
176
225
144
151
136
139
148
168
145
150
177
145
140
206
146
141
168
159
183
139
126
198
195
158
204
178
203
178
124
158
136
241
179
148
137
139
229
162
193
183
146
243
138
147
199
159
201
140
192
151
199
135
133
180
191
158
192
190
125
165
172
202
153
187
154
146
324
238
171
128
127
193
152
172
171
125
135
232
141
164
213
142
152
139
131
140
126
159
132
132
171
129
142
183
156
151
241
130
174
187
227
159
156
129
163
130
150
261
216
204
133
142
208
175
303
173
187
147
191
176
127
145
167
134
147
180
148
131
193
267
199
218
152
152
136
127
167
147
135
130
160
130
129
141
174
149
183
127
194
136
143
228
138
192
125
151
159
213
157
250
180
189
143
187
246
219
170
178
134
140
310
142
173
150
154
134
217
256
178
239
167
153
218
148
166
154
241
142
227
184
148
134
242
167
160
155
263
136
136
156
166
213
222
147
190
140
131
180
215
147
140
132
148
151
171
175
170
177
139
195
138
142
144
156
125
139
136
128
154
151
170
166
243
147
193
149
156
281
150
232
147
131
196
225
171
186
172
170
144
169
143
260
137
209
128
156
181
164
160
132
154
174
158
196
158
190
248
134
141
145
131
126
146
141
332
178
155
175
124
159
127
218
186
157
158
171
162
146
148
134
173
236
158
184
219
169
158
131
184
139
130
205
141
297
195
145
152
172
148
205
173
126
151
132
155
139
192
144
197
178
147
158
168
151
164
150
163
159
171
214
173
168
177
167
165
168
143
142
147
249
131
133
211
124
171
182
141
172
126
205
197
139
131
148
205
151
172
145
132
143
267
209
145
163
147
224
149
155
149
144
168
182
215
148
129
134
234
165
177
151
178
147
145
126
143
298
165
251
160
233
226
148
169
137
141
143
164
152
166
197
206
249
157
152
158
187
191
216
197
153
143
158
161
199
129
134
130
134
132
208
127
197
139
173
153
311
156
145
194
157
124
314
141
160
127
168
145
159
167
205
152
163
166
130
173
166
204
226
127
162
133
208
249
154
147
173
167
158
134
153
126
139
133
179
170
128
151
160
200
176
171
148
157
142
158
185
137
169
133
146
146
212
140
204
165
150
162
156
141
221
194
133
127
155
136
160
151
158
124
129
282
146
153
163
144
177
146
138
202
242
163
201
136
217
151
143
133
140
150
141
191
154
188
191
133
143
182
178
152
131
228
135
225
143
188
230
176
216
249
140
194
134
144
158
169
165
164
173
128
152
237
158
173
161
156
232
140
170
165
204
132
138
141
164
163
156
134
132
144
196
164
208
215
140
202
134
164
125
144
136
186
159
191
190
210
127
170
160
186
142
128
206
189
150
246
164
128
130
225
157
142
211
163
150
142
234
156
154
145
128
166
153
196
154
135
141
226
133
146
138
144
160
131
244
152
132
151
128
163
198
176
133
152
159
253
137
173
307
160
178
218
172
168
188
128
171
131
154
158
264
265
266
164
346
173
143
140
206
152
154
133
131
171
195
152
169
167
141
166
155
176
158
167
175
149
202
170
242
160
138
233
148
217
141
210
152
181
159
137
179
173
162
135
126
282
203
164
153
132
158
258
135
149
255
161
204
140
161
143
152
131
176
147
199
150
219
167
152
305
151
168
205
162
149
154
129
166
132
141
152
166
155
181
146
139
128
201
154
133
249
138
222
133
174
226
206
153
134
186
242
249
144
143
197
145
208
141
202
154
141
151
153
165
156
148
170
204
131
146
151
197
192
190
148
130
258
128
149
174
184
201
169
145
137
139
137
145
165
222
155
197
182
156
168
192
140
145
137
225
214
137
142
165
154
239
125
191
207
240
126
146
141
188
128
166
207
291
134
253
173
131
138
142
130
159
138
142
149
188
167
149
151
147
162
136
150
142
139
149
135
130
161
145
145
144
186
156
172
129
139
188
133
151
155
159
128
144
142
238
142
151
149
198
262
253
144
151
213
142
192
129
135
219
129
134
142
148
171
140
162
138
160
150
214
144
165
133
192
130
147
196
203
159
223
153
128
131
186
158
184
183
140
134
197
143
178
160
186
140
155
199
128
148
196
143
168
207
144
164
157
169
200
213
218
207
158
144
167
165
184
163
138
257
221
190
230
143
141
146
341
167
151
132
133
166
179
157
134
139
210
130
175
133
142
192
150
132
218
194
127
161
129
125
150
154
134
192
163
202
245
192
158
193
146
139
132
134
137
174
130
183
151
202
190
194
152
259
217
174
155
166
136
165
217
188
171
206
159
151
155
156
151
179
139
133
154
128
199
160
173
240
195
153
149
140
188
149
140
177
131
135
203
183
129
339
160
157
141
140
141
132
231
133
257
157
194
163
172
160
165
135
151
213
149
254
148
154
147
140
157
210
149
180
172
174
201
157
189
133
204
186
189
162
151
138
198
131
161
142
135
160
135
153
136
156
225
137
200
137
135
144
182
184
210
129
137
146
144
130
137
139
142
184
198
277
128
158
187
143
162
206
129
196
228
135
151
167
143
159
132
147
142
141
167
164
147
156
163
153
135
152
177
138
136
159
173
139
131
141
148
167
132
164
173
139
133
128
149
141
203
172
171
235
201
158
126
254
133
145
260
239
170
148
204
133
188
146
142
166
175
151
149
153
234
206
170
140
230
160
138
138
138
275
204
124
138
139
185
149
147
166
163
144
141
154
137
210
142
161
154
137
177
150
178
131
235
156
152
219
165
143
201
147
215
136
156
193