639
638
638
638
638
638
637
635
634
633
632
631
628
619
619
619
619
619
619
619
619
619
619
620
619
619
619
618
618
618
617
617
617
616
616
616
615
615
615
615
615
615
614
612
611
610
610
610
610
610
610
610
610
610
610
610
610
616
617
617
617
616
616
616
615
615
615
615
615
615
614
614
614
614
614
613
613
612
612
612
610
610
610
610
610
610
610
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
608
608
608
608
607
607
607
607
607
607
607
607
607
608
608
608
608
608
608
608
609
609
608
608
608
608
608
608
608
608
608
607
607
606
606
605
604
604
604
604
604
604
604
603
603
603
602
601
601
601
601
601
601
601
601
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
601
601
601
600
600
600
600
600
600
600
600
600
598
598
597
597
597
597
597
597
597
597
597
597
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
591
590
590
590
590
590
590
590
590
590
590
590
589
589
589
588
588
587
586
585
584
584
583
583
583
583
583
583
582
582
581
579
578
577
577
576
575
571
570
569
567
563
562
562
562
562
561
558
558
558
558
558
558
558
558
558
558
558
558
558
554
554
554
554
554
553
553
553
553
553
553
553
552
552
552
552
552
552
553
553
551
551
551
551
551
556
557
558
557
557
557
559
559
559
559
559
565
563
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
567
569
570
571
573
575
575
576
578
579
580
581
585
587
590
590
590
590
590
590
591
592
592
593
595
597
600
602
605
608
609
610
612
613
614
615
616
616
617
619
620
620
621
621
621
621
619
618
618
618
617
617
616
616
616
616
616
616
616
617
617
617
619
619
616
615
612
611
611
607
606
605
603
599
598
597
597
596
595
595
595
594
593
593
592
591
588
586
585
582
581
581
580
580
580
580
570
570
570
570
570
567
566
565
560
560
544
542
541
541
538
536
535
535
535
535
535
535
535
535
535
535
535
535
536
536
536
536
536
537
537
537
536
532
531
528
521
521
519
519
519
517
516
516
515
514
514
512
512
512
520
524
524
524
524
524
524
524
524
524
524
525
525
526
525
524
522
519
519
519
519
518
518
518
518
518
518
518
519
519
519
519
519
519
519
519
520
520
522
525
530
531
533
533
534
534
534
534
533
538
538
543
543
544
546
554
556
552
553
555
555
555
556
556
556
556
557
557
557
558
558
556
559
559
559
558
558
558
558
557
557
557
557
557
557
557
558
558
558
558
558
558
558
558
558
558
559
559
559
559
559
560
560
560
560
560
561
561
561
561
561
561
562
563
564
566
567
568
568
570
571
573
575
576
576
576
576
577
577
579
584
585
587
589
589
588
588
588
588
588
587
587
586
587
587
587
587
583
581
581
580
580
580
580
580
580
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
580
580
580
581
581
581
577
574
573
571
571
568
568
568
569
569
569
569
570
570
571
571
580
580
581
581
582
582
583
583
584
585
586
587
587
588
589
590
591
592
593
594
595
596
596
596
598
602
602
602
602
602
603
604
612
613
618
618
618
619
619
619
620
620
620
620
620
620
620
620
620
621
621
622
624
625
628
629
630
631
632
633
637
640
644
645
647
648
655
656
658
662
663
665
670
671
671
671
675
679
679
679
680
680
681
682
684
687
689
690
696
697
698
699
699
701
702
704
704
705
705
707
707
709
711
713
719
720
721
724
724
725
727
739
740
742
743
745
745
746
747
747
748
748
749
749
750
750
751
752
753
753
753
754
754
755
760
763
764
766
766
766
767
767
768
768
769
770
770
772
777
780
780
780
780
780
780
779
775
769
767
764
763
762
762
761
760
760
759
759
758
757
755
754
753
753
751
749
745
745
746
747
748
750
755
756
757
759
760
761
762
762
762
763
763
763
763
763
763
763
763
763
763
763
763
763
770
769
768
766
766
765
762
761
759
758
756
746
744
742
740
739
738
737
736
736
735
735
738
748
750
751
755
768
770
773
777
778
778
779
779
780
781
784
784
786
790
794
798
799
800
805
804
804
805
805
805
805
805
805
805
805
805
805
805
805
806
808
809
811
812
812
820
820
818
817
816
810
810
803
795
793
792
792
797
800
801
802
799
790
790
790
786
780
773
759
755
753
744
741
732
728
709
696
684
670
670
666
665
664
664
662
662
662
662
662
662
662
662
663
663
664
665
665
666
666
666
666
666
666
665
660
656
654
653
652
650
649
649
648
648
646
646
644
643
642
642
642
643
647
647
648
649
653
655
657
659
659
679
680
682
683
685
685
686
687
687
688
689
690
694
694
695
696
696
696
697
698
698
700
700
703
703
705
706
706
708
708
709
710
710
711
715
717
719
719
719
719
719
719
719
719
719
719
719
719
718
718
718
718
716
714
713
713
712
712
711
711
711
711
711
711
710
710
709
709
709
709
710
711
711
711
711
712
712
712
717
719
719
720
721
722
724
725
727
728
729
732
741
741
743
746
747
757
766
772
782
783
785
788
798
799
800
801
801
805
806
807
808
811
812
813
814
816
817
817
817
818
818
818
819
826
826
826
826
825
825
825
825
829
829
829
829
829
830
840
839
835
836
836
835
835
835
835
835
835
835
834
834
833
832
831
830
830
830
830
830
830
830
831
832
832
832
834
835
836
836
836
836
837
840
840
840
840
840
840
840
840
840
840
840
840
837
837
833
833
833
834
839
839
840
840
840
840
840
840
839
837
831
829
824
822
816
812
809
799
793
781
777
775
772
769
769
769
769
769
769
770
770
771
772
773
773
774
776
781
781
783
784
793
795
800
803
804
805
806
807
808
810
813
814
815
816
818
821
824
825
826
827
827
827
828
828
829
830
830
830
830
830
830
830
830
830
830
829
829
829
828
828
827
826
826
825
825
825
824
823
823
823
822
822
820
818
813
812
807
806
807
809
809
809
809
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
809
808
807
804
804
806
808
810
808
807
806
805
805
805
805
805
804
803
801
801
800
800
800
800
800
800
800
800
799
794
790
785
784
781
781
782
782
783
784
783
783
783
782
782
782
781
779
779
778
777
777
772
771
770
767
766
765
764
764
762
762
761
760
760
760
756
754
753
751
749
748
746
740
738
736
735
731
727
726
723
722
720
717
713
711
710
708
708
707
706
702
700
698
691
691
690
689
688
675
673
672
670
667
666
664
664
663
660
651
648
647
647
645
645
644
643
642
642
641
639
637
634
632
620
615
614
613
613
608
608
608
608
608
607
607
607
607
607
607
607
607
607
607
607
607
607
609
609
609
609
608
608
608
608
608
607
607
606
606
606
607
608
608
608
608
608
608
608
608
608
608
608
608
608
608
607
606
606
606
606
605
606
607
606
606
606
606
606
607
607
606
604
600
600
599
599
599
599
599
599
598
598
598
598
598
598
598
598
597
594
594
595
596
596
596
597
597
597
597
597
597
597
596
596
596
596
596
596
595
595
594
594
594
594
593
592
592
592
592
592
592
592
592
593
593
593
593
593
594
595
595
596
596
597
597
597
595
594
594
593
592
591
590
589
589
589
588
587
587
587
586
585
590
594
595
595
594
594
594
593
593
591
591
590
590
590
590
590
590
590
591
591
591
591
590
589
589
589
589
589
589
589
588
587
587
586
585
584
584
584
584
584
584
584
584
583
582
582
582
583
584
584
584
584
584
584
585
586
586
586
586
585
585
584
584
586
586
588
591
590
590
589
589
588
588
587
587
587
586
584
584
583
583
583
583
584
584
584
584
583
581
581
580
580
580
579
578
578
577
577
576
576
574
574
574
575
576
577
579
579
580
580
580
580
580
580
580
579
579
579
577
577
575
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
575
576
578
578
578
578
577
577
577
577
577
577
577
577
577
578
578
578
578
578
578
578
578
578
579
579
578
577
576
575
573
573
572
572
575
576
576
576
577
576
576
577
577
576
575
575
572
572
570
572
573
574
576
576
577
577
577
577
578
578
579
579
579
580
580
582
583
583
583
583
583
585
586
586
585
584
583
584
582
581
580
576
575
574
574
574
574
574
575
575
573
568
569
569
569
569
568
568
568
569
570
570
568
568
568
568
568
568
568
567
567
567
567
567
567
567
567
567
567
567
567
568
568
568
564
564
564
564
564
564
563
562
561
561
562
562
562
562
562
569
571
571
570
569
568
566
566
566
566
565
565
563
561
558
558
558
557
557
557
557
558
558
558
558
559
559
559
559
559
561
561
562
563
564
565
567
569
569
573
577
582
583
583
586
589
590
590
591
591
592
592
592
593
597
597
598
598
599
600
601
602
602
602
602
602
603
603
603
603
603
603
608
610
612
615
615
615
616
616
616
616
616
617
617
620
621
623
624
625
627
628
628
628
628
628
628
628
628
628
628
629
630
631
632
632
632
633
633
633
633
633
635
635
644
645
646
647
648
648
648
648
648
649
649
649
651
651
651
651
651
652
652
652
654
655
656
657
659
659
659
659
659
659
660
660
661
661
662
663
664
664
665
667
669
671
672
675
677
678
679
679
679
680
680
680
680
680
680
680
680
680
680
680
680
680
681
682
683
687
690
693
693
694
695
695
695
696
697
697
697
697
697
697
696
696
696
696
695
695
694
693
692
692
691
691
688
687
687
673
669
665
656
654
652
651
640
640
640
640
640
640
639
635
633
631
619
617
600
598
596
593
591
588
582
580
578
576
572
567
563
560
554
552
551
542
540
540
540
540
539
539
539
539
538
534
530
528
527
525
524
522
522
522
520
511
512
513
513
514
515
516
516
517
518
519
520
520
522
523
530
534
536
536
536
536
536
535
535
535
535
535
535
535
535
536
536
536
537
537
537
538
538
538
539
539
541
543
543
544
547
562
564
570
570
570
570
570
570
570
573
580
580
580
580
586
587
588
590
590
590
591
594
595
596
597
598
601
601
602
603
604
609
611
612
613
619
619
619
619
620
620
619
616
616
616
616
617
617
618
618
619
619
619
620
620
620
620
619
618
618
618
618
618
618
612
609
608
608
608
608
608
606
604
602
598
596
595
592
591
590
590
590
589
589
588
588
586
585
583
581
580
577
575
574
574
574
574
573
571
568
566
565
562
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
563
561
559
558
558
558
558
557
557
558
557
555
553
551
551
552
552
552
553
553
553
553
553
553
553
553
553
553
553
554
555
555
555
556
556
556
556
556
557
559
559
559
559
559
560
560
562
562
562
563
563
563
563
563
563
564
566
567
568
568
570
572
573
574
578
580
580
581
581
582
583
583
583
584
585
585
585
585
586
586
586
587
587
588
589
589
589
589
590
590
590
590
590
590
590
590
590
590
592
592
592
592
593
593
593
593
593
593
593
593
593
593
594
594
598
598
598
598
599
599
599
599
599
601
601
601
601
602
602
602
602
602
602
602
602
602
602
602
601
601
601
601
601
601
601
601
601
601
601
601
601
602
602
602
603
604
604
605
605
605
605
605
605
605
605
605
606
606
607
607
607
607
607
607
607
607
607
607
607
606
606
606
606
607
607
607
607
607
607
607
607
608
608
608
608
608
608
608
608
608
608
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
610
610
610
613
614
615
615
613
613
612
611
611
611
611
611
611
611
611
611
612
612
612
614
614
616
616
616
616
617
617
617
617
617
618
618
618
618
619
619
620
620
620
620
620
619
619
619
619
619
619
619
619
620
621
622
623
624
634
636
638
638
638
638
636
636
635
634
633
633
634
635
636
638
639
639
639
639
639
638