641
641
641
643
644
642
642
643
643
644
644
646
647
649
649
650
651
651
653
654
654
654
657
659
657
653
647
646
646
646
646
647
647
648
648
648
647
646
645
643
641
639
637
638
639
640
640
636
631
629
628
624
620
617
615
613
613
619
623
625
624
623
622
621
620
618
617
616
615
614
613
613
610
607
602
596
591
591
591
593
595
602
603
605
605
600
598
600
593
590
584
580
579
582
585
586
587
587
587
587
586
586
586
585
584
583
580
576
573
570
569
566
564
565
567
565
563
562
561
559
555
553
552
550
550
550
554
555
554
553
553
552
550
549
547
546
545
544
544
544
544
544
544
544
543
543
543
542
542
541
539
537
535
534
535
536
536
536
536
535
535
535
535
534
534
533
533
533
533
532
532
532
532
531
531
531
530
530
530
529
527
525
523
516
512
511
509
507
504
494
489
482
470
465
461
465
468
450
442
441
454
453
450
443
441
439
439
438
436
434
431
428
425
422
410
403
401
400
399
398
400
403
404
407
408
406
403
403
408
411
413
416
423
426
438
444
450
455
461
459
459
460
461
462
463
464
464
464
465
466
469
476
481
483
483
483
500
504
509
512
517
522
526
531
530
525
521
526
532
528
524
523
524
525
533
538
543
545
545
545
547
551
553
566
569
572
572
572
572
575
580
584
587
586
583
580
577
577
576
574
573
572
572
571
571
570
569
568
567
565
565
565
560
554
553
552
550
550
552
553
553
554
557
558
559
559
560
556
549
547
551
556
555
553
549
547
544
553
556
555
552
549
545
545
546
547
550
553
556
558
561
563
562
560
558
558
555
556
560
560
560
559
559
559
560
560
561
562
562
562
562
562
561
559
559
559
558
557
556
551
553
555
559
561
565
565
565
547
550
552
553
559
561
564
565
568
568
568
568
568
569
569
570
570
571
571
572
578
579
579
579
579
579
579
580
580
580
581
582
582
582
583
583
584
584
585
585
585
586
586
586
590
593
597
597
596
596
597
598
598
601
602
602
603
603
603
603
603
602
602
602
602
603
605
606
607
610
611
612
612
613
615
616
619
622
625
626
628
630
636
642
650
655
655
655
656
656
657
657
656
655
653
653
653
654
654
655
657
670
687
700
705
711
709
709
708
699
695
695
700
704
708
711
712
714
717
717
717
717
717
717
719
720
720
720
723
726
728
732
734
736
744
745
747
748
751
752
755
771
775
778
781
782
787
788
789
791
796
798
801
802
805
809
816
816
816
816
816
816
816
816
817
817
817
817
817
820
822
829
831
833
838
839
841
842
843
843
844
845
848
850
853
854
853
852
851
851
850
850
850
846
843
840
838
836
834
834
833
832
832
834
835
836
837
836
830
826
823
820
821
829
835
840
837
835
832
829
822
822
820
817
810
803
799
795
791
790
791
787
782
779
776
776
775
774
771
768
765
760
759
761
767
776
787
792
796
792
781
772
771
770
770
771
772
772
770
765
763
759
755
745
737
732
732
732
733
735
744
744
738
733
728
724
729
737
743
745
740
738
731
729
721
719
717
714
713
710
707
718
724
728
720
709
700
695
688
689
691
693
693
694
698
700
707
716
711
709
711
714
717
714
700
696
691
687
685
684
690
688
686
683
680
678
672
670
669
668
668
669
670
670
665
659
664
668
673
677
679
674
673
669
666
663
660
656
653
652
652
652
654
654
654
652
647
645
643
643
643
643
643
644
645
645
645
645
645
647
650
652
649
648
646
641
638
637
640
646
651
655
660
660
652
647
644
640
642
650
657
657
656
655
654
652
651
651
650
649
645
640
637
636
636
637
638
639
645
656
665
669
671
672
673
671
668
668
669
669
670
660
649
648
646
645
643
644
647
651
651
650
648
652
662
669
669
664
667
674
679
690
695
689
683
677
674
673
679
675
675
680
688
691
693
691
687
693
695
693
696
695
693
690
687
685
684
683
683
683
683
683
682
683
689
690
692
697
701
704
706
707
708
709
711
712
713
715
715
715
715
715
717
718
721
722
722
724
725
726
729
731
735
740
745
750
752
753
755
757
759
759
759
759
759
759
759
759
759
759
759
759
759
759
760
760
761
761
761
761
760
759
758
757
756
756
756
756
755
754
756
759
761
763
765
767
768
770
770
770
773
773
773
772
771
767
764
763
762
765
765
767
769
772
774
784
789
793
798
801
803
810
814
819
823
825
828
830
836
847
850
853
854
854
854
854
855
855
858
862
862
863
865
863
862
861
861
861
861
860
860
859
859
859
859
859
858
857
857
853
852
849
848
847
844
838
833
831
825
822
822
820
818
817
815
812
810
809
811
812
813
814
814
813
813
813
814
814
814
815
815
815
815
815
815
815
815
815
815
815
815
815
815
814
811
811
811
813
813
814
814
814
814
813
812
810
810
809
808
808
808
808
808
809
809
809
810
810
811
811
812
812
813
813
813
812
812
812
814
818
821
827
832
834
837
841
845
849
852
857
861
863
867
869
873
874
874
874
874
874
874
874
873
873
873
873
873
873
872
871
871
870
870
869
869
869
869
870
870
870
870
869
869
869
869
869
866
865
864
862
860
859
859
860
860
862
863
863
863
863
862
861
860
857
855
854
853
852
850
849
848
848
847
847
848
848
848
848
848
848
848
848
849
849
851
852
854
855
855
855
857
863
865
865
866
868
870
870
875
882
882
882
882
882
883
883
883
884
883
878
878
877
878
882
886
888
883
881
881
875
869
864
858
857
857
857
857
857
857
857
857
857
857
858
856
853
847
846
846
835
830
823
811
808
808
808
808
808
808
808
808
808
808
808
808
808
807
805
801
799
800
802
806
806
795
787
784
781
779
774
776
776
777
777
778
779
780
781
779
777
776
774
775
776
775
772
768
736
735
735
734
733
730
728
726
723
718
713
711
710
709
708
707
707
707
707
707
708
708
707
706
704
703
702
700
696
696
695
695
696
694
686
685
684
684
683
682
679
681
681
681
679
676
676
674
676
677
678
679
682
683
683
683
682
679
678
676
675
672
672
672
672
672
672
673
671
668
668
669
670
670
671
671
676
676
679
682
683
684
684
686
688
688
688
688
687
687
687
687
687
687
691
691
691
692
693
694
695
696
697
698
698
698
699
700
704
708
710
713
714
718
725
740
747
747
747
748
766
773
786
793
793
792
791
791
790
790
789
788
787
787
787
788
792
796
798
802
799
792
783
766
768
769
773
776
779
784
784
784
785
785
786
786
786
785
783
782
781
778
774
773
772
772
770
769
768
765
764
762
753
745
741
743
743
737
733
733
733
734
735
735
733
729
726
726
726
726
722
720
719
718
718
717
717
716
716
716
716
719
718
716
717
717
714
715
713
712
712
713
717
716
714
712
709
709
709
707
710
713
715
716
712
701
701
701
701
700
698
698
698
697
696
696
696
694
693
693
693
694
697
701
704
706
707
707
707
706
706
705
705
705
705
705
705
705
707
708
708
708
708
706
705
705
705
705
705
704
703
702
701
700
699
701
702
690
683
680
677
673
671
668
667
666
665
665
665
665
664
661
660
657
655
653
651
651
649
644
643
642
642
642
642
643
643
644
644
644
642
641
641
641