577
577
578
580
582
583
583
588
590
592
592
595
601
603
606
608
610
610
610
611
611
612
612
612
613
613
613
612
612
611
611
611
611
611
611
611
613
613
616
624
622
624
628
636
639
645
645
650
653
653
655
666
667
669
670
672
674
675
676
678
679
680
681
681
681
681
681
681
681
681
681
681
681
682
684
688
691
696
698
701
702
705
705
705
705
705
705
705
705
705
704
695
693
690
688
687
686
685
682
680
677
675
675
674
673
672
669
669
668
665
664
664
659
657
652
649
648
647
647
648
648
648
648
646
644
642
642
642
642
641
641
641
641
642
642
643
643
643
646
647
649
650
650
653
653
652
652
652
652
651
651
650
650
650
648
648
648
648
646
644
643
642
642
643
643
643
643
644
644
644
644
646
646
646
646
646
646
646
646
646
646
646
648
649
651
653
653
654
654
654
657
658
660
661
661
661
660
659
658
672
674
677
677
672
662
661
661
661
658
656
654
652
651
648
647
645
645
642
640
640
640
638
638
638
636
637
636
636
636
635
635
634
634
635
635
638
641
642
647
643
641
639
639
637
634
635
637
637
638
639
642
643
644
646
646
646
641
640
640
640
638
633
633
633
634
635
636
636
636
637
637
637
637
637
636
635
635
635
633
633
632
632
633
633
636
636
636
638
638
638
639
641
643
649
650
651
654
654
659
664
665
666
666
666
668
668
667
667
665
665
664
664
663
663
660
660
660
660
660
660
660
660
660
660
660
660
660
659
656
654
653
653
653
652
650
650
650
649
649
648
661
663
664
664
666
667
667
667
667
659
657
648
653
657
656
656
654
654
654
653
653
652
652
651
651
651
651
651
651
652
652
652
652
652
655
657
658
658
660
661
665
666
668
667
667
666
664
660
660
659
650
647
642
643
643
643
644
644
645
645
645
647
647
648
648
648
649
649
652
652
653
654
655
655
655
655
655
655
655
655
653
651
650
649
648
648
648
649
651
651
652
652
655
655
655
655
655
655
655
655
655
655
657
659
659
659
660
660
662
662
662
662
662
662
663
663
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
665
665
665
665
665
666
668
671
673
671
669
666
666
667
667
668
668
670
670
671
672
675
676
679
679
682
682
681
681
681
681
681
682
687
689
689
696
699
699
701
716
715
715
715
714
711
710
709
707
705
700
700
698
698
698
698
702
702
704
704
707
706
706
706
705
705
704
704
706
707
707
708
710
720
721
722
723
728
730
732
735
737
737
738
738
739
739
739
740
740
741
741
741
741
742
741
740
739
738
737
735
735
738
738
739
741
746
747
747
748
753
756
759
761
761
761
762
762
763
763
765
765
765
766
769
771
778
778
778
779
779
779
779
779
778
777
775
775
774
773
773
772
771
770
772
773
774
775
776
777
779
779
779
778
778
777
777
777
778
780
780
780
781
785
785
786
788
796
798
798
798
799
798
797
791
788
788
786
785
785
785
784
783
782
781
779
779
776
776
775
775
776
777
777
776
774
774
771
768
768
768
767
766
765
760
759
759
759
758
756
755
758
758
758
759
759
759
766
771
774
776
778
780
783
783
783
786
788
788
793
795
795
795
795
795
795
799
793
792
788
782
774
769
765
759
756
751
751
750
751
751
755
758
758
765
769
767
766
766
764
760
759
758
759
760
761
762
763
763
761
760
760
758
758
759
760
762
762
762
764
764
764
763
765
766
767
769
767
767
769
770
770
771
772
772
773
774
777
777
777
785
790
795
805
808
809
810
810
810
811
811
812
814
813
810
810
808
806
798
794
794
786
779
777
777
777
777
777
777
777
777
777
777
777
781
791
797
799
799
798
796
795
794
793
791
790
789
783
783
781
780
780
769
767
766
765
764
763
763
763
763
762
762
762
762
761
761
761
761
762
762
762
762
762
762
762
760
757
755
755
755
755
755
755
755
756
760
764
768
768
768
768
768
768
768
768
769
769
770
771
773
774
777
777
777
777
777
777
777
777
777
778
778
779
779
780
780
777
774
772
770
768
765
762
762
761
760
760
758
755
754
755
756
759
760
762
762
762
762
763
763
763
763
764
764
776
786
786
794
795
794
791
790
790
788
785
783
780
776
774
770
765
764
763
762
762
762
762
765
766
768
770
773
774
771
771
770
767
767
765
758
757
756
756
755
755
755
755
756
758
758
759
763
764
767
770
771
771
774
775
777
778
788
794
794
797
798
798
798
801
801
800
800
797
794
791
790
787
787
785
780
772
762
761
761
761
760
757
756
757
757
758
760
762
763
765
767
767
770
771
771
773
777
782
788
787
787
786
785
782
782
780
778
774
774
775
775
775
776
776
777
778
778
778
777
776
774
774
776
781
784
784
786
786
786
787
788
790
792
794
795
797
791
786
784
784
787
789
790
791
796
797
801
802
802
802
802
802
802
802
802
802
802
800
794
792
791
790
788
786
766
763
762
761
763
768
770
770
771
774
776
776
776
776
777
779
780
782
783
783
783
780
771
768
771
772
774
775
776
776
777
777
778
779
780
781
782
783
783
781
780
778
777
776
775
771
771
769
769
769
768
767
767
766
768
770
770
771
772
773
777
777
775
772
769
767
767
765
764
763
763
763
763
763
763
763
764
764
765
765
765
766
766
766
767
768
769
769
769
769
771
773
773
775
778
780
782
783
784
785
784
783
782
780
779
779
779
778
777
776
776
775
773
773
773
773
773
773
773
773
773
773
773
773
776
777
777
779
779
779
779
779
780
781
782
783
783
784
785
785
786
786
786
787
787
787
787
787
788
788
788
791
792
792
793
795
796
795
794
794
793
791
790
788
787
782
779
778
778
774
773
773
773
771
770
769
768
767
764
763
763
761
759
755
741
738
735
734
732
729
729
729
729
729
729
729
729
729
729
729
729
729
729
729
729
729
730
730
730
731
731
731
731
731
731
731
731
732
734
735
735
736
736
735
735
735
734
734
734
734
734
734
767
767
768
769
774
775
778
786
786
788
792
793
794
797
801
804
804
804
806
807
807
809
809
808
805
805
804
803
802
800
800
798
798
800
801
801
802
803
803
804
804
804
804
804
804
804
805
806
808
809
812
812
812
813
810
808
812
810
808
806
806
814
815
812
823
830
848
862
877
879
874
875
878
873
881
873
875
878
885
884
883
895
941
957
938
927
923
918
920
914
912
895
893
890
887
887
888
888
846
842
846
828
803
806
813
813
806
799
795
787
789
788
788
791
791
793
797
805
815
808
807
807
815
818
820
822
823
826
837
847
865
874
885
894
899
894
915
934
939
939
938
914
913
908
899
896
901
908
908
908
925
927
925
927
934
939
961
986
999
997
993
981
969
947
912
903
890
883
881
878
879
875
873
879
889
885
877
870
846
839
835
826
801
790
787
788
782
775
758
748
748
746
745
747
747
743
739
742
741
733
738
737
735
749
759
770
768
761
766
745
746
755
756
756
758
759
759
759
762
770
773
775
781
761
767
771
765
767
754
742
732
734
737
731
727
724
722
720
722
720
718
712
715
712
711
711
710
709
709
709
708
704
703
703
727
716
706
703
691
709
700
690
702
697
696
698
697
685
682
682
694
715
730
725
707
705
716
710
704
702
711
708
711
719
725
732
735
732
738
750
770
777
788
815
821
820
846
855
854
857
853
877
885
891
899
904
929
937
955
1005
1049
1040
1060
1100
1131
1147
1149
1155
1163
1150
1137
1127
1100
1103
1101
1085
1081
1052
1050
1030
1027
1026
1011
953
948
947
920
903
880
873
856
836
800
776
762
758
747
742
744
743
738
737
738
746
753
755
743
737
742
744
742
732
750
739
738
738
736
728
738
735
727
715
718
725
733
727
723
735
762
722
711
709
710
712
708
706
723
722
705
653
645
643
644
642
641
644
643
642
640
639
647
653
649
644
644
652
657
657
657
656
655
662
656
654
656
655
639
631
631
631
632
632
633
634
634
635
636
637
642
644
647
648
666
667
652
634
629
633
633
633
639
652
646
651
653
655
658
661
659
659
694
698
704
705
705
696
678
680
682
685
700
704
705
705
707
718
734
742
756
768
755
753
743
738
730
719
703
690
681
669
659
651
646
648
643
643
642
641
639
637
636
641
639
639
638
637
635
635
635
634
634
632
632
632
632
631
631
631
631
631
631
630
630
631
641
635
638
662
674
674
675
675
676
676
676
676
676
676
674
674
674
674
675
675
678
679
682
682
685
687
690
691
696
695
706
706
720
723
727
729
732
736
739
731
725
723
716
712
710
686
683
683
683
681
679
677
668
672
676
677
678
678
678
672
668
665
667
666
656
650
647
652
634
628
636
639
633
628
628
632
632
634
636
635
630
628
627
627
629
631
635
637
637
637
637
637
637
637
637
637
638
638
638
638
638
638
638
638
638
637
632
631
630
630
641
636
635
635
637
643
649
652
648
644
643
645
647
649
650
650
655
654
643
657
652
650
649
650
661
655
672
671
656
662
673
685
681
663
662
661
660
660
660
664
666
664
666
680
687
686
686
681
681
682
693
692
694
697
706
734
744
726
720
718
719
717
721
728
728
727
730
732
735
740
781
789
789
753
738
737
733
726
720
708
704
698
689
684
678
679
677
676
676
677
676
675
679
684
685
672
687
693
688
680
672
655
657
655
650
650
649
647
648
651
649
646
645
645
645
653
667
668
655
663
658
652
650
637
634
646
674
677
677
704
710
716
721
719
718
727
727
723
717
710
703
705
710
707
689
672
664
662
660
660
660
655
659
679
678
649
638
638
637
635
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
629
628
628
628
629
629
629
629
629
628
625
625
624
621
620
618
617
617
616
617
618
618
618
619
619
620
621
619
618
617
615
613
613
612
611
610
610
609
607
606
606
605
602
598
598
596
594
592
591
590
588
585
585
585
585
585
584
584
584
584
584
584
584
584
584
584
584
584
587
587
587
589
589
587
586
585
584
585
587
587
588
587
588
588
589
594
596
603
599
597
598
598
617
619
620
622
622
624
627
627
632
626
618
617
617
614
607
598
598
595
585
585
584
583
583
582
582
582
582
583
583
583
582
582
584
586
587
587
588
590
591
592
592
592
592
592
592
592
606
606
605
603
603
603
601
601
601
600
595
591
586
585
584
583
583
582
581
581
581
581
580
580
580
580
581
582
582
582
583
583
585
585
585
585
585
582
583
588
600
600
604
620
617
617
616
605
594
587
587
588
589
589
589
588
587
585
584
584
583
582
582
582
581
581
581
580
580
580
580
580
580
580
580
580
580
580
580
580
580
581
582
582
582
582
582
582
583
582
582
582
582
586
588
588
588
589
588
587
586
586
586
585
584
583
580
580
580
580
581
582
585
584
582
581
581
581
582
584
585
585
585
583
578
580
580
580
581
582
582
582
585
585
585
583
583
583
583
582
586
589
589
589
588
587
585
583
582
582
581
579
579
579
580
583
584
586
587
588
589
590
591
592
592
591
590
581
581
581
581
580
580
580
580
580
580
580
580
579
579
578
578
578
578
579
579
579
579
579
579
579
579
578
578
578
578
579
579
581
583
585
591
593
595
600
601
603
605
607
607
606
604
604
604
603
602
600
588
588
586
586
586
586
586
604
606
607
608
609
610
618
618
616
614
612
611
611
609
608
609
611
617
619
619
619
620
617
617
616
614
612
608
602
597
597
595
593
591
590
582
581
580
579
579
579
578
578
578
578
578
579
580
580
581
581
581
580
580
579
579
579
579
578
578
577
577
577
577
577
577
577
577
578
578
578
578
579
579
579
576
577
578
578
578
578
578
578
578
582
582
587
588
588
588
588
587
586
585
585
585
585
584
584
581
582
585
585
591
587
581
579
579
579
579
579
579
579
579
579
579