331
331
331
331
331
331
331
330
329
328
328
328
329
329
330
330
330
331
331
332
332
332
332
331
331
331
331
331
332
333
334
335
336
334
332
330
330
331
331
331
332
332
332
332
332
332
332
332
333
333
334
334
335
335
335
336
337
337
337
335
335
336
336
336
336
336
336
336
336
336
337
337
337
338
340
341
341
341
341
341
340
340
340
340
340
340
341
341
342
343
343
343
344
344
345
348
351
352
352
351
350
346
344
344
344
344
344
348
350
353
355
358
359
362
365
366
367
367
375
374
373
373
372
371
371
366
365
363
361
359
355
355
356
358
358
358
360
362
363
365
366
366
365
364
362
360
360
360
360
360
360
359
359
359
359
359
359
359
359
359
359
359
370
370
370
371
371
370
370
372
374
376
377
377
376
373
372
372
372
373
378
379
380
381
382
382
382
382
382
384
385
386
387
388
388
388
388
388
388
390
391
391
393
395
397
398
398
398
399
400
400
400
400
400
399
399
399
399
399
398
397
397
397
397
397
397
398
398
399
400
401
403
403
403
403
403
403
403
403
404
408
416
420
420
418
417
408
407
406
407
408
409
412
414
416
417
420
420
420
420
420
420
420
420
420
420
420
420
420
421
425
429
431
432
429
427
421
420
420
420
420
420
420
420
420
421
423
426
430
430
432
434
439
442
443
443
444
448
449
451
452
454
456
458
459
459
459
460
460
460
461
463
464
467
470
473
476
479
492
494
495
495
496
497
499
500
500
500
500
500
500
500
500
500
500
500
500
504
506
510
512
514
515
516
516
519
525
533
540
549
551
562
565
568
569
572
573
578
581
582
583
583
584
584
584
585
597
600
605
607
610
613
614
615
617
619
623
625
626
630
633
632
629
628
631
636
642
646
653
657
662
666
671
676
682
687
691
700
708
713
715
715
715
715
716
716
726
734
734
734
734
734
734
734
734
738
740
742
744
748
754
753
751
748
740
740
739
738
736
731
729
727
716
709
706
704
702
696
689
685
683
682
681
680
678
678
678
678
677
677
677
674
667
665
664
659
659
659
658
657
657
656
652
649
645
642
640
639
636
633
630
626
625
623
625
628
630
633
634
620
611
603
600
600
600
603
605
606
605
604
602
599
599
602
602
602
601
601
601
601
600
599
599
599
599
599
599
604
603
602
599
598
597
595
593
593
593
594
597
598
598
599
599
600
600
599
599
600
600
597
596
595
589
587
586
584
582
578
578
578
578
578
578
578
578
581
588
579
577
576
576
576
579
580
581
581
581
580
580
579
578
578
578
578
579
580
580
574
574
574
573
571
570
569
559
559
559
559
559
557
557
556
556
556
556
556
552
553
553
554
554
555
555
556
556
557
557
557
557
555
554
552
551
551
550
549
549
549
549
548
545
555
551
546
541
546
551
556
554
543
542
538
537
536
535
537
537
536
536
536
535
535
531
530
530
530
530
530
530
530
530
529
529
529
528
527
527
527
527
528
528
528
528
527
527
526
526
526
526
526
526
526
526
526
526
526
526
527
532
533
533
533
533
533
533
533
534
535
536
537
538
538
538
539
539
539
539
543
546
549
551
551
551
550
551
549
549
548
552
553
554
553
553
555
555
555
557
557
557
557
557
557
557
558
558
558
558
559
559
562
562
563
563
564
564
565
566
567
567
567
567
567
568
568
569
569
570
571
572
572
572
572
572
573
573
574
577
577
577
578
578
578
578
579
583
583
586
587
588
588
588
588
589
589
590
592
593
594
594
595
596
596
596
597
598
598
601
605
610
612
613
614
615
616
617
617
618
624
626
628
632
633
637
638
638
641
641
642
642
644
644
645
649
659
659
668
669
671
673
674
677
679
687
691
694
694
694
694
694
689
685
684
682
680
679
678
678
678
678
678
678
676
674
670
669
667
664
660
658
656
655
654
649
648
647
647
646
646
646
646
646
650
650
651
651
643
638
635
628
622
611
597
597
596
596
596
595
594
594
593
593
593
592
592
591
591
590
588
588
588
588
588
587
584
583
578
577
575
575
572
572
572
572
571
571
570
567
566
568
570
571
573
573
568
566
565
565
560
559
559
559
558
557
557
556
555
553
550
550
549
547
543
542
542
541
541
541
541
542
543
545
546
546
546
545
545
544
543
542
541
540
539
537
537
536
537
539
532
527
537
538
536
533
529
524
520
523
530
528
527
527
527
527
528
529
530
531
531
531
530
528
525
523
522
519
518
516
512
512
511
510
509
508
508
507
507
507
508
509
509
511
511
512
513
517
519
520
521
522
523
529
530
533
534
534
535
537
537
542
545
553
558
559
558
558
558
556
554
547
541
537
536
534
534
533
532
530
529
522
521
520
519
518
518
513
512
511
510
508
507
507
506
507
509
510
511
512
515
515
516
520
520
521
521
521
521
521
520
520
520
522
523
524
525
528
529
530
530
529
528
527
526
522
522
522
521
521
521
521
521
520
520
519
520
522
523
525
525
524
521
520
519
517
512
510
526
532
533
535
535
536
530
525
522
520
520
518
517
517
515
515
516
517
517
511
501
486
488
491
486
487
493
500
519
519
519
517
501
496
493
492
489
482
474
467
474
485
490
490
491
492
498
506
505
503
498
482
482
483
483
480
479
477
476
475
473
472
468
481
482
483
484
485
488
483
469
467
464
462
463
467
472
482
474
455
456
458
460
465
467
467
467
466
465
463
463
458
457
456
462
462
462
462
462
462
462
460
459
454
452
452
452
452
452
451
450
448
448
448
456
459
460
462
467
475
476
476
476
476
476
476
478
480
480
480
480
481
481
481
481
481
481
481
481
481
481
482
483
483
483
486
486
489
491
493
495
505
524
525
525
525
525
524
519
516
511
509
507
505
503
504
505
507
510
512
513
514
514
515
517
518
519
519
520
522
522
523
524
526
526
527
528
529
531
531
531
531
531
531
531
530
530
530
530
529
529
528
528
528
528
526
526
526
526
526
527
527
525
522
519
515
516
516
517
518
524
526
529
529
526
525
525
524
522
520
518
515
513
511
507
505
506
508
510
512
513
514
514
515
515
515
517
518
518
519
519
520
520
520
516
512
492
486
480
479
476
474
474
474
475
475
476
477
476
474
479
483
480
476
473
474
477
480
485
488
491
494
501
506
515
518
516
504
505
505
506
506
505
491
492
494
499
495
494
493
496
500
495
491
486
483
480
478
478
478
478
478
478
477
477
476
475
475
476
477
478
480
480
480
480
479
479
479
479
478
478
478
478
478
478
478
479
480
480
481
481
482
482
483
485
485
486
487
489
489
490
492
493
494
494
495
496
498
499
499
499
499
499
500
500
500
502
504
508
510
512
512
511
510
509
507
507
507
508
515
516
512
511
510
513
513
513
513
516
518
523
525
527
527
528
529
529
531
534
538
542
541
541
540
540
539
539
539
541
541
542
543
543
542
540
541
541
542
543
543
543
544
543
542
541
541
540
540
539
539
539
539
539
539
539
539
539
541
543
543
542
542
540
542
544
546
548
551
554
554
554
554
554
554
554
556
556
557
560
560
560
561
562
563
563
562
562
562
562
562
561
563
565
567
568
570
572
572
574
576
578
578
578
578
578
578
578
578
578
578
578
578
578
579
579
579
579
579
579
579
579
579
579
579
580
580
580
580
580
580
580
580
582
582
585
587
588
589
590
594
596
596
597
597
598
598
598
598
598
599
599
599
600
600
600
600
600
600
600
600
600
600
600
601
604
609
611
608
600
602
606
605
603
618
618
619
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
621
621
623
623
624
626
628
630
633
635
638
638
639
639
639
640
640
640
640
655
657
659
660
660
660
660
660
660
660
660
660
660
660
661
662
668
668
669
669
669
669
669
669
669
670
671
671
671
671
672
674
676
680
681
683
684
685
686
686
687
687
690
692
697
698
700
702
704
709
709
711
712
715
716
716
717
719
721
735
736
739
743
744
745
745
753
754
755
755
755
755
757
761
765
765
767
771
772
775
776
779
780
782
786
790
791
793
794
797
803
812
821
825
830
833
838
854
857
858
870
893
925
931
933
934
934
933
932
932
931
930
930
929
928
928
928
927
926
926
925
925
924
924
930
938
945
948
955
959
963
977
989
1006
987
1006
1026
1049
1064
1070
1069
1069
1069
1074
1081
1091
1100
1103
1106
1121
1120
1118
1115
1128
1140
1156
1171
1178
1187
1207
1215
1218
1219
1220
1226
1230
1226
1220
1219
1219
1218
1217
1216
1216
1216
1215
1214
1209
1204
1202
1194
1181
1170
1151
1141
1128
1120
1110
1106
1102
1099
1096
1094
1093
1089
1087
1079
1076
1074
1072
1067
1064
1063
1062
1057
1051
1043
1040
1039
1015
985
976
970
966
963
958
954
950
930
926
923
920
918
915
907
904
901
887
877
867
864
862
861
860
861
861
861
860
858
856
851
849
847
844
841
840
840
838
837
836
835
827
826
825
824
822
821
821
820
820
820
819
819
818
818
817
817
812
802
801
800
800
800
800
800
801
801
802
802
802
802
802
800
800
800
800
800
800
797
792
791
787
784
781
780
780
780
780
780
780
780
780
779
779
778
778
777
777
773
772
771
766
764
759
757
755
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
739
729
721
720
720
720
720
720
720
720
720
720
720
714
712
707
705
705
705
701
700
700
700
700
700
700
700
700
700
700
700
700
700
699
696
694
690
688
690
693
694
695
694
690
681
678
676
674
673
672
670
670
668
667
666
664
661
660
660
660
660
660
660
660
660
660
660
660
659
659
659
659
655
654
654
652
651
651
651
650
649
649
649
649
649
648
647
647
647
647
647
647
648
652
654
656
659
662
666
675
677
679
681
683
683
682
681
680
679
679
678
675
673
670
670
670
669
669
669
669
668
667
667
666
663
661
660
660
660
660
660
660
659
659
658
658
657
656
656
655
654
654
653
653
652
651
650
650
650
650
650
651
651
652
652
652
651
650
650
651
653
654
652
648
644
641
640
639
639
638
638
637
637
636
636
634
633
632
631
631
629
629
629
629
629
630
630
635
636
636
639
644
646
650
654
656
658
658
655
652
650
655
660
668
658
656
642
640
638
638
643
646
650
650
650
642
625
623
620
620
620
620
620
620
620
620
620
619
619
619
617
617
616
615
615
615
615
615
614
614
614
613
613
613
613
613
613
613
613
613
612
612
611
610
610
608
607
607
606
606
606
606
606
605
601
600
600
599
598
597
596
596
596
595
594
593
593
593
594
595
596
595
592
591
590
589
589
589
588
588
590
590
590
589
586
585
585
585
586
587
588
588
588
588
588
586
584
583
582
580
580
580
580
580
582
582
583
583
583
584
584
584
585
585
580
572
572
572
573
574
575
577
578
578
579
579
580
579
579
579
577
576
576
576
576
576
577
579
579
579
578
578
578
577
577
576
574
573
573
573
573
573
573
576
577
578
578
578
578
578
578
577
577
577
577
576
576
576
574
576
577
579
581
582
582
582
583
584
584
584
584
584
584
580
579
587
591
592
593
594
594
594
594
595
595
595
595
595
595
594
593
592
592
592
592
592
586
586
587
587
587
587
587
587
584
582
580
580
580
580
582
584
591
592
592
592
592
592
592
592
591
591
591
591
591
591
591
590
589
588
588
587
585
585
584
584
584
584
584
585
585
585
585
585
585
585
586
587
587
587
588
590
590
591
592
593
594
595
596
596
596
596
597
597
598
598
598
598
597
597
597
596
596
596
596
596
596
596
596
596
596
596
597
597
598
598
597
595
593
596
596
597
599
599
596
596
596
596
596
601
602
602
602
602
603
603
603
603
603
603
603
603
603
602
602
602
602
602
602
603
604
604
605
605
606
606
606
607
608
608
611
611
611
613
614
615
615
615
614
614
616
617
617
618
618
618
619
620
621
623
624
625
627
627
634
634
634
634
633
632
632
632
631
631
631
630
630
629
628
626
625
624
623
623
622
621
621
621
621
620
620
620
620
620
620
620
621
621
622
622
622
622
622
622
622
623
623
624
625
625
626
626
626
626
626
627
627
628
628
628
628
628
628
627
627
627
627
627
626
626
626
626
627
627
627
627
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
629
630
630
630
631
631
632
632
632
634
635
638
640
639
639
639
639
639
639
639
640
640
640
641
641
642
642
643
644
644
645
645
646
646
646
646
646
647
647
647
647
647
646
646
650
650
650
650
650
650
651
651
651
652
652
652
652
652
652
652
652
651
651
651
653
653
655
655
656
658
658
658
658
659
660
660
660
660
660
660
660
660
660
660
660
660
660
660
661
662
662
662
662
661
661
660
660
660
661
661
661
661
661
661
662
662
661
661
661
661
663
664
665
664
664
664
663
662
662
662
661
661
661
661
661
661
661
661
662
662
664
664
670
672
672
673
674
674
675
676
677
679
679
680
680
680
680
680
680
680
680
680
681
681
681
681
682
682
682
682
682
682
681
681
683
684
685
686
686
686
686
686
686
686
686
686
686
686
686
686
686
687
687
687
687
688
688
690
695
700
701
701
701
701
702
705
707
707
707
707
707
707
707
707
709
709
710
711
711
712
713
713
714
714
715
715
716
716
717
717
717
718
718
719
721
722
723
727
729
731
734
737
739
742
741
738
736
736
735
735
736
737
738
738
738
750
752
754
753
751
748
748
748
751
751
752
752
753
755
755
757
758
758
758
759
765
767
769
771
771
771
771
771
772
774
774
778
780
780
780
780
780
780
780
780
781
782
784
785
788
789
791
796
798
799
799
799
799
800
800
800
800
800
800
800
800
805
806
808
809
811
814
814
815
815
816
817
818
819
819
821
823
823
826
827
827
828
830
825
826
827
828
831
836
843
845
851
853
856
859
859
859
859
858
858
858
858
858
858
858
858
858
858
858
858
858
858
859
859
859
859
859
859
859
859
860
860
860
863
863
863
863
863
863
863
863
863
863
863
864
864
864
865
865
866
866
867
867
867
867