111
111
111
111
111
110
110
110
110
110
109
109
109
109
109
109
109
109
109
110
111
111
112
113
113
114
114
114
114
114
114
114
114
114
114
114
127
129
132
133
137
139
141
141
139
137
135
132
127
124
112
114
115
115
116
117
118
119
120
121
125
125
126
129
131
132
136
136
134
132
129
127
124
122
122
120
116
115
115
114
113
116
126
127
130
130
128
128
126
124
124
123
120
119
111
111
111
109
109
108
106
106
107
107
114
114
114
120
120
120
120
120
121
121
121
122
122
122
122
122
122
123
123
124
125
125
129
129
129
129
129
129
129
130
130
130
142
144
146
148
148
148
148
148
150
150
154
159
160
162
162
166
166
167
168
168
169
169
169
170
172
173
173
173
174
174
174
174
174
175
175
176
176
177
179
180
181
181
182
182
187
187
188
192
198
200
203
204
205
205
205
217
218
219
221
225
228
229
232
234
236
240
246
247
247
248
249
251
254
256
267
269
270
271
273
277
278
279
281
281
281
281
282
282
282
282
283
283
283
283
283
284
284
284
285
285
285
286
286
286
286
287
287
288
290
296
296
297
299
300
303
307
315
315
316
318
319
321
323
324
326
329
331
332
333
334
336
343
344
348
350
352
353
354
356
357
359
360
361
362
363
365
366
369
370
371
377
378
378
379
380
381
381
382
382
383
383
384
384
385
386
387
388
388
390
390
391
391
392
393
393
394
395
396
397
397
397
399
400
400
401
403
414
415
416
417
418
421
426
427
429
433
435
436
438
440
442
446
446
446
446
447
447
447
447
447
447
448
448
448
448
449
449
449
449
449
449
450
450
450
450
451
451
451
452
452
453
453
454
454
454
454
455
456
456
458
460
462
465
467
468
469
470
471
471
473
475
475
476
476
477
477
479
480
480
486
487
487
487
487
488
490
493
497
502
507
511
513
514
527
530
530
532
532
535
535
537
542
548
549
557
559
560
561
562
563
564
566
567
570
576
581
583
585
586
590
592
598
600
602
605
606
609
615
626
635
637
643
648
657
674
683
686
692
705
726
735
737
745
752
753
754
759
763
764
768
772
773
777
782
789
793
799
801
811
818
834
835
838
845
849
852
853
862
864
865
868
873
877
881
881
882
882
887
889
890
891
892
893
894
896
896
898
899
900
902
906
910
910
911
911
912
916
921
922
926
928
929
932
919
915
906
898
891
886
884
878
876
859
857
848
844
842
834
831
829
827
819
812
805
796
782
776
767
763
757
756
751
749
747
744
740
738
735
734
732
731
728
725
722
721
720
718
717
714
711
708
706
704
701
697
696
696
696
695
694
694
693
692
691
690
689
689
688
688
687
687
686
686
685
685
685
684
684
683
683
682
682
681
680
679
678
677
676
674
673
672
672
671
670
669
669
667
667
666
666
665
665
664
663
662
662
661
661
660
660
659
658
658
657
657
656
655
654
653
651
650
649
648
648
648
647
646
645
645
645
644
644
643
642
641
641
640
640
640
639
639
638
638
638
637
637
635
635
634
634
633
631
631
629
627
627
626
625
624
623
621
620
618
615
615
614
611
610
609
609
608
606
606
604
602
602
601
600
598
597
597
596
595
595
594
593
592
590
589
589
585
583
582
582
582
582
582
582
582
581
581
581
581
580
580
580
579
579
579
579
573
572
571
569
567
566
564
563
562
561
559
556
556
556
554
554
553
551
550
548
546
546
544
543
543
543
542
541
539
539
538
537
537
536
535
535
535
535
535
535
535
535
534
534
534
534
534
534
534
533
531
530
530
528
527
526
526
525
525
523
522
523
524
527
527
527
528
528
529
529
529
530
530
529
527
525
522
520
519
516
516
514
513
509
508
507
505
503
502
500
499
499
496
496
495
493
493
492
492
490
488
487
485
483
483
481
480
479
478
478
477
477
476
476
475
475
474
474
474
473
473
472
472
471
471
471
470
470
470
470
469
469
469
469
469
469
469
469
469
469
469
469
468
453
452
449
449
449
447
447
446
446
446
445
445
446
446
447
448
448
449
450
451
451
450
447
440
439
438
438
435
433
430
428
426
425
424
423
416
416
416
416
416
416
416
415
397
396
395
394
394
394
393
389
388
388
387
387
386
386
385
385
385
385
385
384
384
382
382
382
381
380
380
379
379
379
379
379
380
380
381
381
383
384
385
385
387
388
389
390
392
392
393
393
393
394
394
394
394
395
395
396
397
398
400
401
401
402
402
403
403
404
405
405
406
406
406
406
407
407
407
407
408
408
408
409
409
410
411
411
412
414
416
416
417
417
418
418
419
420
420
420
420
420
420
420
420
420
420
420
421
422
431
431
436
438
442
444
446
450
452
454
455
457
458
462
467
472
475
477
478
482
485
488
491
495
497
498
501
507
514
514
516
520
520
521
522
523
525
528
531
533
536
539
541
542
547
548
551
562
566
568
569
574
582
595
596
596
596
595
595
594
594
594
594
593
593
592
592
592
591
591
591
590
590
590
589
588
588
586
584
583
582
581
580
579
578
577
577
575
573
571
571
570
569
568
568
567
567
566
565
565
565
565
565
565
566
566
566
566
567
567
567
568
568
568
568
569
570
576
586
590
591
595
599
604
614
619
623
634
640
642
651
653
661
668
659
653
646
644
639
626
615
612
597
595
593
589
587
582
579
578
577
572
570
569
565
562
555
554
550
548
538
532
530
528
527
523
521
519
518
506
491
489
486
478
472
450
446
435
434
432
431
429
428
428
427
426
425
424
422
421
421
420
418
416
414
412
409
406
405
404
401
398
397
396
389
389
390
394
395
397
397
397
398
398
399
400
401
402
396
392
389
386
384
380
379
378
376
376
374
374
372
369
367
368
370
373
374
376
376
376
377
377
378
379
380
381
382
382
382
383
383
384
384
384
385
385
385
385
386
386
386
387
387
387
388
388
388
388
382
381
353
346
345
345
344
344
343
341
341
340
340
337
336
335
331
306
304
301
301
300
299
294
292
291
291
293
293
294
294
296
297
298
299
300
300
300
302
303
304
304
304
304
303
303
303
296
288
291
295
296
302
320
323
325
335
326
325
314
313
310
309
309
308
308
308
308
308
309
310
310
310
312
315
318
318
318
316
315
313
313
312
312
311
310
306
304
299
298
296
295
293
284
283
282
282
282
282
282
282
284
286
290
291
293
293
295
295
295
295
295
295
295
295
294
293
292
291
291
290
289
287
285
284
284
282
281
281
280
279
277
275
275
275
274
272
268
268
268
268
268
268
268
268
268
267
266
265
265
266
267
268
268
269
273
274
279
285
288
289
276
278
277
274
271
270
270
270
270
270
270
269
269
269
269
268
268
268
268
269
273
274
274
275
276
280
281
282
285
285
286
291
292
295
298
299
301
301
301
301
301
301
300
297
294
294
293
293
291
286
286
284
284
283
282
280
276
275
273
271
269
269
267
264
263
263
263
264
264
264
265
265
265
265
266
266
266
266
266
266
266
265
264
264
264
264
263
263
263
263
263
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
261
261
261
260
260
260
259
259
258
258
258
258
260
260
260
261
262
263
263
263
263
263
263
264
264
264
264
264
264
264
264
264
264
264
264
265
265
266
269
269
272
272
273
274
275
275
277
277
278
293
297
300
299
298
295
293
291
290
287
286
283
285
282
282
281
281
280
280
280
279
279
279
279
280
281
282
282
284
288
291
293
294
294
294
295
298
298
299
299
300
300
300
300
301
301
301
302
302
302
303
303
303
303
303
304
304
305
306
307
307
307
309
310
309
309
308
308
308
308
307
305
304
303
302
302
301
301
300
299
299
298
297
296
295
295
294
294
293
292
292
291
291
291
290
290
290
293
293
295
296
296
296
298
298
298
299
303
307
307
310
310
311
312
312
310
309
307
307
307
309
309
312
313
314
319
325
329
329
329
330
330
330
330
333
337
337
337
337
336
336
335
334
334
334
333
332
327
320
319
313
311
308
307
302
301
298
298
297
297
294
292
288
288
287
287
291
294
295
300
300
306
309
314
318
318
320
322
322
323
323
326
326
327
327
335
342
344
353
359
359
359
358
358
358
358
357
357
355
354
354
353
353
351
351
350
348
347
346
345
344
344
342
342
339
339
339
339
340
342
343
343
344
346
348
349
347
344
341
341
340
339
333
331
323
322
321
321
321
319
318
317
316
314
314
313
312
311
311
310
309
309
308
308
307
307
305
305
304
304
303
302
302
301
301
301
301
300
300
300
300
299
299
299
299
299
299
299
299
298
298
298
298
298
297
297
297
296
296
294
293
293
293
295
296
299
305
307
312
314
320
324
326
330
334
335
337
338
338
341
341
342
347
345
344
344
342
340
338
331
327
323
319
317
317
317
320
323
328
335
337
345
350
338
327
327
324
322
318
311
309
308
305
299
294
294
289
287
286
280
280
280
280
280
280
280
281
281
281
281
281
282
282
282
282
282
282
282
282
280
280
279
278
277
277
276
276
275
274
273
272
272
272
272
272
272
272
272
272
272
273
277
280
284
285
286
303
317
318
315
310
309
306
304
303
301
300
295
295
295
296
297
297
297
298
298
298
299
299
299
299
299
300
300
300
300
300
300
300
301
302
303
303
304
305
305
306
307
308
308
311
316
333
335
336
339
340
343
347
349
352
357
358
360
373
375
376
372
370
355
352
342
332
336
339
341
341
341
340
339
339
336
336
336
333
327
322
320
302
300
299
296
294
293
292
292
291
290
290
290
290
290
289
288
287
286
285
284
283
282
282
281
278
278
276
276
279
284
289
293
293
294
294
294
295
295
296
296
296
297
297
297
298
300
301
301
301
303
304
305
306
304
303
301
299
296
296
291
290
289
289
290
294
296
298
299
301
301
302
304
305
308
310
311
311
312
313
313
314
314
314
314
315
316
316
316
317
313
312
310
310
306
305
301
300
295
294
292
284
280
276
271
267
267
266
264
263
260
259
258
265
267
269
271
254
252
254
256
268
273
270
247
249
255
270
270
268
268
293
292
278
276
274
273
260
258
258
257
256
255
254
254
254
253
253
253
252
249
249
248
247
247
245
244
244
245
246
247
247
248
265
248
247
247
247
247
248
249
249
249
249
250
250
252
254
259
261
262
263
263
263
263
260
259
259
258
256
255
255
253
252
251
249
242
236
233
233
233
234
234
234
234
234
234
235
235
235
235
235
235
235
235
234
233
233
231
231
232
233
235
235
237
241
241
242
243
245
247
248
251
254
255
256
261
262
279
288
293
314
330
349
351
353
359
365
366
368
370
374
380
383
386
389
391
394
396
396
397
397
397
397
396
396
395
390
383
369
353
341
339
335
328
324
313
310
308
302
293
291
284
282
276
271
271
271
270
270
270
270
269
268
268
267
266
265
262
262
261
260
256
254
253
252
252
252
251
251
251
250
250
249
249
248
247
244
235
235
235
230
230
228
228
228
227
227
224
223
223
223
223
223
223
224
224
224
224
224
224
225
225
225
225
225
225
225
226
227
229
230
225
225
224
223
222
222
223
223
224
224
225
225
225
226
226
248
262
262
261
258
258
257
257
261
269
273
278
279
298
297
292
292
289
290
308
321
326
337
339
349
343
337
336
327
330
331
332
333
333
333
333
334
334
335
335
336
336
338
341
342
342
344
344
345
350
353
366
371
382
383
384
389
395
399
403
406
410
417
420
422
422
420
420
417
416
415
414
412
410
409
407
407
404
402
400
398
389
386
384
383
375
374
372
372
369
367
363
357
355
346
345
343
341
338
334
334
332
330
316
314
307
300
290
279
277
274
274
272
271
269
269
269
269
270
270
271
271
271
272
272
272
272
272
272
272
272
272
273
276
276
281
285
286
287
298
309
312
316
320
322
322
325
332
332
333
333
333
333
334
334
334
336
338
340
340
341
342
342
343
343
343
343
344
344
344
344
345
345
345
346
347
348
349
350
351
352
353
355
356
354
353
351
348
348
346
344
342
341
341
341
340
340
340
340
330
320
318
308
287
273
273
274
274
274
274
274
274
238
245
247
248
249
271
271
254
254
253
252
251
247
246
231
231
231
235
235
242
245
245
244
244
244
244
244
244
242
237
233
231
230
230
228
228
226
226
228
230
232
234
244
253
253
247
245
244
244
244
244
245
248
254
256
261
263
266
266
268
269
270
270
272
272
273
273
274
274
275
275
277
277
276
275
273
272
271
271
270
267
265
265
265
265
265
265
265
265
264
262
261
261
260
257
260
264
265
265
265
267
268
269
274
277
278
279
284
286
289
290
291
293
296
303
304
308
315
315
315
314
313
299
293
284
275
262
259
259
259
259
259
256
253
245
245
245
245
245
244
244
243
243
243
243
246
250
255
265
282
283
286
288
292
294
298
299
304
305
306
308
309
310
320
322
321
307
305
305
305
304
304
280
275
274
271
263
261
259
258
256
246
234
232
231
230
229
228
228
228
227
227
227
227
226
225
224
223
222
221
221
218
217
217
217
217
217
217
217
217
217
216
216
216
216
216
216
216
216
217
217
219
219
220
221
222
223
224
224
224
223
223
222
217
217
212
211
209
206
206
205
204
205
206
210
213
214
216
219
221
222
216
215
215
215
215
214
213
212
212
211
210
210
209
209
207
205
202
202
201
200
200
202
207
209
217
215
214
213
212
210
206
205
204
204
203
202
201
200
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
201
202
206
207
207
204
202
200
200
200
200
199
198
198
197
197
197
195
193
192
192
192
193
194
194
194
197
199
199
202
202
203
204
207
207
208
209
210
211
212
212
213
214
216
216
218
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
219
219
219
218
218
218
217
217
217
216
216
215
215
215
215
215
214
214
214
214
214
215
216
217
219
220
223
224
224
223
222
221
223
225
226
227
229
230
231
231
233
233
234
234
235
236
237
238
240
241
243
244
245
246
248
249
250
252
253
254
257
258
258
258
258
258
258
258
258
259
262
262
269
259
244
236
235
234
234
234
233
232
232
232
231
231
231
230
230
230
229
229
228
228
227
228
228
233
233
237
239
240
240
239
251
252
256
260
260
263
268
275
279
280
282
283
284
285
286
287
287
289
291
293
294
296
298
300
302
302
302
301
300
299
299
298
297
291
287
283
278
274
266
264
261
260
259
258
258
258
258
258
258
258
258
257
257
257
252
251
247
245
243
241
241
240
239
238
238
239
239
240
241
244
245
246
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
252
248
248
243
243
245
246
246
247
248
249
249
250
250
251
252
252
253
253
253
253
253
253
253
253
253
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
253
253
253
254
254
254
254
254
255
255
255
256
256
256
255
255
254
254
254
253
253
253
253
252
252
252
252
252
252
251
251
250
250
250
250
249
248
247
247
247
246
246
245
245
245
245
245
245
245
246
246
246
246
247
247
247
247
247
248
248
249
249
250
251
252
253
254
255
256
256
257
258
258
258
259
259
259
259
260
260
260
261
261
261
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
261
261
261
261
261
260
260
260
259
259
259
259
259
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
257
257
257
257
257
257
257
257
257
257
257
256
256
256
256
256
256
256
256
256
254
250
248
246
243
241
236
232
234
237
239
241
241
241
241
241
241
242
242
242
242
242
242
245
245
246
247
247
248
249
251
251
252
252
251
250
249
249
247
242
238
236
235
234
234
234
233
233
232
232
232
232
232
232
232
232
232
233
233
233
234
234
234
234
234
234
235
235
235
235
236
237
238
240
241
241
243
244
245
246
246
246
246
246
246
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
244
244
244
244
244
243
243
243
243
243
242
242
242
242
242
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
242
242
242
242
243
243
243
243
244
244
244
244
244
242
240
237
235
234
234
234
233
233
233
233
233
233
233
235
236
236
236
236
236
236
235
235
233
233
232
231
231
230
230
229
229
228
229
231
233
237
238
239
243
246
246
247
248
248
244
246
246
247
247
247
248
248
248
248
248
248
249
249
251
252
255
255
254
254
254
254
253
253
260
264
264
264
264
264
263
262
261
261
261
259
259
259
259
258
257
257
257
257
257
256
256
256
255
255
255
255
255
254
253
252
251
251
251
251
250
250
250
250
250
249
249
249
249
249
248
248
248
248
248
247
247
247
247
247
247
247
247
247
247
247
248
248
248
249
249
250
250
251
257
259
260
262
263
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
264
264
262
261
260
260
260
259
258
255
255
253
253
252
252
252
251
251
251
254
254
255
255
255
256
256
263
261
261
259
258
257
257
257
256
256
256
256
256
256
257
257
257
259
260
261
261
260
259
258
257
256
255
255
255
254
253
253
253
250
249
249
249
249
249
249
249
249
236
233
233
233
235
239
241
242
244
246
247
247
247
238
237
236
232
230
228
227
227
227
226
226
226
226
226
226
226
226
226
226
226
227
227
227
227
226
224
223
223
223
223
223
224
232
228
228
229
229
227
227
224
223
223
222
222
220
218
217
215
215
214
214
212
211
209
209
209
208
208
208
208
208
208
208
207
207
213
222
231
231
230
229
229
228
221
219
217
210
207
201
199
196
197
197
197
199
199
201
201
201
202
202
203
204
204
202
201
198
198
197
193
199
201
204
208
208
208
208
208
208
208
208
208
208
207
206
205
204
203
201
201
202
203
203
204
205
206
206
207
208
211
211
212
214
216
217
218
218
219
219
218
218
217
217
216
215
215
215
214
213
212
212
212
211
211
211
210
210
210
210
210
210
211
220
219
219
218
218
217
218
218
219
220
222
223
224
224
223
223
223
224
224
226
227
228
229
229
230
230
230
226
216
216
216
216
216
216
216
216
216
216
216
179
178
174
172
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
168
167
167
166
166
165
165
165
164
164
163
163
164
167
168
169
170
173
174
176
177
179
180
181
183
185
187
190
193
194
195
197
199
200
201
203
205
207
211
210
207
205
203
203
202
202
201
199
197
193
193
193
193
194
195
196
196
197
198
198
198
198
199
201
201
201
201
200
196
193
193
192
192
191
190
184
182
180
179
178
178
178
178
177
177
177
177
177
176
176
176
176
176
176
176
176
176
175
175
179
180
181
181
182
183
184
185
186
186
187
188
189
189
191
192
192
192
192
192
192
191
191
190
190
189
189
189
181
184
169
169
170
172
172
172
173
173
173
174
173
173
171
171
169
169
167
166
166
166
165
165
165
162
162
161
161
161
161
162
162
162
163
165
165
165
166
168
170
171
173
174
174
176
177
178
178
179
180
180
182
181
177
176
175
170
168
168
167
166
158
155
154
154
153
152
152
152
152
153
154
154
154
154
155
156
158
158
159
160
160
162
162
162
162
163
165
167
168
169
172
173
173
174
174
175
176
176
178
179
179
180
180
180
180
180
179
178
171
171
170
170
169
166
165
165
164
163
162
162
161
161
160
160
160
160
160
160
160
161
161
161
161
161
161
162
162
162
162
162
160
158
157
156
155
155
154
152
151
151
150
150
149
149
149
148
148
147
147
147
147
149
149
149
150
150
150
150
151
151
151
151
151
151
151
151
151
151
150
150
150
150
149
149
149
148
148
148
147
147
147
146
146
146
146
146
145
144
143
143
143
143
142
142
142
141
141
141
140
140
139
139
139
140
140
142
143
147
148
149
153
155
156
157
158
158
158
158
158
158
158
158
157
157
157
157
157
157
157
158
158
158
159
159
159
159
160
160
161
161
162
162
162
155
154
151
149
148
147
147
147
147
148
148
148
148
148
148
149
149
149
149
149
150
150
150
150
150
149
149
148
147
146
145
145
144
144
144
143
143
142
142
142
141
139
141
142
143
143
144
145
145
146
147
148
150
151
153
153
153
153
153
153
153
153
154
154
154
154
154
153
152
150
150
149
147
146
145
145
144
143
142
143
145
145
147
149
150
150
151
155
155
155
154
158
158
159
159
161
162
163
164
164
164
165
165
165
166
167
168
168
169
178
181
182
183
184
184
184
185
185
187
187
188
188
188
187
184
184
183
180
180
180
181
181
182
182
182
183
184
183
181
181
180
179
179
178
178
178
178
177
179
179
180
181
182
182
183
184
186
187
187
186
185
184
182
173
172
172
172
172
172
171
171
171
170
168
166
165
165
164
163
163
164
164
150
149
148
148
148
147
147
146
146
146
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
146
146
146
147
147
147
147
148
148
148
148
148
148
147
147
145
145
145
145
144
144
144
144
144
143
143
143
142
142
142
141
141
141
140
140
140
141
142
143
153
153
154
154
155
156
157
157
158
160
161
162
162
163
165
171
172
158
159
160
161
162
163
164
164
165
166
166
167
168
169
171
171
174
174
175
175
173
169
168
167
166
165
164
163
162
162
162
161
160
160
160
161
161
161
161
161
161
161
162
162
162
163
163
163
163
162
161
160
159
159
159
159
159
158
158
157
157
156
156
156
156
155
155
155
154
154
154
152
152
152
151
151
151
151
151
150
150
150
150
149
149
149
150
150
150
151
151
151
151
151
151
151
152
152
152
152
151
150
149
149
148
147
145
144
144
144
144
144
144
145
145
146
146
148
148
149
149
151
151
154
154
148
146
138
138
137
136
135
135
134
132
131
131
131
131
131
131
132
132
132
133
133
133
133
134
134
135
133
129
110
108
106
106
106
106
106
106
106
106
107
108
108
109
109
110
110
111
112
112
113
115
120
120
121
121
122
123
124
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
129
133
133
133
137
142
145
152
152
159
159
159
160
160
165
166
166
167
168
169
170
171
171
172
172
173
173
175
176
176
177
177
177
168
166
159
149
144
132
132
131
130
129
129
128
128
126
125
124
124
124
123
122
120
115
115
113
112
110
104
103
102
102
98
98
95
93
93
93
93
93
93
93
94
94
94
94
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
94
94
94
94
94
92
91
91
91
91
91
92
92
92
92
93
94
94
94
95
96
96
96
96
96
96
96
97
97
97
97
97
97
97
97
96
96
96
96
96
96
96
96
96
96
96
96
96
95
95
95
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
94
94
95
95
96
96
96
96
96
96
96
96
96
97
97
97
97
97
97
98
98
99
99
99
99
100
100
100
101
103
103
103
103
103
103
103
104
109
111
113
117
117
141
142
142
145
149
152
154
160
165
168
170
177
181
182
183
184
184
182
181
180
179
178
174
173
172
171
167
167
165
165
164
162
161
161
157
164
166
168
177
177
181
181
183
184
185
185
186
188
189
189
189
190
192
192
192
192
192
192
192
192
191
191
191
191
191
191
191
190
190
190
190
190
189
189
189
189
189
188
188
188
188
188
188
188
188
188
188
188
188
188
187
187
187
187
187
186
186
186
186
183
179
176
175
162
158
157
150
146
143
139
137
133
134
134
135
135
135
136
137
137
137
141
142
142
144
145
146
146
148
148
149
149
150
151
151
151
151
152
152
153
153
153
154
154
154
155
155
155
157
157
157
158
159
160
164
165
165
166
166
166
167
167
168
168
169
170
170
170
170
171
171
172
173
174
175
176
177
179
180
180
181
182
182
183
184
185
185
186
187
187
187
187
187
187
187
188
188
188
188
188
188
188
189
189
189
189
189
189
189
189
189
189
189
189
189
188
188
188
187
187
187
185
185
185
185
185
185
185
185
185
181
175
173
170
167
160
156
153
151
148
146
144
144
144
144
145
146
147
148
149
150
151
152
152
153
160
163
168
170
161
142
134
133
124
113
109
108
109
110
110
110
110
111
115
115
115
116
116
118
120
123
120
118
117
114
108
107
107
104
102
102
102
100
100
98
98
97
97
97
97
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
98
99
100
101
102
102
103
103
103
104
104
105
105
106
106
109
109
108
107
106
105
104
103
103
102
102
102
101
100
99
98
98
98
98
97
97
97
96
96
95
95
95
94
94
93
93
92
92
92
92
93
93
94
95
96
96
97
98
99
100
102
104
104
104
103
103
102
102
101
100
99
99
98
97
96
95
94
93
92
91
91
91
91
93
93
94
94
94
94
95
95
95
96
96
96
97
97
97
97
98
98
99
99
100
100
100
100
101
101
101
102
102
102
100
100
99
98
98
97
97
97
96
94
94
93
93
92
92
92
94
95
95
103
103
103
104
105
107
109
109
124
135
139
152
154
157
159
159
160
162
168
177
178
176
167
165
148
146
142
136
137
138
140
141
141
143
144
144
146
147
148
152
153
154
156
157
161
162
164
165
166
166
167
167
169
170
171
160
146
143
137
137
135
130
126
121
120
119
118
117
117
116
116
115
114
113
113
112
112
111
111
110
110
110
109
109
108
108
108
108
107
107
106
106
106
105
105
104
104
104
103
103
103
102
102
101
101
101
101
100
99
97
96
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
97
97
100
101
102
104
104
105
106
106
106
108
112
113
114
117
117
117
117
117
117
117
117
117
117
117
117
116
114
113
111
110
110
108
108
107
106
105
103
101
100
99
99
99
97
96
99
101
104
113
121
126
132
135
136
137
145
150
155
160
164
166
169
172
174
174
174
175
176
182
182
182
182
182
182
182
183
183
184
184
185
185
185
185
185
186
186
186
186
186
186
186
186
186
187
187
188
188
188
188
184
183
182
182
182
182
182
181
181
181
181
181
181
180
180
180
180
180
180
179
179
179
179
179
179
179
179
178
178
178
177
177
177
177
177
177
177
177
176
176
176
176
176
176
176
176
176
176
176
175
175
175
175
175
175
175
174
174
174
174
174
174
174
174
173
173
173
172
172
172
172
172
171
171
171
171
171
171
170
170
170
169
169
169
168
167
167
167
167
166
166
166
166
166
167
167
169
170
170
171
172
172
173
173
175
176
176
176
177
177
177
177
177
176
175
175
174
173
162
158
156
129
127
106
104
98
94
93
92
94
99
102
115
121
122
129
133
134
140
144
146
152
153
156
160
162
168
168
168
168
169
170
169
169
169
169
154
154
152
149
149
147
145
144
140
139
136
133
132
129
127
126
124
124
122
121
120
119
119
118
118
117
117
116
115
114
114
113
111
111
110
110
109
109
108
107
107
106
107
107
108
108
109
109
109
110
111
112
113
114
121
128
138
139
142
143
149
151
157
158
161
163
165
166
169
170
170
167
165
164
163
162
160
160
159
158
157
156
155
153
152
150
149
148
144
142
140
139
136
135
132
132
133
135
139
141
143
144
146
149
152
155
158
159
163
165
170
172
173
172
172
171
171
169
168
166
165
164
163
162
161
160
159
158
156
154
154
150
144
141
137
130
124
117
115
104
105
107
113
116
117
123
132
137
138
140
142
144
150
151
154
161
169
171
180
182
186
188
188
188
188
189
190
191
191
192
192
192
193
193
193
192
192
192
191
191
190
190
189
188
188
184
184
183
178
177
176
175
172
170
169
168
168
167
167
165
165
162
162
160
159
158
156
156
154
149
147
141
134
132
127
123
118
117
112
108
104
100
98
97
96
96
94
94
94
94
95
96
96
96
98
99
100
103
103
105
108
109
110
114
114
115
117
118
118
120
122
122
122
122
123
123
124
124
124
124
126
126
126
127
127
128
141
147
150
153
156
159
169
171
176
178
181
184
185
185
186
186
187
187
187
187
188
189
189
189
190
192
193
194
195
195
197
197
198
201
202
202
203
202
201
200
197
194
191
186
185
184
181
180
179
176
174
173
170
167
166
166
165
165
164
164
163
163
163
163
162
162
162
161
161
160
160
159
159
163
167
168
169
171
179
182
190
192
194
201
212
213
214
215
217
220
223
225
228
230
229
228
220
219
214
213
212
209
206
203
202
202
195
188
183
181
177
174
173
172
170
168
166
165
163
162
161
159
152
151
149
144
139
137
136
134
134
139
143
146
147
151
154
165
169
170
174
175
176
178
181
182
188
189
199
198
198
196
196
196
195
194
194
194
193
193
193
193
193
192
192
192
191
191
190
188
177
170
160
157
155
146
140
137
133
130
124
120
117
113
110
108
107
105
104
103
105
106
107
108
109
110
111
112
116
117
118
119
119
119
122
123
125
125
127
128
129
131
132
136
136
138
142
143
144
145
145
150
150
149
149
149
148
148
148
147
147
146
145
144
144
143
142
142
141
140
139
139
138
137
137
137
139
141
141
142
143
145
147
149
150
150
152
153
158
159
160
163
166
167
167
168
169
172
178
179
180
182
183
184
185
187
196
198
198
200
201
203
207
214
211
209
200
196
194
191
190
187
167
160
156
154
149
144
141
139
135
133
128
126
122
122
120
116
116
114
111
107
98
98
99
99
101
102
105
105
105
105
105
105
105
105
105
102
102
101
101
98
95
92
89
89
92
93
93
93
93
93
93
93
93
93
93
93
93
93
92
92
92
92
91
91
91
91
91
91
90
90
91
91
91
91
91
91
91
90
92
92
92
92
92
92
91
91
91
90
93
100
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
143
134
128
124
122
117
114
112
109
108
107
103
102
102
103
103
104
107
107
109
111
112
113
113
113
113
113
113
113
113
113
113
113
112
112
112
112
112
112
112
112
112
111
111
110
110
109
109
108
108
107
107
106
106
105
105
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
105
105
105
105
104
104
103
103
103
103
103
102
102
102
102
101
101
101
101
101
101
101
101
101
102
103
103
104
104
105
107
107
108
110
110
111
111
112
112
112
113
113
114
115
116
119
120
121
121
121
121
121
121
120
120
120
120
120
120
120
118
118
118
118
118
118
117
116
116
116
116
115
115
115
115
114
114
113
113
113
112
112
112
112
112
111
111
110
110
110
110
110
111
111
111
112
112
112
112
113
105
104
101
99
97
97
95
94
94
94
94
95
95
95
95
97
96
96
95
95
96
97
98
98
99
99
100
100
101
101
101
102
102
102
102
102
104
105
108
108
109
109
109
110
110
111
112
113
114
116
117
120
123
127
131
126
124
117
115
114
115
116
117
117
118
119
120
120
121
121
122
122
124
125
127
127
128
128
130
130
130
129
128
127
123
123
123
124
125
126
126
125
125
125
125
124
124
124
124
124
124
125
125
127
127
127
128
128
128
129
129
129
129
127
127
126
126
126
125
125
124
124
124
124
124
124
125
125
125
125
131
127
126
125
124
123
123
124
124
124
124
125
125
125
125
125
125
125
125
125
125
122
121
121
121
121
121
121
121
121
121
122
122
122
122
122
122
122
123
123
123
124
124
124
124
124
127
120
120
121
121
122
122
122
122
122
122
122
122
120
120
119
118
118
117
117
118
120
121
121
120
117
114
114
114
114
116
116
117
118
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
119
119
118
118
116
116
116
117
117
119
120
120
119
119
119
121
121
121
121
122
122
118
117
117
117
116
115
115
115
114
114
114
113
113
113
112
112
112
111
111
111
111
110
110
110
110
110
110
110
109
109
108
108
107
107
107
107
106
106
105
105
105
105
105
107
107
107
108
109
110
110
111
112
111
110
110
109
108
105
104
103
103
102
101
101
100
100
100
100
100
99
99
99
98
98
98
98
100
106
106
108
111
112
113
114
115
116
116
116
117
117
117
118
118
118
119
119
119
119
119
119
119
118
116
115
115
115
114
113
113
113
113
112
111
111
111
108
106
106
98
98
98
99
99
99
99
99
98
98
98
98
98
97
97
97
96
96
96
96
96
96
97
98
98
98
98
98
99
101
102
103
104
106
106
108
111
111
112
113
116
116
117
117
117
118
119
123
128
131
145
142
141
155
157
157
157
151
130
119
112
110
107
102
98
97
97
97
98
98
98
98
99
99
99
100
100
100
101
101
101
101
101
101
101
101
101
102
102
103
104
104
105
106
106
107
107
107
107
107
106
105
105
105
105
104
104
103
103
103
102
102
101
101
100
99
99
97
97
96
96
96
95
95
95
95
95
95
97
99
104
107
109
110
114
115
117
119
121
122
124
125
126
128
132
133
135
137
140
143
144
144
145
145
146
147
148
150
151
153
155
156
156
158
159
159
159
159
159
159
159
159
159
159
159
159
158
157
157
156
155
155
154
154
154
154
154
154
154
155
155
156
156
157
157
159
161
161
162
162
163
162
161
158
158
158
157
156
155
155
155
154
154
153
152
152
150
149
148
147
147
146
145
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
142
140
137
135
135
132
129
128
121
121
119
114
113
111
110
108
106
106
104
102
102
104
105
110
111
112
115
118
121
122
124
125
126
127
128
134
135
136
140
141
143
144
145
145
146
146
146
146
147
148
149
150
150
151
151
151
150
149
148
142
129
127
123
121
118
117
116
115
115
114
113
113
113
113
112
111
111
110
109
109
108
107
107
107
107
107
106
106
106
105
105
105
105
104
103
103
103
108
109
111
113
117
117
121
125
126
128
130
131
133
134
135
136
138
142
144
145
146
147
149
151
153
153
153
153
153
153
153
154
156
152
138
113
106
105
104
103
100
98
97
96
96
96
94
94
94
94
94
94
94
95
95
95
96
96
96
97
97
97
97
97
97
98
98
97
95
95
94
93
93
93
93
93
93
93
93
93
93
93
92
92
92
92
92
92
91
91
91
92
92
93
93
93
93
92
92
92
91
90
90
90
91
92
92
93
93
94
94
94
94
94
94
94
94
94
94
99
112
120
128
128
129
129
131
131
131
132
133
133
133
135
135
137
137
139
139
140
140
141
141
141
142
142
145
143
143
143
143
143
137
130
129
122
121
121
121
121
120
120
120
120
120
122
123
124
126
127
134
135
135
135
132
131
130
130
132
133
139
140
143
144
146
144
144
144
144
143
143
143
142
142
141
140
140
140
137
125
118
113
108
99
99
100
103
104
104
103
103
102
101
101
101
100
100
100
100
100
100
100
101
101
101
100
99
99
99
99
99
99
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
100
100
100
101
101
102
102
103
103
103
104
104
104
105
106
106
106
107
107
103
103
103
103
103
104
105
98
96
93
93
93
94
94
95
95
96
96
97
97
97
97
97
97
97
96
96
96
96
96
96
96
95
95
95
94
94
94
94
93
92
92
92
91
91
91
91
91
91
91
90
90
89
89
89
89
90
105
106
105
105
104
103
103
97
96
93
95
98
102
106
108
150
157
160
162
162
162
163
163
163
163
165
164
163
163
162
161
157
155
155
154
154
155
155
135
137
138
150
150
150
152
154
155
154
151
150
149
149
147
146
146
144
144
143
140
140
140
142
143
143
147
150
152
150
144
144
144
144
144
144
144
144
144
144
144
145
147
147
147
147
147
148
150
149
149
149
149
149
148
148
148
144
122
108
104
105
130
137
137
138
145
145
145
146
146
147
147
147
147
147
147
147
148
150
150
152
153
153
154
155
156
157
157
157
157
156
155
155
154
153
153
153
153
153
153
153
153
153
153
152
152
151
150
145
144
141
139
128
127
119
120
122
123
128
127
109
109
115
122
130
140
129
129
129
129
135
140
144
149
153
154
154
155
155
157
157
157
157
149
148
145
145
144
135
134
121
120
120
114
101
92
89
85
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
83
83
86
88
89
89
89
88
88
87
87
86
84
83
82
81
81
81
81
82
82
82
82
82
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
84
84
84
85
85
85
85
85
85
85
86
86
86
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
87
87
87
87
87
87
87
86
86
86
86
86
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
84
84
84
84
84
85
85
85
86
86
86
86
86
86
87
87
87
87
88
88
88
88
88
88
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
92
92
92
92
92
92
92
92
93
93
94
94
94
95
96
96
96
96
99
99
100
101
110
114
133
139
142
146
147
155
156
168
170
171
172
175
175
175
175
175
175
175
175
175
175
175
175
177
178
177
176
176
176
176
176
176
176
174
166
163
153
150
149
147
142
137
135
131
130
129
122
120
113
111
108
107
106
105
102
99
99
94
91
91
91
91
90
90
90
90
90
89
88
88
88
87
86
86
86
86
86
86
86
86
87
88
88
88
88
88
90
90
90
90
90
91
91
91
91
91
92
92
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
93
93
93
92
92
92
92
92
92
91
91
91
91
91
91
91
90
90
90
90
90
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
90
90
94
100
129
139
144
150
156
173
176
179
179
178
178
177
177
174
172
172
168
169
169
170
170
170
171
172
172
173
173
173
174
172
169
168
165
162
157
153
146
146
152
156
163
165
171
173
177
179
178
177
177
174
172
169
165
164
161
160
160
164
164
165
165
182
182
182
182
182
182
182
181
181
181
181
181
182
182
183
183
184
184
184
185
186
187
187
179
163
146
130
127
121
119
118
117
108
107
106
106
104
104
103
103
100
99
97
96
94
93
93
95
96
97
98
98
100
100
100
100
99
99
98
98
97
97
97
97
97
97
98
98
98
98
98
99
99
99
100
100
100
101
101
102
103
104
109
111
112
112
112
113
113
114
114
114
114
114
119
120
120
120
119
119
119
119
122
122
123
123
123
123
123
123
123
123
123
123
123
123
124
124
125
125
131
134
139
140
143
144
148
150
151
152
154
155
164
172
176
177
178
180
168
155
154
152
151
148
141
138
132
129
127
124
121
119
117
116
115
114
115
115
116
116
116
116
117
117
117
118
119
119
119
119
120
121
122
122
122
117
116
116
114
114
113
112
110
110
109
109
107
108
109
109
109
110
111
111
111
112
114
114
114
116
117
120
120
122
122
123
125
128
130
131
131
132
135
136
137
137
139
140
140
141
141
142
142
142
143
143
143
144
144
144
145
145
145
145
145
146
146
146
146
146
146
147
147
147
141
141
140
138
137
136
134
134
133
131
125
123
123
123
122
120
120
120
120
119
119
118
118
118
117
117
117
117
118
119
120
121
121
124
125
126
128
129
131
130
130
129
128
127
127
125
123
123
125
135
140
140
146
151
154
155
156
156
156
156
155
154
153
151
147
146
145
144
144
143
136
134
134
133
132
130
129
129
128
127
127
125
125
125
123
125
128
130
131
135
146
152
157
156
152
148
143
141
140
138
137
133
130
129
128
128
127
126
125
125
125
126
128
128
128
129
129
130
131
132
132
132
132
132
131
131
130
129
129
129
128
128
128
128
126
126
126
127
127
127
128
128
131
131
131
131
134
135
135
135
135
135
134
134
134
134
134
134
134
135
135
135
135
135
135
135
135
136
136
136
137
137
137
137
137
137
138
138
138
138
138
139
140
143
144
144
145
145
145
145
145
145
145
145
146
146
146
152
154
157
158
159
159
158
158
157
157
157
156
156
154
157
157
157
158
159
160
161
163
164
165
165
165
165
165
165
165
165
165
165
166
166
166
166
166
166
166
166
166
168
171
171
172
176
177
179
180
181
181
182
183
183
189
195
199
204
204
204
205
205
205
205
205
206
206
207
208
208
208
209
209
209
209
209
210
210
208
208
207
207
206
205
204
203
203
201
201
201
200
199
198
198
196
196
195
194
192
192
190
190
189
169
167
165
162
161
159
157
153
149
148
136
136
136
136
136
136
136
135
135
135
135
135
135
135
134
134
134
134
134
136
136
139
139
142
143
144
144
146
147
148
148
151
153
154
156
157
157
158
159
159
160
161
163
166
167
167
166
162
157
149
147
146
141
141
140
139
137
133
130
123
120
120
120
119
118
118
118
118
117
117
116
116
116
116
115
115
114
114
114
113
113
112
111
111
110
110
110
109
108
108
107
107
107
107
107
109
110
110
110
111
113
114
115
119
121
136
141
147
172
176
181
188
185
182
181
175
173
172
171
168
168
165
165
164
164
163
160
155
151
150
149
143
140
140
138
136
135
133
132
132
128
126
134
135
138
140
142
143
145
146
149
150
151
152
154
157
158
158
161
162
163
164
165
165
167
167
169
167
164
163
162
161
160
158
156
155
154
154
153
152
151
151
150
148
147
146
145
144
142
141
141
140
139
141
144
151
155
158
158
159
159
159
158
156
151
148
144
139
133
129
124
119
117
115
110
103
103
106
109
111
111
119
130
142
142
144
145
145
145
145
146
146
147
147
147
147
148
148
148
149
149