642
642
642
642
642
642
643
643
643
643
644
645
645
645
645
645
645
646
647
648
648
649
651
652
652
652
652
652
651
649
651
651
652
652
652
652
652
652
652
652
652
652
652
652
654
655
655
655
655
655
655
655
656
658
664
662
662
664
662
662
661
659
659
660
660
660
659
659
659
658
657
657
657
657
652
652
653
654
655
655
654
654
656
657
657
657
657
655
655
655
655
655
655
655
655
655
655
655
656
656
656
655
655
655
655
655
657
658
658
662
663
664
665
665
665
665
665
661
658
658
659
659
655
653
651
651
654
657
656
654
652
649
650
651
652
652
651
652
652
653
654
655
656
656
653
651
648
648
655
664
669
671
673
676
677
676
674
666
663
660
660
662
662
661
660
657
657
656
655
655
656
657
658
658
658
658
659
659
659
659
660
669
672
672
673
675
680
684
689
690
695
690
688
684
680
677
667
664
662
661
661
660
666
666
665
665
664
663
663
665
666
661
657
655
658
659
661
662
663
662
659
657
657
656
653
652
651
650
650
650
650
650
650
650
650
650
650
649
649
649
649
649
649
650
650
650
651
651
651
651
651
651
660
666
665
662
661
664
669
668
667
666
663
661
659
664
666
668
670
666
664
663
660
660
660
658
657
656
656
656
656
659
662
664
665
666
668
669
669
666
664
667
664
660
659
658
658
658
658
658
661
664
671
676
673
672
669
667
666
666
663
663
662
661
660
661
665
666
669
672
674
677
679
676
673
671
668
672
673
669
671
672
677
679
678
673
669
666
664
663
663
663
663
664
664
665
676
678
676
664
663
663
663
664
667
663
661
657
657
657
658
658
659
660
660
658
658
655
659
659
660
660
661
667
669
679
680
681
682
683
685
687
688
688
689
690
691
691
691
691
691
690
684
684
684
683
682
668
663
664
665
675
674
674
675
677
674
669
668
667
665
665
672
674
674
675
673
671
669
669
669
669
668
668
668
667
667
667
667
667
667
666
666
666
666
667
667
667
675
674
673
673
673
675
676
676
674
674
674
675
675
676
676
674
673
673
673
674
675
676
676
677
678
678
679
679
680
678
678
674
674
673
672
671
670
670
670
671
671
672
674
676
677
678
680
681
679
677
674
673
673
673
673
673
672
669
669
668
667
668
679
679
678
678
676
676
676
675
675
675
675
675
674
673
673
672
670
670
670
670
670
670
670
671
672
671
670
671
672
674
675
675
674
676
678
679
679
679
680
681
685
685
686
686
685
685
684
684
684
685
686
692
698
696
695
698
700
695
692
691
687
688
690
693
697
699
699
699
699
699
699
699
700
701
703
701
699
698
700
703
704
705
706
706
706
707
707
706
703
701
700
700
700
700
701
701
703
704
704
704
703
705
705
704
705
706
705
702
702
702
702
702
702
700
703
708
708
707
707
705
704
704
711
710
710
709
709
708
708
708
708
708
708
708
709
710
710
711
714
714
714
713
713
712
712
710
707
706
705
704
704
703
703
709
712
713
714
714
714
716
716
716
716
716
716
716
716
717
719
719
716
716
717
718
719
720
724
727
728
728
726
724
723
723
722
722
722
722
722
728
731
733
734
739
738
738
738
740
741
746
744
740
740
741
743
744
745
745
744
742
741
741
742
743
745
747
747
745
741
741
744
746
747
748
754
753
752
753
754
754
757
763
769
774
775
780
782
782
785
787
789
798
801
812
817
820
822
824
828
830
832
834
835
836
837
838
840
846
847
853
855
859
860
862
863
864
866
868
869
870
870
871
872
877
880
881
885
887
887
886
885
880
874
872
870
868
866
861
857
855
854
854
855
856
858
864
866
866
867
871
877
882
886
887
888
892
900
904
908
909
911
914
919
928
928
928
925
924
914
913
913
914
919
921
924
925
928
932
935
937
940
943
946
950
954
952
949
942
936
933
932
930
927
925
926
931
935
935
934
925
914
911
905
899
897
894
889
887
884
881
880
880
880
880
880
876
871
857
852
852
852
858
861
852
846
845
846
849
850
849
831
832
832
847
839
844
845
844
842
837
836
836
836
836
837
839
838
836
836
836
833
830
830
830
830
832
833
840
839
838
837
835
827
835
836
834
832
830
830
830
831
832
829
827
827
826
825
825
823
822
820
819
819
820
821
821
822
828
829
831
832
835
836
837
838
839
852
852
851
839
830
832
834
835
835
841
842
842
844
847
863
861
861
873
873
872
872
863
859
855
849
833
827
824
824
822
821
820
819
818
818
817
817
816
815
812
811
810
809
809
809
809
809
807
807
807
806
806
805
804
803
802
802
801
800
798
796
794
791
788
783
780
778
774
765
760
758
757
757
756
754
748
738
731
728
727
717
711
709
708
706
703
698
707
710
711
712
716
722
721
720
722
726
731
750
755
769
777
779
780
781
786
793
795
802
808
807
804
801
798
788
776
778
780
781
777
773
758
756
754
753
751
750
748
747
746
744
742
740
738
731
723
720
719
719
718
717
716
715
713
710
708
701
698
695
693
690
685
684
680
676
667
663
655
652
649
648
652
653
654
654
659
662
665
667
667
666
662
661
664
664
663
662
660
661
664
665
665
666
666
673
675
679
684
684
683
681
678
674
674
674
673
673
672
672
677
678
681
685
685
697
699
699
699
704
707
708
710
711
711
711
712
716
719
721
722
722
723
723
719
721
727
727
731
732
743
742
739
738
738
737
736
735
735
734
733
733
731
731
731
731
729
728
727
725
722
721
721
721
721
721
721
719
718
716
713
709
708
707
703
702
701
701
701
701
701
701
698
693
691
690
688
685
681
682
683
684
683
683
684
685
689
691
695
696
696
696
696
696
696
695
695
694
693
693
692
692
692
694
694
695
696
697
697
699
700
702
704
704
705
705
706
708
713
714
717
719
720
720
721
722
721
719
719
721
722
723
723
724
724
723
722
721
719
720
720
720
720
721
722
722
722
718
717
718
718
720
720
721
723
724
725
726
727
730
732
734
736
738
738
739
739
739
739
740
740
741
741
742
743
743
743
743
743
743
744
745
748
750
752
753
753
753
753
753
753
738
735
734
733
733
731
729
729
728
728
727
726
724
721
719
718
716
713
710
706
705
704
704
704
704
704
704
704
704
704
705
707
707
708
709
710
710
709
706
702
696
695
694
692
691
689
689
688
687
687
686
686
685
684
683
681
680
679
678
678
677
676
674
673
673
673
673
673
673
672
671
670
670
669
668
667
666
666
665
664
664
662
661
661
660
659
659
659
658
658
658
658
658
658
658
658
658
657
657
656
656
655
654
654
654
656
656
657
658
660
661
664
664
664
663
662
662
662
662
657
653
650
647
647
647
647
648
648
648
650
651
652
654
655
657
658
661
665
670
671
672
672
673
673
674
676
677
678
678
678
670
667
661
658
656
655
654
653
649
645
644
644
644
645
645
644
644
644
647
648
648
649
649
650
651
652
654
656
656
657
658
661
662
665
668
669
669
671
671
671
671
671
670
674
677
680
681
682
683
683
683
684
684
683
682
681
681
683
683
683
683
687
696
697
701
703
706
707
707
708
708
708
708
709
710
713
714
716
718
722
725
726
728
733
736
737
739
742
743
743
745
747
749
749
750
751
753
754
760
765
769
770
772
777
777
778
782
783
785
785
787
788
789
789
789
790
791
792
795
798
800
801
805
808
808
809
808
808
808
810
811
813
814
815
817
817
816
816
816
815
814
814
814
814
815
816
816
817
818
818
819
819
820
820
821
821
821
822
822
824
824
825
826
826
827
827
828
828
828
829
829
830
830
830
830
830
830
830
830
830
831
833
834
835
836
837
838
839
841
841
841
841
841
841
841
841
841
841
841
841
841
841
841
841
841
839
837
836
836
835
835
835
834
834
834
833
833
833
832
832
832
832
832
829
827
825
818
817
817
815
812
812
810
810
810
809
809
809
809
808
800
799
797
796
795
794
791
791
790
790
790
786
784
783
780
772
767
766
763
758
756
752
747
745
742
741
740
740
739
738
729
729
727
722
721
720
719
712
707
705
704
703
697
696
694
676
665
666
668
672
675
676
676
676
678
674
674
672
671
669
665
662
661
656
651
651
652
652
653
652
651
650
650
653
656
655
660
659
662
664
664
670
668
668
670
672
676
680
683
684
686
688
689
691
693
696
697
695
693
692
689
688
687
686
685
684
681
669
658
658
659
659
659
659
645
645
643
641
650
654
657
633
633
630
628
635
633
632
632
630
629
629
629
629
630
629
629
628
628
628
627
627
627
627
626
626
626
626
627
627
627
627
626
625
625
633
634
634
634
634
634
633
633
633
633
634
636
638
640
644
644
645
645
645
646
646
646
648
651
651
652
652
652
652
654
655
656
657
658
659
659
659
661
664
665
665
665
664
658
658
653
650
650
648
648
648
647
648
648
648
649
649
648
647
646
646
644
642
640
639
636
631
629
627
626
626
625
624
625
625
629
629
627
627
631
634
635
635
635
633
631
624
623
628
628
627
625
625
625
628
631
632
635
639
641
637
640
642
644
645
648
648
649
650
647
647
647
648
648
649
651
652
652
653
653
654
660
662
665
664
664
664
664
659
659
657
655
653
652
652
652
652
652
652
652
651
650
648
646
646
645
644
643
643
642
641
640
636
635
634
633
632
632
634
635
635
635
634
634
633
631
625
625
626
627
627
627
627
627
627
627
628
628
629
629
629
630
630
630
630
630
629
629
629
629
630
630
632
632
631
631
631
631
633
633
634
636
636
646
653
663
664
664
663
663
663
664
666
666
667
667
667
667
667
666
666
666
666
666
666
666
666
666
666
666
665
657
654
643
638
638
639
644
645
645
648
647
645
644
644
647
650
650
649
648
647
647
647
647
648
649
649
650
650
650
651
651
651
651
651
651
651
651
650
648
647
646
644
649
650
653
655
660
659
658
658
658
659
659
660
662
663
664
664
665
665
665
665
665
665
665
665
666
667
668
672
673
675
676
677
679
680
681
682
684
684
685
685
685
685
686
687
688
691
693
694
695
696
698
699
699
698
697
695
694
694
693
690
690
690
690
690
689
689
688
686
685
684
683
683
683
683
681
681
681
680
676
675
673
672
670
670
670
670
670
670
670
669
668
671
672
676
677
678
677
673
673
674
674
675
675
675
674
673
668
668
668
660
651
650
648
652
654
656
657
658
659
659
659
660
660
663
664
666
670
671
671
671
670
670
669
669
669
669
668
667
666
665
664
664
664
664
660
651
649
646
644
643
643
641
641
640
640
641
643
644
645
647
649
651
653
655
656
658
658
659
660
663
664
664
664
663
663
663
661
658
656
651
645
642
642
639
638
636
636
633
633
636
638
639
641
641
644
640
647
648
650
653
657
659
656
654
652
648
647
646
645
650
652
654
658
659
659
656
654
654
654
654
654
654
654
654
656
669
674
670
663
660
648
647
647
647
650
656
655
654
654
649
648
647
646
646
646
645
641
641
641
639
643
650
651
652
654
656
659
659
659
658
656
650
650
649
648
648
648
648
648
649
649
649
649
643
643
644
646
648
650
647
647
648
646
645
644
643
645
647
650
645
645
649
650
650
645
644
645
641
641
641
641
641
641
642
643
644
646
649
651
649
642
642
642
642
642
642
643
644
644
642
644
644
644
644
642
641
642
643
643
643
643
642
640