641
640
640
640
640
640
640
640
640
640
640
640
640
639
639
638
638
636
635
633
632
627
619
619
619
619
619
619
619
619
619
619
620
619
619
619
619
619
619
617
617
617
617
617
617
615
615
615
615
614
614
613
613
612
611
610
610
610
610
610
610
610
610
610
610
610
616
617
617
617
616
616
616
615
615
615
615
615
614
614
614
614
614
613
613
613
612
612
611
610
610
610
610
610
610
610
609
609
609
609
609
609
609
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
607
607
607
607
607
607
607
607
607
608
608
608
608
608
608
608
609
609
609
609
609
609
608
608
608
607
607
607
607
606
606
604
604
604
604
604
604
604
604
604
604
604
602
602
601
601
601
601
601
601
601
602
603
603
603
603
603
603
603
603
603
603
603
603
603
603
602
602
602
601
601
601
601
601
601
601
600
600
600
600
600
598
598
598
598
597
597
597
597
597
597
596
596
593
593
592
592
592
592
592
592
592
592
592
592
592
592
592
592
591
591
591
590
590
590
590
590
590
590
590
590
589
588
588
588
587
587
586
585
584
584
583
583
583
583
583
582
582
581
581
579
577
576
575
575
574
571
569
568
567
563
562
562
561
561
561
559
559
559
559
559
559
559
559
559
559
559
559
558
554
554
554
554
553
553
553
553
553
553
553
553
552
553
553
553
553
553
553
553
551
551
551
551
551
555
557
558
558
557
558
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
568
570
570
571
573
575
575
577
578
580
581
582
586
587
588
589
589
590
590
590
590
592
593
593
596
597
599
601
605
607
608
609
611
612
613
614
615
616
617
619
620
620
620
620
620
620
619
619
619
618
618
617
616
616
616
616
616
616
616
617
618
618
620
620
619
617
611
610
610
609
608
607
604
599
598
597
596
596
594
594
593
593
592
590
588
586
585
583
582
581
580
580
579
578
570
570
570
570
570
567
566
565
560
560
544
543
542
541
537
535
535
535
535
534
533
533
531
530
529
529
529
518
516
516
516
515
515
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
513
513
513
513
513
513
512
511
511
510
509
509
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
509
510
510
510
510
510
513
513
513
512
512
512
520
523
524
525
526
528
531
532
533
535
536
538
539
539
539
540
541
543
544
545
545
545
561
563
566
575
578
580
584
586
588
590
592
598
601
605
608
611
614
621
625
636
638
640
640
639
639
639
640
641
642
658
661
663
666
676
680
684
689
690
690
691
691
692
691
691
690
689
688
686
685
684
684
683
683
683
682
682
682
682
682
682
682
682
682
682
682
682
683
683
684
684
684
685
686
687
687
689
690
690
690
689
687
684
682
680
677
674
673
672
670
669
667
665
659
657
654
654
654
654
653
652
648
646
643
640
632
630
627
625
622
615
613
602
600
588
583
580
575
572
571
568
566
565
564
561
560
558
552
549
548
548
549
550
550
551
552
553
553
553
552
550
550
550
550
552
552
552
552
552
552
552
552
551
551
551
551
551
551
551
550
550
550
551
552
552
549
546
545
545
545
545
545
545
545
545
545
545
546
546
546
548
548
549
561
577
583
589
594
599
605
610
614
614
614
613
612
612
615
617
625
628
629
629
627
626
625
626
628
631
632
633
635
636
637
637
637
638
644
653
658
658
657
653
653
659
660
665
669
673
677
682
685
687
688
688
692
693
695
696
697
697
697
697
699
699
701
704
704
704
704
701
699
699
700
703
705
707
708
709
709
711
712
713
714
716
716
717
718
716
714
717
720
722
725
727
728
731
735
741
743
745
750
752
753
753
753
752
749
748
747
746
745
744
742
741
740
739
739
738
737
734
732
731
730
733
736
738
741
744
749
750
753
755
758
760
764
765
767
769
765
765
765
760
756
754
752
747
746
744
744
744
744
744
744
745
745
745
745
745
745
745
743
740
738
735
731
729
725
725
724
724
723
722
717
715
712
709
707
704
702
701
699
698
696
692
690
687
680
673
670
662
661
660
659
656
654
650
649
649
649
649
649
649
649
649
649
650
650
649
649
649
649
650
655
658
658
659
659
659
659
659
659
659
659
659
659
660
660
660
660
660
661
663
669
669
671
673
673
676
677
679
681
683
685
686
688
688
690
694
697
698
704
706
712
721
727
728
729
729
729
729
728
728
727
727
727
727
727
726
726
727
728
732
733
735
738
740
742
748
750
750
750
752
756
758
758
754
751
750
747
745
744
741
740
738
734
732
725
724
723
722
720
720
719
718
717
716
716
714
713
713
711
711
710
710
709
709
708
707
707
704
703
702
697
692
690
689
688
687
687
686
686
685
684
681
680
678
674
673
670
668
668
669
671
672
676
676
677
677
678
678
679
680
680
680
680
680
680
678
673
671
670
670
670
670
670
670
671
671
677
678
681
682
683
687
688
688
688
686
683
682
681
680
679
678
672
671
671
672
671
666
666
664
663
661
657
657
647
641
639
639
634
631
630
630
630
630
630
611
611
609
608
608
604
601
595
587
579
577
577
576
574
574
574
571
571
570
568
567
565
564
560
559
559
559
559
559
559
558
556
555
552
551
552
552
551
551
552
552
553
553
553
553
553
552
551
550
550
550
550
550
550
549
549
548
548
548
547
540
539
539
539
538
541
542
545
546
547
551
552
571
576
580
582
590
591
604
604
605
607
616
616
620
620
621
622
624
624
622
614
608
600
600
602
608
610
615
616
619
624
626
632
634
637
640
640
655
657
662
661
661
662
663
664
679
681
683
685
686
694
697
701
703
704
706
706
710
715
721
725
727
729
741
744
745
746
748
750
753
755
759
760
760
759
759
761
767
769
759
759
759
764
763
765
766
766
765
765
768
768
768
768
769
770
770
770
770
770
770
770
769
766
766
765
765
764
763
762
762
762
762
761
761
761
761
760
760
758
753
751
751
750
748
746
744
744
744
744
744
744
745
745
742
741
740
739
721
718
713
709
705
704
700
699
695
695
699
700
683
679
664
664
662
657
657
652
650
651
660
661
662
662
666
658
656
642
637
637
632
629
628
628
628
626
623
623
625
631
631
632
632
637
636
635
633
631
631
630
630
630
630
630
630
630
630
630
630
630
630
630
630
631
631
632
635
635
634
630
629
627
627
625
623
622
625
610
610
610
611
619
619
619
615
615
615
615
614
614
613
613
614
615
613
611
610
609
599
594
591
590
589
589
587
584
560
555
553
552
549
549
540
539
538
536
535
534
531
530
528
525
522
521
521
520
519
518
518
512
511
511
509
509
509
509
508
506
505
505
505
500
500
500
501
501
501
503
503
504
504
505
505
506
506
506
506
507
507
507
507
508
509
509
509
509
509
508
508
507
507
506
505
503
502
501
499
500
500
500
500
500
500
500
500
500
500
500
500
500
501
501
501
502
502
506
506
506
507
507
507
507
508
509
510
510
511
511
519
519
519
519
519
519
519
519
520
520
520
520
520
521
522
523
524
524
524
524
524
525
525
525
523
521
520
520
520
519
519
519
519
518
518
518
518
518
518
518
518
519
519
519
519
519
519
519
519
519
519
519
519
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
521
521
520
520
520
520
520
520
519
519
519
519
519
519
520
520
520
520
520
520
519
520
520
519
519
520
521
521
521
521
521
523
523
523
524
524
524
524
524
524
524
526
526
527
528
529
530
530
531
531
532
533
534
536
535
534
534
534
535
536
534
534
534
535
535
535
539
542
543
543
543
540
540
540
540
539
539
537
530
530
532
533
534
535
536
537
537
538
538
538
541
543
544
544
545
560
563
570
570
570
570
570
570
570
572
580
580
580
580
585
586
587
588
589
590
591
593
594
595
596
597
599
599
600
600
602
608
610
610
611
613
615
615
620
620
618
618
616
616
616
616
616
616
617
617
618
619
620
620
620
620
620
620
619
619
619
618
618
618
614
612
611
610
610
609
609
607
607
605
601
597
596
595
594
592
592
591
590
590
590
590
587
586
584
582
581
579
578
577
576
574
574
574
572
570
568
567
563
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
564
563
559
559
558
558
558
557
556
558
558
556
553
550
551
551
552
552
552
552
552
552
552
552
552
552
553
553
553
553
553
553
554
554
554
555
555
555
555
559
559
559
559
559
559
559
562
562
562
562
562
563
563
563
563
563
566
566
567
567
569
570
571
573
576
578
578
579
580
581
581
581
581
581
582
582
583
584
584
585
585
586
588
588
589
589
589
589
590
590
590
590
590
590
590
590
590
590
591
591
591
592
592
592
592
592
592
592
592
593
593
593
593
593
598
598
598
598
598
599
599
599
599
600
600
600
600
600
601
601
601
601
601
601
601
602
602
602
602
602
602
600
600
600
600
600
601
601
601
601
601
601
601
601
602
604
604
604
605
605
605
605
605
605
605
605
606
606
607
607
607
607
607
607
608
608
608
608
608
606
606
606
606
606
606
607
607
607
607
607
607
607
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
609
611
611
613
613
615
615
614
613
612
611
611
611
611
611
611
611
611
611
612
612
612
613
613
615
616
616
616
616
616
616
616
617
617
617
618
618
619
619
619
620
620
620
620
619
619
619
619
619
619
619
619
620
620
621
621
632
633
636
637
639
640
641
642
642
642
642
642
642
642
642
642
641
641
641
641
641
640