601
605
616
628
636
636
627
613
600
594
596
603
613
620
625
627
626
625
624
624
624
623
623
621
620
620
621
623
624
625
625
625
623
622
621
620
621
623
625
625
625
625
625
624
623
622
622
623
626
628
630
631
630
629
626
624
621
619
617
616
616
616
616
616
616
616
617
618
619
620
621
621
620
618
615
611
607
605
604
605
606
607
607
607
606
605
604
602
602
602
603
605
607
609
608
607
605
603
601
600
600
601
601
602
602
601
599
598
597
597
598
599
600
602
604
605
605
603
601
599
598
597
597
598
599
600
601
601
600
598
597
595
593
592
592
592
592
593
593
593
593
594
595
596
597
599
600
601
602
602
601
600
599
597
595
593
593
593
593
593
593
593
594
594
595
595
595
595
594
594
592
589
586
586
586
587
588
590
593
594
595
595
594
593
592
591
591
592
594
595
596
596
595
594
594
593
593
593
592
593
593
594
594
594
593
592
591
590
590
590
591
592
593
595
596
596
594
591
589
587
587
588
589
590
592
594
596
597
597
596
594
593
593
592
593
592
592
591
591
591
591
592
593
594
595
595
595
594
594
593
593
592
593
594
595
596
596
596
595
595
594
592
588
585
583
584
585
587
589
590
592
593
592
592
591
591
591
591
591
591
592
593
593
593
593
593
593
594
595
596
595
595
594
593
591
591
591
591
592
591
590
590
590
592
594
597
600
603
606
608
608
608
607
606
605
605
606
607
609
612
616
619
623
625
626
627
626
624
621
619
616
614
612
611
611
611
610
609
608
607
606
604
601
598
595
592
590
589
588
588
589
590
591
591
591
589
588
586
585
584
585
586
589
590
591
591
590
589
588
587
586
586
586
588
589
591
592
592
592
590
589
588
588
587
586
586
587
588
588
588
587
584
580
576
575
576
581
592
610
635
670
715
771
840
924
1021
1125
1232
1337
1437
1530
1610
1667
1692
1679
1628
1544
1434
1305
1166
1026
896
785
700
642
610
598
600
610
623
638
652
664
674
678
678
674
667
658
650
644
640
639
639
640
640
640
641
642
643
644
644
644
644
645
646
647
650
652
655
658
660
660
660
660
660
661
661
662
664
666
670
673
677
680
682
683
684
684
685
687
689
691
693
695
698
700
702
704
708
711
715
718
722
725
728
731
733
735
737
741
746
752
759
765
771
776
780
785
789
793
797
801
806
810
814
817
821
825
829
833
838
843
849
856
861
865
868
870
872
873
875
876
877
877
877
876
874
871
867
862
857
851
844
837
830
821
811
801
791
780
769
759
748
737
727
718
709
700
691
683
675
667
660
653
647
640
635
630
625
620
615
610
606
603
601
600
599
599
600
600
599
598
596
595
594
593
593
593
593
593
593
592
591
590
590
591
592
594
596
598
598
597
595
593
591
589
589
589
591
594
596
597
598
597
597
595
594
593
593
594
596
599
601
602
602
602
601
600
599
598
598
598
600
601
602
601
601
600
600
599
600
600
601
602
603
603
603
603
602
601
601
602
604
606
608
609
607
605
602
599
597
596
594
595
596
598
599
600
600
600
599
599
599
599
599
599
598
597
594
592
590
589
588
588
589
589
589
589
589
588
587
586
585
584
583
584
586
587
588
587
586
584
583
582
581
581
582
583
583
584
585
585
585
583
581
580
580
581
582
583
583
584
584
585
584
583
582
582
581
581
580
580
579
578
577
577
576
576
577
579
581
583
584
584
584
582
580
578
577
576
577
578
579
580
581
582
582
581
581
580
580
579
578
578
578
578
578
578
578
577
578
578
578
578
577
576
577
578
580
581
582
584
585
585
585
584
583
582
580
579
579
578
578
579
579
579
578
577
576
576
576
577
578
580
581
583
583
583
582
581
579
578
577
577
579
581
582
583
583
583
582
582
581
580
580
580
580
581
581
582
582
583
584
585
585
585
585
584
584
583
583
583
583
583
583
583
583
583
584
584
584
584
584
585
585
585
586
585
584
582
581
580
580
580
581
582
583
584
586
587
589
590
590
590
588
587
586
585
585
584
583
581
580
579
579
580
581
582
583
585
587
590
592
593
593
594
594
595
596
598
599
600
601
602
603
604
605
607
608
611
615
619
622
623
622
618
613
608
603
599
596
595
596
598
600
603
604
604
602
599
596
594
591
587
584
581
579
577
577
577
578
579
581
583
585
587
587
587
586
585
584
582
581
579
579
578
576
574
572
571
571
572
573
575
576
578
580
581
580
578
575
573
572
572
572
575
578
580
582
581
578
572
566
563
565
572
586
609
642
685
738
803
882
974
1077
1184
1290
1394
1493
1583
1655
1698
1706
1676
1610
1515
1396
1260
1117
977
849
744
667
620
600
600
611
628
646
661
673
681
683
679
672
663
655
649
646
643
641
640
638
636
634
633
632
633
634
636
638
640
642
643
643
643
643
642
642
641
641
643
646
649
653
657
660
663
664
665
665
666
668
670
673
676
679
681
684
686
687
690
693
697
702
706
710
712
715
716
718
720
723
726
731
736
740
745
749
753
758
762
766
771
777
783
790
796
801
807
811
816
820
823
828
833
838
844
849
854
859
864
869
874
880
884
888
891
893
894
894
894
892
891
889
888
887
884
882
877
872
864
855
844
833
821
809
798
788
778
767
756
745
733
722
711
701
691
681
673
665
657
649
642
635
629
624
619
616
615
614
613
611
609
607
605
603
601
600
599
598
597
597
596
596
596
596
596
596
595
594
594
594
593
593
592
592
592
592
592
592
593
594
595
595
595
595
594
593
593
593
593
594
595
597
598
598
598
598
598
598
599
601
602
603
603
602
601
599
598
597
597
597
598
599
601
603
603
604
604
604
604
605
606
607
609
610
610
609
608
606
604
602
601
600
600
600
601
602
603
603
603
602
601
599
598
598
599
600
600
599
598
597
595
594
592
591
591
590
590
590
590
590
590
590
590
591
591
592
592
592
591
589
587
586
585
584
583
582
582
581
580
579
579
580
581
581
582
583
584
585
585
585
584
583
582
581
580
579
580
581
583
585
586
586
585
585
584
583
581
580
579
579
578
579
579
579
578
578
577
577
578
578
578
578
578
577
577
576
576
577
578
579
580
580
581
581
580
579
578
577
576
576
576
577
578
578
577
576
576
575
575
575
576
576
576
576
575
575
575
575
575
576
576
577
578
580
580
579
579
578
577
576
575
575
575
575
576
576
577
578
579
580
580
580
579
578
578
579
579
579
579
579
578
578
578
577
577
577
577
577
575
572
569
568
569
570
572
574
576
578
579
578
576
574
573
573
573
574
575
577
578
578
577
575
574
573
573
573
574
576
577
579
579
579
579
578
576
575
573
573
574
575
576
577
578
578
577
577
576
575
575
574
574
575
577
578
578
578
578
578
578
577
577
577
578
578
578
578
578
578
578
578
579
579
579
579
579
578
578
578
578
579
579
580
581
581
580
578
576
575
574
574
574
576
578
581
582
582
581
580
578
577
576
576
577
579
580
582
582
581
579
577
575
574
573
574
576
578
580
581
581
581
579
579
578
578
579
579
579
579
580
581
583
585
587
589
591
593
596
598
599
599
600
602
606
609
612
613
612
609
604
599
594
591
589
587
587
589
592
595
597
598
597
594
590
586
582
577
573
570
569
569
570
571
573
574
574
574
573
574
574
574
575
574
573
571
569
567
566
566
567
569
572
575
576
576
575
573
571
570
569
569
570
572
573
573
573
571
568
566
565
565
565
565
564
561
558
556
556
559
568
584
609
644
690
748
820
907
1007
1114
1223
1330
1433
1530
1615
1680
1713
1710
1668
1591
1484
1355
1211
1063
923
800
704
639
604
595
603
621
641
659
673
681
684
681
674
663
652
642
636
633
632
632
631
630
629
628
628
628
628
629
630
631
632
633
634
634
635
635
635
635
636
636
636
637
639
643
647
651
654
657
660
662
664
665
666
667
669
672
675
678
680
682
683
685
687
690
693
697
701
706
709
713
715
717
720
723
726
731
736
742
748
753
759
764
769
774
779
784
789
794
799
803
808
813
819
825
831
838
844
849
854
859
863
866
869
872
875
878
881
885
889
892
893
894
895
894
893
890
887
883
878
871
864
855
845
834
822
811
799
788
777
766
755
744
733
722
712
701
691
681
673
665
657
650
644
638
633
628
623
618
614
610
608
606
605
604
603
602
600
598
596
594
592
591
591
591
592
592
593
593
594
594
594
593
593
593
592
591
589
588
588
588
589
590
591
593
594
595
595
595
595
595
594
592
590
589
589
589
590
591
592
593
595
597
599
600
599
598
597
598
599
601
602
603
603
604
604
605
605
604
604
603
603
603
603
603
603
604
605
606
608
609
610
610
609
607
604
601
599
597
596
597
597
598
600
600
601
601
602
602
603
604
605
606
606
604
601
598
595
593
592
593
595
597
599
600
600
598
595
591
589
588
588
588
589
590
591
590
589
588
587
587
587
588
589
589
589
589
589
589
588
589
589
590
591
592
591
590
588
585
583
581
580
579
580
581
582
583
584
585
584
583
582
582
583
585
586
588
590
592
593
593
592
590
589
588
587
586
585
585
584
583
582
582
582
582
583
584
586
587
587
587
586
585
585
584
584
584
585
585
586
586
586
585
584
583
582
581
580
581
582
583
584
585
585
585
585
585
585
586
587
588
587
586
584
581
578
575
573
572
573
573
574
576
577
578
579
581
582
584
586
589
590
591
589
586
584
581
580
579
580
581
582
583
583
584
585
585
585
584
584
585
585
586
586
585
585
585
585
585
584
585
585
586
586
585
583
582
581
580
581
581
581
581
583
585
586
587
587
586
585
584
583
583
583
583
584
586
587
587
588
588
587
585
583
582
582
582
583
583
584
585
586
587
587
588
589
589
589
588
587
586
585
584
583
582
581
581
582
583
584
584
583
582
581
581
581
582
583
584
586
586
587
587
586
586
585
585
585
585
586
587
587
587
586
585
585
584
583
582
582
582
583
583
583
584
586
587
588
588
588
588
588
588
587
586
586
587
588
589
590
591
591
592
592
592
593
594
595
597
598
600
601
602
603
603
604
605
606
609
612
614
617
618
617
614
611
608
606
604
602
601
601
601
601
602
601
601
600
599
597
595
592
588
585
582
579
577
577
577
578
580
580
581
582
582
582
582
582
583
584
584
585
584
584
584
583
582
581
580
579
578
578
578
578
579
581
582
583
582
581
581
580
579
578
578
578
580
580
580
578
574
570
566
565
570
581
601
630
670
721
783
859
950
1050
1157
1263
1366
1463
1553
1629
1680
1697
1675
1617
1527
1411
1277
1134
993
865
758
677
626
601
597
606
622
640
657
672
681
685
683
677
667
656
646
639
635
634
635
636
637
637
636
635
634
633
633
633
633
635
637
639
640
642
643
645
647
647
648
648
648
648
648
648
649
651
654
657
660
664
667
670
673
676
678
681
684
687
691
694
697
700
703
706
708
710
712
714
717
720
723
726
731
736
740
744
748
752
754
757
759
762
766
771
777
782
788
793
799
804
810
816
822
828
833
839
844
848
851
854
857
860
863
867
871
875
880
883
884
885
884
882
881
879
877
875
872
869
864
859
851
842
831
819
808
797
786
776
766
756
745
734
723
712
702
692
683
674
666
657
650
643
638
633
628
624
620
616
613
610
608
606
603
602
602
603
603
602
601
600
599
598
596
594
593
592
592
592
592
593
593
594
594
593
592
590
589
588
588
588
589
590
591
593
594
594
594
594
594
593
593
593
595
596
596
597
597
597
597
597
597
596
596
596
597
599
601
601
602
602
602
602
601
602
602
602
602
602
602
601
601
601
601
602
604
606
608
608
608
607
607
605
604
602
601
601
601
602
602
601
601
601
600
599
599
600
600
600
599
597
596
595
595
594
593
592
591
591
591
591
590
590
589
589
589
589
591
592
593
592
591
590
588
587
586
586
587
587
588
589
590
590
589
587
585
584
583
583
585
586
587
587
586
585
584
583
581
580
579
579
579
579
579
579
579
578
577
577
578
579
581
583
584
584
584
582
580
577
575
574
574
574
576
577
579
580
580
580
580
580
580
581
582
583
583
582
581
579
577
575
573
572
572
574
575
577
578
579
580
580
580
580
580
580
581
580
580
580
580
580
579
578
577
577
576
575
575
575
575
576
576
577
578
579
579
579
579
578
577
576
576
576
577
578
579
580
582
583
584
584
584
584
582
582
581
581
580
579
577
573
570
568
567
568
568
570
573
576
579
580
579
578
576
575
575
577
578
579
581
582
582
581
580
578
576
575
574
574
574
574
575
576
577
578
579
579
580
580
580
580
580
580
580
580
580
580
581
581
582
583
584
585
586
585
584
581
579
576
574
574
574
576
578
582
585
587
587
586
584
581
580
579
580
581
583
585
587
589
591
593
595
596
597
597
598
598
597
597
596
596
598
601
606
612
618
621
621
619
615
611
605
601
598
596
597
599
602
603
604
604
603
600
596
590
585
580
576
574
573
572
573
575
578
581
584
585
585
584
581
579
577
575
575
576
576
577
577
578
578
577
576
575
574
573
572
572
572
573
574
574
573
573
572
572
572
573
574
575
577
579
579
577
573
568
561
557
557
562
574
593
621
658
703
759
828
910
1006
1110
1217
1321
1421
1515
1596
1655
1682
1672
1625
1546
1440
1315
1177
1037
905
789
698
635
599
587
590
602
618
635
651
664
671
672
668
659
648
639
632
628
628
629
631
633
633
632
630
628
625
623
622
623
623
623
624
626
628
630
633
635
638
640
643
646
649
650
651
652
653
655
656
659
661
665
668
670
672
674
675
677
678
679
681
684
688
690
692
694
696
698
701
704
708
713
718
724
729
734
738
741
744
747
751
755
760
765
771
776
782
787
791
796
800
805
810
815
821
827
834
839
844
848
851
853
854
856
858
862
866
870
873
874
876
877
878
878
877
876
873
868
862
854
845
835
824
813
803
794
785
776
765
754
741
728
716
703
692
681
672
665
660
654
648
642
636
630
623
617
611
606
602
599
597
594
592
591
590
588
586
585
584
584
585
586
586
586
586
584
583
581
579
578
578
577
577
577
578
579
581
581
581
581
579
576
575
575
576
578
580
583
585
587
589
590
590
590
589
589
588
588
588
588
587
586
586
586
587
588
590
592
593
592
592
591
591
591
592
592
593
593
593
593
593
594
594
595
595
595
594
593
592
591
590
590
590
590
591
591
592
592
591
589
588
586
584
581
580
581
583
585
587
588
589
589
588
588
587
586
585
584
585
585
584
582
579
577
575
575
575
576
578
580
582
583
581
579
577
575
573
573
573
573
572
571
570
570
570
569
570
571
573
575
577
578
578
577
575
574
572
570
569
569
569
571
572
574
574
575
574
574
574
574
573
573
573
573
573
573
573
573
573
573
572
572
571
570
570
570
569
568
569
569
570
571
572
573
573
574
574
573
572
571
570
570
570
571
572
572
572
572
572
571
571
571
570
570
570
570
571
571
570
569
568
568
568
568
568
569
570
571
571
571
571
571
570
570
569
570
571
572
574
575
575
575
575
574
574
573
573
573
574
574
574
575
575
574
573
572
572
572
571
571
571
571
572
573
574
575
576
575
574
574
573
572
571
570
569
569
571
573
574
575
575
574
575
575
576
577
577
577
576
575
574
574
573
572
572
572
573
575
577
579
580
580
578
576
574
572
571
569
568
568
570
572
575
577
578
578
577
577
577
576
575
574
574
574
575
574
574
574
573
574
575
578
580
582
584
585
585
584
582
580
578
577
576
575
576
576
577
577
578
579
579
580
580
580
580
581
581
581
582
582
583
585
586
587
588
589
591
592
593
594
594
595
595
596
597
600
604
609
613
617
618
618
615
611
606
602
598
596
595
595
596
597
598
598
598
597
595
593
591
589
586
583
580
577
575
572
571
570
571
571
572
572
573
574
576
577
578
579
579
580
579
579
578
577
576
575
574
573
573
573
574
574
575
574
575
575
575
576
576
576
575
575
575
575
575
574
572
570
568
564
561
560
562
569
582
602
630
669
717
778
854
944
1047
1155
1264
1369
1469
1561
1640
1694
1715
1698
1645
1560
1448
1317
1173
1027
891
775
688
631
603
598
609
627
647
664
678
686
688
684
676
665
655
647
642
639
637
636
635
634
633
631
630
631
632
634
634
634
634
634
635
635
636
638
641
644
646
648
651
654
656
659
660
662
663
665
667
668
668
668
668
670
672
674
678
682
686
691
696
699
701
701
701
703
706
709
714
719
724
730
734
737
740
742
746
750
755
761
767
774
780
784
788
792
796
800
804
810
817
824
830
836
840
844
848
852
855
859
864
870
875
879
882
885
888
890
891
893
896
899
901
902
901
897
892
886
879
870
861
850
841
832
823
813
801
790
777
766
754
743
732
722
712
703
693
684
676
667
659
650
641
633
626
622
620
619
617
615
613
610
608
605
603
600
598
596
595
594
594
594
594
594
594
595
597
598
599
598
597
595
593
592
590
590
590
591
592
593
594
593
593
592
592
591
592
593
593
594
594
594
594
593
593
592
593
593
594
595
596
597
598
598
598
599
599
600
601
601
601
602
602
602
602
602
603
603
603
604
604
605
606
605
604
603
601
598
596
595
596
598
601
603
605
606
607
606
605
603
601
600
600
600
599
599
598
597
596
596
596
597
598
600
601
601
600
598
596
594
592
592
592
593
593
593
593
592
590
589
588
588
588
588
589
589
590
589
588
587
585
584
584
584
585
586
587
587
587
586
585
584
583
583
584
585
586
587
588
589
588
587
585
583
583
583
583
584
585
585
584
582
581
581
580
580
580
581
583
584
585
585
585
585
585
585
586
586
585
585
584
582
581
579
578
578
578
579
580
581
583
583
583
583
583
583
582
583
583
584
585
586
587
586
585
583
581
579
578
579
580
582
584
585
586
585
585
584
584
584
584
586
587
588
589
590
588
586
583
581
581
580
580
581
582
582
583
582
582
582
581
580
581
582
583
584
585
586
586
585
584
584
584
585
586
587
587
587
585
582
579
576
574
575
576
578
581
584
587
588
588
587
585
584
582
582
582
583
583
584
585
585
586
586
587
587
587
587
586
586
586
585
585
585
585
586
586
587
588
588
589
588
588
587
586
586
585
584
585
585
586
586
587
587
587
587
588
588
589
590
591
591
591
588
585
583
581
