641
641
642
642
642
642
643
643
643
644
644
644
644
645
646
646
647
647
648
649
649
652
668
669
676
689
705
722
732
732
735
737
742
748
750
754
757
757
757
758
759
760
760
761
762
763
763
764
767
768
770
771
771
772
785
788
790
791
792
795
797
798
802
806
807
809
811
816
816
816
809
808
807
805
804
804
803
802
802
802
802
805
805
805
805
805
800
797
793
790
789
788
787
787
786
786
786
786
786
786
786
786
789
794
796
797
797
799
801
805
807
811
813
815
816
816
817
821
823
834
835
838
838
840
840
836
834
832
830
827
826
824
822
822
822
821
821
820
817
812
808
806
803
802
800
800
799
799
797
795
794
792
791
791
791
789
789
787
787
787
785
784
784
784
784
784
784
783
782
782
781
780
780
779
779
778
777
776
776
776
775
775
775
776
776
778
778
778
778
779
779
780
780
780
780
780
780
780
780
780
779
779
779
779
775
774
772
771
771
771
770
769
766
765
760
754
752
747
744
741
732
730
727
726
725
721
722
725
726
722
722
721
719
704
703
699
698
696
694
693
693
691
690
690
689
688
687
686
685
682
681
678
676
671
669
663
663
664
666
664
664
664
659
657
654
653
650
640
638
638
633
632
631
631
631
629
629
629
628
627
626
624
623
622
621
621
621
622
622
622
621
621
619
618
618
615
613
612
608
608
608
606
604
603
603
602
600
600
600
600
602
604
607
611
613
613
613
614
614
615
616
618
620
620
620
620
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
620
619
619
619
619
619
618
618
618
616
616
616
614
614
613
612
610
610
609
609
608
608
608
607
607
606
605
604
604
602
601
600
599
598
598
597
594
592
591
589
588
586
586
586
586
586
586
586
586
586
586
586
585
584
583
583
582
580
580
580
578
575
575
573
571
569
565
563
562
561
560
558
556
553
550
544
541
539
539
535
532
525
518
518
517
517
516
516
515
515
513
512
510
507
505
505
503
502
502
502
501
501
502
501
500
500
499
499
498
497
497
497
496
495
495
494
491
489
489
487
486
482
482
479
479
478
478
478
477
477
477
477
477
477
477
477
477
477
477
477
477
477
476
476
476
476
476
477
478
481
490
500
502
504
508
510
512
515
525
526
537
546
548
551
550
548
550
555
562
563
566
568
570
571
574
574
579
581
582
582
582
583
585
586
587
583
573
570
569
565
563
561
560
558
558
558
558
558
558
558
557
557
557
557
557
557
557
557
557
557
557
557
560
560
560
560
560
560
560
560
560
562
563
563
564
564
564
573
577
578
581
583
585
586
586
588
599
604
605
608
612
613
613
613
613
613
613
613
613
612
612
612
612
613
614
616
617
617
619
621
629
632
632
633
649
670
673
678
683
687
690
695
697
697
697
692
688
686
683
673
673
673
672
669
669
669
669
671
674
677
677
678
678
678
678
679
680
683
683
684
689
691
695
696
696
697
698
696
697
698
699
699
698
689
683
682
682
681
681
673
669
664
664
664
664
663
661
663
663
665
666
666
666
665
665
664
659
658
657
652
648
648
646
631
623
614
608
608
608
608
604
602
599
596
586
586
580
573
571
570
570
569
566
563
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
555
545
544
540
540
540
539
539
539
539
539
539
539
539
538
538
538
538
537
537
537
537
537
537
537
537
536
536
536
536
536
535
534
533
533
533
532
532
532
532
532
532
531
531
531
530
530
530
531
531
532
532
532
532
532
532
532
532
532
532
531
531
531
528
527
527
520
519
519
518
518
518
518
518
518
518
518
518
518
517
517
515
513
513
511
511
509
506
506
506
506
508
509
509
511
514
516
516
517
517
518
518
520
521
531
531
531
532
534
536
539
539
539
540
540
540
541
541
544
544
548
551
554
554
554
554
554
554
554
554
555
556
556
558
561
561
564
564
564
564
565
570
571
575
575
576
579
583
586
587
589
592
593
598
602
603
603
603
603
602
599
599
600
601
603
606
609
611
612
614
616
617
616
616
616
615
614
612
611
608
608
605
603
601
599
598
598
598
597
596
594
593
591
588
588
586
586
585
585
593
594
595
594
592
590
590
593
596
599
617
622
622
624
624
624
623
623
623
623
626
628
632
634
634
636
639
642
646
650
658
661
664
666
671
672
673
674
678
680
680
680
681
681
681
681
682
686
690
693
694
695
698
699
699
699
701
707
709
713
723
723
723
721
722
725
730
736
748
753
755
754
754
754
756
758
762
762
764
770
773
779
781
783
784
785
786
794
795
796
798
799
799
800
800
800
798
798
796
794
791
790
788
786
785
782
781
780
780
780
780
780
780
780
778
775
773
772
770
768
766
754
754
751
744
739
718
708
698
690
682
664
657
647
642
638
632
628
628
626
622
618
609
604
601
599
605
615
619
619
619
620
620
620
620
627
630
632
637
639
642
643
643
641
641
640
640
640
640
640
640
640
639
639
639
639
639
640
645
645
649
651
651
656
664
668
677
679
685
688
691
691
694
700
700
701
701
689
685
683
680
679
672
668
676
686
702
719
733
745
750
760
766
769
776
776
792
798
798
799
800
803
808
808
813
809
809
812
814
814
813
813
814
814
814
815
819
820
818
818
818
819
820
824
825
827
829
831
835
836
840
842
843
843
844
846
847
844
841
841
840
840
840
839
839
839
839
839
839
839
835
834
832
828
829
832
836
837
838
839
843
844
845
846
847
849
850
851
851
851
852
852
852
852
852
851
842
841
841
840
840
840
839
838
837
832
828
824
821
821
818
817
817
817
819
819
820
821
823
823
822
820
820
819
818
817
814
813
813
813
813
814
816
816
817
818
818
817
815
814
813
812
812
812
810
809
803
778
775
773
770
768
769
770
770
772
773
774
775
776
779
779
779
780
780
780
779
778
778
778
776
775
773
773
773
773
773
775
777
781
785
789
799
807
809
809
809
808
808
809
809
809
812
816
827
834
839
841
841
844
845
847
849
850
851
852
854
857
858
860
860
859
859
859
859
859
860
860
860
860
868
873
873
874
876
881
886
890
889
887
885
883
883
887
890
892
895
897
897
898
898
898
894
887
882
878
876
876
875
870
869
866
861
859
858
856
852
850
849
843
843
838
832
835
835
835
836
838
848
855
855
857
858
859
859
860
860
859
859
858
858
858
858
859
867
866
864
862
862
864
865
866
868
870
872
874
875
876
875
874
873
872
870
869
869
868
868
869
870
871
873
874
878
879
880
880
880
875
874
870
863
860
859
859
858
855
855
854
854
854
854
855
853
850
846
840
835
832
815
814
809
807
800
799
797
795
793
792
790
786
786
778
777
776
774
773
769
767
766
766
774
776
776
771
768
771
772
774
773
772
772
772
773
774
774
770
771
773
772
770
764
763
758
758
755
753
746
743
742
742
741
740
740
740
740
739
739
739
737
734
730
728
727
723
722
715
711
705
701
697
696
691
686
675
670
666
663
667
678
678
675
672
657
656
651
649
647
645
643
642
641
638
637
637
637
637
637
637
637
637
637
636
633
630
628
627
635
641
642
646
648
649
649
651
652
652
653
661
664
664
665
666
666
666
667
667
667
667
670
671
673
676
677
678
678
676
680
676
668
669
673
676
675
674
672
671
667
662
661
660
660
659
659
659
659
659
659
659
659
659
659
658
656
645
643
642
642
640
640
640
640
640
640
640
640
640
639
638
638
638
638
639
639
639
639
639
639
639
639
639
639
639
639
640
640
640
646
651
654
655
658
658
658
658
658
658
658
657
657
657
657
658
658
658
657
657
657
657
657
657
657
657
658
658
658
659
659
663
663
661
660
658
657
657
659
659
659
659
659
659
659
659
658
658
657
657
657
657
657
658
658
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
658
656
654
654
654
653
653
653
651
650
648
645
641
641
641
639
638
638
638
637
637
637
637
639
640
640
640
640
640
640
640
640
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
640
640
640
640
640
641
641
641
641
640
640
639
639
639
639
640
640
640
640
640
640
639
635
629
629
638
637
634
634
634
634
634
634
636
637
638
638
638
638
639
639
639
639
639
640
640
640
640
640
639
638
637
634
634
634
633
633
633
633
628
627
633
635
637
640
640