158
156
158
157
158
159
159
160
162
163
167
168
170
171
170
172
172
172
173
173
173
173
173
173
173
174
174
174
174
173
173
173
173
174
176
176
175
175
174
174
174
174
174
174
174
174
175
175
177
178
177
177
178
178
178
178
178
179
178
177
177
178
179
177
176
176
176
175
171
170
170
170
170
173
175
175
175
176
176
177
177
177
178
178
179
179
179
177
180
179
179
178
178
178
178
178
178
180
181
181
181
180
179
175
174
173
171
173
172
172
172
172
172
172
172
173
173
172
171
171
171
172
172
175
175
176
175
176
176
175
174
174
172
170
164
163
160
164
166
166
166
165
163
163
165
166
169
169
169
171
178
170
171
174
185
185
186
187
194
198
200
206
212
218
222
220
215
213
211
218
229
229
227
225
225
228
230
246
248
251
251
252
253
254
260
261
262
262
262
262
280
282
280
278
280
278
278
275
274
273
272
269
269
269
269
269
269
265
264
260
259
260
260
262
265
264
263
261
260
260
260
261
265
268
268
267
265
264
263
269
271
275
278
279
279
280
282
283
284
291
294
295
308
309
312
322
324
331
332
334
335
335
335
337
333
330
324
308
305
305
309
314
315
311
308
310
312
313
312
310
309
308
299
296
271
255
255
255
265
267
276
279
283
280
273
268
265
268
273
302
307
306
306
304
306
309
310
304
292
293
295
298
305
320
325
317
316
318
327
334
337
339
339
339
339
339
341
343
344
358
358
357
356
356
358
360
363
363
363
363
363
363
363
368
371
373
372
372
375
376
376
380
381
381
379
379
379
379
383
383
391
390
389
389
392
392
392
391
391
394
395
397
398
400
400
400
396
395
392
387
385
382
379
377
374
367
364
365
357
343
341
341
341
342
337
335
339
344
346
343
332
320
318
315
315
314
313
309
308
305
303
302
300
298
295
298
300
300
302
308
320
322
325
326
327
328
328
328
327
325
324
322
322
322
322
330
336
346
351
351
351
351
352
366
379
385
381
381
385
388
394
402
407
413
411
411
415
425
425
425
426
427
427
427
427
425
425
426
427
427
427
427
427
422
420
416
416
416
417
418
419
390
388
387
389
390
392
388
373
374
376
376
371
356
354
391
387
381
383
381
372
366
353
353
353
353
354
355
357
352
348
332
324
328
335
336
320
307
307
307
307
306
305
302
300
297
288
284
281
279
275
275
267
268
270
276
277
278
279
280
274
275
267
259
255
233
230
225
221
209
227
221
213
211
207
193
200
202
207
217
217
214
214
215
217
231
216
221
217
212
207
208
211
211
215
210
210
215
210
213
219
223
204
230
238
234
217
216
218
221
224
229
237
218
218
226
247
245
221
216
223
230
215
214
218
223
234
237
230
225
223
213
217
225
233
238
238
230
210
212
217
222
230
253
266
239
231
226
221
216
229
232
221
212
219
224
224
218
217
216
215
214
221
228
235
234
227
214
216
221
222
216
217
220
220
221
220
217
216
219
214
228
221
216
215
219
221
222
228
225
224
217
221
222
223
223
223
223
225
226
226
223
223
217
217
217
216
216
217
230
227
223
239
220
219
220
223
224
230
247
246
241
243
244
240
235
225
230
234
249
237
235
227
224
246
237
232
228
228
230
237
258
247
240
242
239
235
235
235
230
228
227
231
234
240
246
251
240
245
244
256
268
260
254
240
245
248
238
247
247
245
243
236
230
228
228
229
230
230
221
221
231
229
229
228
232
238
244
246
247
246
239
241
248
245
243
244
245
245
245
246
246
248
253
257
260
262
271
276
277
281
285
315
321
317
318
324
332
332
333
333
333
334
336
342
342
339
339
341
343
344
344
343
343
343
340
331
351
360
333
309
304
303
304
301
300
305
322
327
320
312
310
312
312
309
302
299
301
299
287
272
268
276
286
298
289
284
277
279
280
280
263
259
260
263
263
261
260
259
258
238
243
258
281
283
283
289
276
276
277
274
276
294
298
301
294
307
322
317
337
343
341
334
334
334
334
338
341
346
349
357
376
383
378
379
379
388
402
405
397
393
393
403
405
410
414
423
423
424
424
431
441
440
438
450
454
465
472
462
474
476
478
483
485
487
500
506
505
502
500
497
502
513
513
514
515
522
527
537
541
547
549
549
559
559
560
563
568
571
573
578
580
580
580
586
586
611
613
609
609
616
616
616
622
622
622
623
625
627
627
628
631
632
651
652
652
655
651
648
646
644
643
642
641
640
640
638
636
643
644
645
646
652
655
655
655
657
656
656
653
653
652
651
648
642
640
639
639
640
641
646
647
649
649
651
660
660
667
669
672
673
674
678
680
681
682
682
683
683
683
683
683
680
678
678
678
683
685
688
691
691
691
692
690
688
687
686
687
689
689
689
690
691
692
693
690
689
689
690
693
697
699
700
704
706
707
709
710
708
705
707
708
709
709
712
722
722
722
723
724
725
726
726
726
726
729
732
752
742
742
745
745
745
748
749
738
731
731
731
737
737
735
733
731
730
730
727
726
725
724
725
726
749
748
747
747
747
747
746
746
756
739
742
751
742
747
751
755
756
757
757
753
753
751
749
746
746
745
742
745
738
737
737
736
736
736
734
729
728
728
728
715
710
710
711
718
718
718
717
714
712
711
712
713
713
714
725
730
731
732
735
741
754
759
763
766
766
766
766
769
770
768
768
768
768
768
766
759
752
750
755
757
759
769
786
788
789
789
787
787
786
786
785
784
783
783
786
787
788
789
786
782
771
767
766
769
770
774
777
780
780
785
786
790
784
782
770
770
770
771
771
772
772
770
766
764
762
762
761
760
760
759
757
754
752
745
740
734
728
728
728
730
732
739
741
737
720
716
715
714
708
702
709
713
712
706
694
672
678
683
679
674
671
666
664
667
670
675
673
648
647
614
607
607
608
609
610
617
613
609
610
601
602
596
589
586
585
579
576
574
569
553
551
552
551
549
553
560
560
559
558
554
553
554
555
544
538
534
530
529
526
526
521
515
511
506
503
503
506
505
501
487
472
479
470
464
465
464
462
461
459
457
453
446
431
416
412
414
416
418
423
424
421
418
418
418
400
388
378
381
386
378
381
382
383
375
365
361
366
382
378
363
362
360
348
343
341
339
338
338
338
338
339
344
329
323
322
325
319
310
301
299
296
297
298
301
305
308
310
303
308
312
314
312
304
300
312
309
307
305
301
297
296
295
293
292
292
311
319
328
327
325
308
304
303
313
328
331
326
319
328
345
345
332
344
350
355
351
338
341
353
362
372
376
384
377
376
369
364
363
362
362
361
361
362
372
377
377
375
369
365
355
336
331
323
321
324
326
331
334
329
325
322
324
322
317
320
331
332
330
327
322
318
314
315
318
323
328
330
331
331
332
334
334
334
333
330
326
346
342
336
336
337
338
331
333
336
334
332
331
337
344
352
350
346
336
337
337
338
334
335
336
336
336
339
342
343
344
351
363
361
379
397
385
401
411
405
404
403
429
459
459
459
459
459
458
464
468
473
473
454
474
489
470
466
462
454
448
451
465
463
444
434
439
452
450
446
444
433
420
414
408
410
411
413
397
387
383
385
385
388
393
399
407
420
421
408
394
418
423
427
427
423
419
408
382
373
376
390
389
387
384
381
380
379
378
376
373
361
362
363
386
386
354
360
366
361
354
337
328
327
326
324
319
322
324
325
327
327
326
325
324
324
324
327
331
333
333
335
339
340
325
346
330
335
338
333
324
323
325
323
327
324
328
332
334
336
340
342
341
339
349
359
338
344
337
347
337
346
348
346
336
341
345
360
355
341
330
340
341
343
344
345
340
330
342
358
345
351
364
368
370
374
381
389
389
389
389
389
392
415
415
415
415
416
430
429
434
441
443
445
440
438
438
439
454
458
465
467
469
475
475
473
473
478
493
494
496
500
500
500
499
498
493
493
492
494
496
497
502
513
517
518
539
542
543
547
555
555
555
556
558
558
559
558
547
552
562
569
573
578
593
614
618
617
615
616
618
617
582
588
594
598
601
612
625
625
624
624
627
629
633
656
657
651
647
639
644
648
653
656
658
661
665
666
667
672
672
675
676
676
676
676
686
685
682
679
681
686
688
703
704
706
710
712
715
716
718
719
718
716
715
716
718
726
731
734
736
738
738
728
715
710
713
717
724
721
719
714
711
711
711
705
693
685
685
685
688
685
677
691
688
675
664
663
657
657
656
661
666
670
665
660
650
636
634
634
634
640
617
620
624
626
617
614
614
614
608
602
598
586
595
600
578
580
572
569
568
553
542
546
550
556
554
551
549
543
528
522
518
522
524
517
513
508
503
493
485
477
497
485
480
470
465
462
467
469
465
462
460
460
460
460
456
442
432
436
442
451
456
454
452
446
430
427
422
420
416
413
413
413
413
413
411
406
403
390
391
391
393
393
390
380
377
374
372
363
361
358
355
340
340
340
340
340
342
343
343
354
357
362
351
362
370
375
377
371
369
368
361
360
367
374
374
373
388
390
387
386
382
382
383
384
385
385
385
383
379
378
382
391
397
408
415
415
412
410
404
391
398
403
402
400
398
391
391
392
393
393
395
412
411
411
408
407
407
407
407
412
414
418
425
426
426
426
426
436
440
443
432
419
423
427
432
436
435
434
433
431
431
428
426
439
444
443
442
442
442
442
442
441
439
438
445
454
454
473
462
461
472
481
483
481
477
472
479
483
488
489
500
502
503
509
510
512
512
513
512
528
537
537
537
537
537
538
538
538
537
536
538
545
552
553
543
540
548
548
548
548
548
548
566
573
573
549
563
566
569
569
569
569
574
575
574
577
582
587
582
577
572
568
567
566
566
565
565
565
567
567
558
550
548
547
547
546
546
547
551
543
536
529
533
543
543
534
536
537
539
537
532
538
540
542
546
546
543
535
542
545
539
541
542
543
540
541
543
544
545
546
545
564
568
561
545
548
566
550
570
572
581
584
585
586
598
599
602
604
625
631
631
623
624
628
632
649
654
657
657
658
667
678
680
682
683
682
682
681
678
678
678
678
675
672
671
670
670
672
679
682
690
692
692
690
689
686
698
687
648
658
657
656
651
649
648
648
647
647
645
633
633
632
629
613
610
608
607
609
612
611
607
605
604
603
591
591
590
586
584
579
578
579
579
580
563
560
557
553
553
546
540
538
538
538
538
538
538
529
525
519
519
520
525
524
522
520
517
514
505
504
504
503
503
503
503
503
491
487
483
480
475
467
464
462
462
461
459
455
434
429
417
414
408
400
381
381
380
380
380
380
380
380
380
380
380
379
377
378
378
378
377
377
376
371
369
368
364
364
364
364
364
363
362
362
361
361
361
361
366
367
367
366
374
375
377
376
374
377
381
387
400
406
409
410
409
409
409
409
410
412
417
419
425
426
426
426
426
426
430
438
442
444
448
449
449
449
449
449
449
449
449
451
454
456
465
469
470
471
472
474
475
475
475
476
482
485
490
492
491
490
499
501
498
499
503
510
514
519
519
518
518
529
527
528
529
531
530
529
543
549
552
558
568
571
581
594
596
596
591
604
603
597
589
584
577
612
613
614
615
616
618
621
621
593
608
618
623
632
620
644
626
635
637
637
638
639
640
642
657
679
685
675
674
674
672
680
689
713
720
703
705
708
713
726
726
734
739
742
744
747
747
748
754
754
754
754
754
753
753
754
755
756
757
757
757
766
770
773
779
795
792
801
798
797
797
798
797
795
780
777
777
778
778
778
778
778
778
782
785
787
788
783
789
794
817
830
832
822
790
791
795
795
795
794
793
793
793
794
798
797
798
799
802
816
818
819
817
815
812
804
804
796
796
792
789
786
782
784
794
796
794
786
781
776
771
770
769
757
717
717
716
714
716
716
715
715
715
716
716
716
715
715
715
715
714
714
714
714
714
716
716
719
726
728
727
727
746
744
750
751
752
744
746
748
748
748
748
747
749
758
758
762
763
763
763
761
762
764
777
779
780
782
781
787
789
794
796
797
794
795
796
799
797
796
795
795
800
798
797
799
799
797
780
778
778
778
777
784
791
791
790
789
789
789
791
793
796
806
811
810
820
833
835
826
826
826
827
829
828
825
821
832
829
821
820
819
817
818
822
818
813
809
802
801
800
799
798
797
797
797
797
797
793
791
790
789
791
786
781
771
767
761
758
758
755
755
756
750
742
740
737
739
740
739
736
735
735
735
736
734
734
735
734
731
722
722
721
721
720
723
724
725
728
728
728
728
728
729
729
731
732
732
730
730
730
730
737
737
738
739
740
743
745
745
746
746
745
745
749
752
752
755
757
764
765
765
765
773
778
779
784
797
804
803
803
806
809
810
810
804
806
808
809
810
801
799
792
790
788
792
795
802
804
807
809
795
790
785
790
792
794
785
772
762
761
759
762
771
775
775
773
771
767
765
758
762
763
765
764
762
760
759
763
767
764
762
749
739
738
736
736
736
736
736
736
736
738
744
743
739
735
730
730
726
713
710
717
720
724
726
722
712
709
703
701
700
700
700
700
709
708
703
703
704
705
707
708
706
702
696
682
680
678
678
679
680
687
685
677
674
674
670
663
658
644
641
641
641
638
634
635
636
639
644
648
646
645
643
642
642
630
625
622
615
610
609
609
609
598
593
589
592
593
601
600
599
598
597
596
595
601
606
613
615
620
620
622
622
622
618
619
619
619
620
621
625
634
637
638
658
655
652
645
643
641
638
637
633
632
629
631
631
632
631
628
608
601
592
598
605
614
622
622
622
618
612
609
611
607
584
571
569
567
568
573
583
590
584
576
572
570
551
555
528
523
523
522
522
522
516
515
506
499
509
509
508
507
506
488
478
477
474
469
465
458
479
484
488
493
490
483
470
454
431
431
431
431
431
429
423
413
412
411
409
410
410
408
400
403
382
381
385
378
365
360
363
364
378
367
368
375
392
396
387
386
388
389
395
398
400
400
401
403
406
402
400
399
397
398
399
400
399
411
408
412
413
414
416
415
413
410
414
423
426
424
426
427
435
437
443
443
444
444
446
447
449
453
454
456
457
460
460
461
463
465
470
472
472
472
472
473
481
475
474
476
479
478
467
471
479
489
495
500
502
500
490
490
490
489
489
489
489
490
512
518
518
518
518
518
517
514
513
512
517
518
520
523
530
530
535
540
541
538
546
561
559
558
556
550
547
545
544
550
556
566
570
569
557
553
558
561
555
552
550
552
557
566
571
578
576
576
575
566
574
586
583
595
632
654
659
659
659
659
659
659
659
659
678
697
698
694
691
683
675
676
677
678
683
689
695
700
704
711
745
758
758
758
755
733
735
735
725
711
705
705
705
703
703
701
701
694
692
690
690
695
697
693
687
682
646
641
636
635
633
634
636
636
636
636
636
636
636
637
637
636
635
633
632
632
617
606
604
595
593
590
588
590
594
594
595
595
594
592
591
589
588
587
585
580
575
561
561
561
561
561
561
561
560
560
557
553
548
539
538
539
539
541
543
545
547
549
550
546
540
533
531
530
527
512
502
510
515
532
535
532
525
523
506
503
496
488
463
468
469
470
472
451
447
449
458
460
462
464
469
465
457
456
456
456
456
455
453
452
448
446
441
438
435
434
433
433
433
420
413
417
415
415
411
406
392
390
374
380
373
372
370
370
370
370
363
352
351
348
350
353
354
355
356
355
350
345
350
351
347
351
330
326
328
326
320
316
313
307
305
305
304
304
304
303
302
301
300
293
290
290
288
284
277
273
270
270
269
272
267
266
265
264
266
256
256
255
256
254
250
247
246
246
245
245
245
245
245
244
242
242
237
235
232
231
229
229
228
228
229
230
229
228
227
224
222
222
221
221
223
225
227
226
229
219
217
221
217
217
216
216
216
215
215
219
238
243