109
109
109
109
109
109
109
109
109
109
109
109
109
110
110
110
111
115
116
116
116
121
122
123
124
123
123
122
121
121
121
120
118
118
118
117
117
116
116
116
116
115
115
115
114
114
114
114
114
113
114
116
116
121
122
122
124
126
131
134
144
153
157
164
172
175
177
180
183
184
185
186
187
188
189
190
191
194
195
196
199
200
201
204
204
205
205
205
207
207
208
208
208
208
208
208
208
208
207
207
207
206
204
204
204
204
205
206
207
207
209
210
212
213
214
216
216
217
219
220
222
211
211
209
209
207
206
206
205
205
205
204
204
203
203
203
202
199
198
191
186
181
179
178
178
177
174
171
168
165
163
161
161
159
157
155
152
141
141
138
137
136
134
132
132
133
134
135
135
132
130
125
124
119
118
118
118
118
118
118
121
122
122
123
124
124
128
128
128
128
125
124
122
121
121
120
120
120
120
120
119
118
118
118
120
120
121
121
122
122
123
123
123
123
125
126
127
128
129
129
128
127
122
122
122
122
122
122
122
122
122
123
123
124
124
124
124
124
124
125
125
128
128
128
129
129
129
130
130
130
128
127
126
126
126
137
141
141
141
141
141
141
139
139
138
140
140
142
142
143
143
144
144
144
144
144
143
143
143
143
143
141
140
139
138
136
135
133
132
131
128
126
126
127
127
127
127
127
127
128
129
129
130
130
130
129
129
129
129
129
129
132
134
136
135
135
137
138
139
139
141
142
143
143
142
141
140
139
138
136
136
136
135
135
134
134
134
134
136
136
136
137
138
140
141
142
145
146
145
144
147
148
144
145
146
146
145
145
147
147
145
143
143
143
143
144
145
144
144
144
145
145
146
147
147
147
147
147
147
147
147
147
149
155
159
157
155
153
152
149
149
147
147
147
146
146
146
146
146
146
145
145
145
145
145
146
149
151
151
150
149
149
148
148
148
148
148
148
148
149
149
150
151
152
152
152
153
154
154
155
155
156
156
155
155
154
154
154
154
155
155
156
156
157
158
162
169
170
171
172
172
172
172
171
171
170
170
167
165
165
161
159
160
161
162
163
164
165
168
168
168
168
167
167
167
166
166
166
166
166
166
166
165
165
165
165
165
166
166
167
168
168
167
166
166
166
165
162
162
163
163
164
164
165
166
167
167
168
171
171
172
173
173
179
186
185
183
179
173
171
170
169
168
166
166
163
163
163
163
163
163
164
164
164
164
164
163
163
163
163
164
165
165
166
167
173
176
181
182
182
182
181
181
179
179
178
175
175
175
175
175
175
175
174
174
174
174
174
174
174
174
174
174
174
174
174
175
179
181
182
180
178
178
178
179
179
179
179
178
178
178
178
178
178
178
178
178
179
179
179
181
180
179
183
185
187
187
187
187
187
187
186
186
185
184
183
183
184
185
184
184
184
186
187
187
187
185
184
182
178
179
180
180
181
181
179
176
176
176
180
178
178
178
179
179
179
179
179
179
178
176
177
177
178
179
180
185
187
187
189
193
193
194
193
192
192
193
193
194
195
195
193
191
189
188
188
186
179
179
183
184
184
183
183
182
182
182
182
182
183
183
183
183
183
183
183
183
183
183
183
183
183
183
184
185
186
187
187
189
186
185
185
185
185
186
187
187
187
189
189
190
191
191
192
192
193
193
194
196
197
203
206
207
208
206
204
198
197
197
186
187
188
188
189
189
190
190
190
191
192
194
195
196
197
198
200
201
201
199
199
199
199
199
198
198
198
197
196
196
196
196
196
196
196
196
196
196
200
202
202
203
201
199
198
199
201
200
197
196
195
195
193
193
193
196
197
198
201
203
203
204
207
211
212
214
216
217
216
215
213
211
208
207
207
206
206
206
210
211
214
215
213
209
207
207
207
207
207
207
202
200
199
199
199
199
199
199
198
197
197
196
195
195
198
198
201
203
205
206
206
205
205
204
204
203
199
198
198
198
201
200
200
201
201
201
201
201
201
201
201
201
202
203
203
203
202
202
202
202
202
202
203
206
208
210
210
210
211
209
208
207
209
210
212
213
214
214
214
214
214
214
214
214
214
213
213
213
213
213
214
214
215
215
216
216
216
217
217
217
217
216
216
215
214
213
214
214
215
216
220
223
223
223
227
228
227
225
218
217
216
215
215
213
212
212
211
211
212
212
214
217
218
220
223
221
218
216
216
215
215
215
214
214
214
214
214
214
214
215
215
215
216
216
217
218
219
220
224
225
226
228
230
232
233
233
233
233
233
233
233
233
239
239
239
240
242
242
241
241
240
239
237
236
234
232
231
231
230
229
228
227
225
221
224
224
225
225
226
226
227
229
230
231
233
234
232
231
227
227
227
227
226
225
227
227
227
227
227
227
227
228
230
231
232
233
232
231
232
235
235
236
236
234
232
231
231
231
229
228
226
225
225
226
227
227
228
227
227
227
227
228
228
228
229
229
229
229
229
242
242
244
244
243
243
243
243
242
242
242
242
240
240
239
239
239
240
241
241
240
238
236
235
233
229
227
225
225
225
226
227
227
228
229
229
230
230
231
232
232
232
233
234
234
234
234
235
235
235
236
237
237
238
238
238
238
238
238
238
238
239
240
244
245
246
246
246
247
248
246
246
244
244
244
244
243
248
249
249
248
244
243
242
242
242
243
243
243
243
243
243
241
241
238
238
238
238
239
239
241
241
241
239
239
238
238
237
236
236
236
237
238
238
240
240
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
242
242
241
241
241
241
241
241
241
241
241
242
244
245
245
245
245
245
245
245
246
247
247
248
248
248
247
247
244
244
246
246
248
248
249
249
249
249
249
249
249
251
251
252
252
252
252
253
253
254
254
254
254
250
249
248
248
249
249
248
247
250
255
255
255
255
255
255
255
255
255
255
256
256
256
255
254
253
252
250
249
249
249
252
252
251
250
249
249
249
251
255
258
262
263
264
266
267
270
270
264
266
266
264
260
259
258
258
258
258
261
261
261
261
263
265
268
260
260
261
262
262
262
263
263
263
263
263
262
262
262
262
262
262
262
262
262
262
266
266
267
267
268
270
268
267
266
265
264
264
264
264
264
264
264
265
265
265
265
267
267
267
267
268
268
268
269
269
269
269
269
270
270
270
270
276
276
277
277
279
280
279
278
277
275
274
275
277
279
281
281
281
281
279
278
278
279
279
279
279
278
278
277
277
277
277
277
277
277
277
277
276
276
276
276
276
276
276
276
276
276
276
277
277
277
277
278
280
280
280
279
279
279
279
286
287
287
288
289
291
293
296
296
297
297
298
298
298
297
297
297
297
297
297
297
297
297
297
297
297
297
297
298
299
301
303
305
308
312
309
308
306
305
301
301
300
300
300
303
305
308
309
309
309
310
311
312
312
313
315
317
318
318
318
318
320
323
325
330
333
336
336
337
337
333
335
337
337
336
336
336
345
349
351
351
354
356
357
367
367
374
377
377
378
381
379
378
378
379
379
380
383
386
389
392
396
401
402
399
398
402
402
404
406
408
413
416
416
418
418
420
422
424
425
426
427
427
427
428
430
434
437
438
441
441
441
441
441
441
443
446
455
461
465
469
472
477
483
483
490
493
496
499
506
522
522
522
522
522
522
525
529
533
538
546
546
548
548
550
551
551
551
552
552
552
552
552
552
552
552
551
549
549
549
548
546
546
546
546
546
546
546
545
544
543
543
543
542
541
540
540
538
536
535
533
530
529
528
525
524
523
517
512
509
509
507
505
503
500
488
487
486
484
483
483
483
483
483
483
482
478
474
470
466
455
449
443
440
436
436
431
424
416
415
412
407
403
396
393
391
389
387
387
383
380
378
372
370
368
367
364
363
361
360
358
358
358
358
359
359
359
360
360
360
360
357
356
353
353
352
352
352
351
351
349
347
344
344
342
341
340
339
338
338
339
345
351
353
355
363
363
384
391
392
392
393
394
394
395
399
403
409
412
411
408
406
404
404
400
399
398
389
384
379
368
356
353
350
347
346
345
344
343
341
337
332
332
332
332
332
331
331
330
329
328
328
325
321
321
321
321
321
321
321
321
330
330
331
331
331
332
332
335
336
338
340
345
344
344
344
344
344
345
345
348
350
349
347
348
349
349
349
349
349
350
350
352
355
354
360
361
361
361
361
362
364
365
368
368
369
369
369
369
370
370
372
373
376
380
383
388
386
386
386
387
387
387
387
392
397
410
414
430
434
444
445
447
457
457
466
468
468
469
469
470
473
474
475
476
479
479
481
481
482
482
482
484
488
492
500
501
502
505
505
506
506
506
506
506
507
507
508
508
514
515
515
516
516
517
518
521
523
527
529
532
536
537
538
539
539
540
541
544
545
546
546
547
547
548
548
549
551
554
554
555
556
556
556
557
557
560
562
563
565
567
567
569
570
570
571
571
571
572
572
573
574
575
576
576
576
576
576
575
574
574
574
574
574
574
574
574
574
574
574
573
572
571
570
570
569
569
569
566
567
567
567
569
573
576
577
577
576
576
578
585
585
588
589
590
590
590
590
591
591
591
592
592
593
593
594
595
595
598
600
601
607
603
604
605
605
605
605
605
606
607
607
607
608
609
609
612
613
627
653
653
665
668
636
635
629
629
619
621
624
623
622
622
621
620
619
617
611
610
610
607
604
603
602
602
602
602
602
602
601
601
601
601
599
599
598
597
594
593
592
587
585
583
582
582
581
578
577
575
574
572
570
568
567
565
563
558
557
556
555
554
553
552
551
550
548
545
544
543
542
540
539
527
525
524
522
520
519
505
503
503
500
491
488
484
483
481
476
471
469
468
467
466
460
460
448
448
447
447
447
446
445
445
443
439
438
437
437
436
436
436
435
435
434
430
428
426
425
422
420
420
420
419
419
418
416
414
412
411
410
410
410
410
410
411
414
415
416
417
417
413
412
410
409
408
408
407
404
403
403
403
402
402
402
402
402
402
402
402
401
401
401
400
399
398
397
397
397
397
398
398
399
399
399
395
393
393
392
391
390
390
390
390
390
391
391
391
391
392
392
392
391
390
390
389
388
387
386
385
392
392
393
393
394
395
395
395
395
394
391
391
384
382
380
377
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
374
373
373
372
372
371
370
370
370
370
371
371
372
373
375
375
375
374
374
373
371
371
370
370
370
368
368
368
369
369
370
370
369
368
368
367
366
364
363
362
361
361
363
363
363
363
362
363
366
365
364
360
359
358
356
355
354
354
354
354
354
354
354
354
354
354
352
351
350
349
347
347
348
349
349
350
350
346
344
343
343
343
343
341
339
336
336
336
336
336
336
336
337
338
338
338
339
339
339
339
339
334
334
331
331
330
329
327
327
326
325
324
323
323
323
323
323
322
322
321
321
321
321
321
321
321
320
319
318
318
318
318
318
318
318
317
316
316
315
315
315
316
317
318
318
318
318
318
318
318
317
317
317
317
317
317
317
317
316
316
316
316
316
316
315
314
313
313
313
311
309
308
307
307
306
307
308
308
309
309
310
310
310
310
310
310
310
312
313
308
308
305
305
306
307
307
307
307
307
305
305
304
303
302
302
303
304
304
304
303
302
301
300
300
299
299
298
298
298
297
297
297
297
297
297
297
296
296
296
295
295
295
294
294
294
297
299
299
300
302
304
304
305
305
304
304
303
300
299
293
291
290
289
288
287
287
287
287
289
290
290
289
288
287
286
287
287
288
289
289
291
284
283
283
283
283
283
283
283
283
283
283
284
284
285
285
285
285
284
283
281
280
280
280
280
280
279
278
278
278
277
279
279
278
277
277
276
274
274
274
274
274
274
276
278
278
278
277
277
277
276
276
276
276
276
274
274
274
274
274
272
268
267
265
264
264
264
264
264
264
264
264
264
264
264
263
263
263
263
262
265
265
266
268
271
273
274
274
274
273
272
269
267
265
264
264
262
260
260
260
259
259
258
258
258
258
258
258
257
258
259
260
260
259
259
259
258
258
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
259
259
259
259
259
258
258
253
255
255
266
268
269
270
272
273
274
275
279
279
283
284
288
288
287
287
287
287
287
282
279
279
276
262
260
260
260
260
260
259
259
259
258
258
258
258
257
256
256
255
255
255
255
255
255
255
255
255
256
257
258
259
260
262
264
266
270
272
273
273
274
275
276
276
278
279
288
290
289
288
288
288
287
285
281
278
277
273
273
273
273
273
273
273
273
273
273
273
274
274
280
284
284
285
285
286
286
286
288
289
290
291
291
291
294
294
294
294
294
296
296
297
297
297
297
297
297
297
297
297
297
297
300
301
302
305
306
306
307
309
309
309
309
309
310
311
312
312
313
314
327
331
334
336
339
349
351
352
354
355
358
360
360
361
363
370
373
378
379
379
379
379
370
369
368
367
367
367
367
369
371
373
374
366
366
363
360
359
359
359
359
359
359
354
352
351
347
344
340
338
337
336
335
333
332
328
323
322
322
323
323
324
325
326
324
323
321
320
320
317
314
313
312
311
310
310
308
307
306
304
302
302
300
296
295
293
291
290
289
289
286
286
286
285
284
284
283
283
283
284
285
287
287
287
286
286
285
285
285
284
284
284
284
284
285
285
285
285
281
280
279
276
269
269
268
265
264
263
262
262
262
262
262
262
261
260
260
256
256
256
256
256
257
257
257
257
259
259
261
262
264
265
268
269
269
270
272
273
274
276
276
277
281
282
285
288
289
291
293
301
302
303
305
310
311
311
312
314
314
317
318
319
324
326
327
324
301
291
289
282
279
277
275
273
266
266
262
261
261
259
259
258
257
257
257
257
257
257
257
257
257
258
258
258
259
256
255
252
252
252
252
251
250
249
249
247
245
243
242
242
242
242
242
242
242
242
242
243
243
243
243
243
243
243
243
241
240
239
239
241
242
242
243
245
248
248
250
253
243
244
244
241
240
241
242
241
239
236
234
233
229
228
228
229
229
228
228
228
228
228
228
224
237
241
243
242
240
240
238
238
237
236
235
234
232
230
220
215
214
211
210
205
202
200
199
199
199
198
198
197
197
196
196
196
196
196
196
196
196
196
197
198
198
198
199
200
201
202
202
201
201
199
197
196
195
195
194
193
192
192
191
191
191
192
193
193
193
193
193
192
192
191
189
187
187
186
185
185
185
185
185
185
185
185
185
185
187
188
189
189
190
190
190
190
188
188
186
185
184
184
183
183
183
183
183
183
181
181
180
180
179
179
178
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
176
176
176
175
175
175
175
174
174
171
171
170
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
170
170
170
170
170
170
171
171
171
171
172
172
172
172
172
172
173
175
177
179
180
181
184
184
186
186
186
187
188
188
188
189
190
189
187
187
187
185
183
183
184
185
185
187
188
188
189
190
190
191
190
188
185
181
181
181
182
182
184
185
186
187
187
187
188
190
193
193
194
195
197
197
198
198
198
198
198
198
206
209
211
213
215
217
220
219
218
218
217
216
216
218
218
219
221
223
225
226
227
227
227
227
229
230
232
234
236
240
241
237
236
235
227
224
221
221
222
223
223
216
207
207
206
206
205
205
204
203
204
205
205
207
209
211
212
213
213
214
214
215
215
216
217
217
217
218
218
218
219
219
219
219
219
217
216
216
217
218
218
218
219
219
220
221
221
221
221
221
221
222
222
222
222
223
223
223
223
224
224
224
226
228
229
229
230
231
231
231
231
232
232
233
233
236
237
238
246
247
249
250
250
251
255
255
256
256
257
257
257
257
257
257
257
257
258
258
258
259
260
261
262
263
263
263
262
263
265
267
268
268
272
274
274
274
273