640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
639
639
639
639
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
644
645
647
649
650
651
652
654
655
655
657
656
650
648
648
647
644
643
642
642
642
640
639
638
640
640
635
630
625
622
622
622
622
623
623
623
623
623
622
620
620
620
620
620
621
619
619
618
618
617
614
613
613
613
614
614
615
615
615
612
612
612
612
615
614
613
613
612
611
611
611
612
612
612
611
611
611
611
613
613
612
611
611
611
611
609
610
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
611
609
607
609
609
611
613
615
615
607
606
606
607
607
607
606
605
605
602
602
602
603
604
604
604
604
605
604
605
605
605
606
606
606
605
605
605
607
607
606
605
608
609
609
611
611
611
612
613
613
613
613
613
613
613
613
613
613
613
613
613
614
614
614
614
614
614
614
619
620
619
619
619
619
620
621
621
622
622
623
631
641
650
658
659
660
660
660
661
661
661
661
661
661
661
663
663
663
663
662
662
664
667
668
673
676
679
682
683
680
680
675
670
666
660
659
660
661
668
671
672
673
674
676
667
662
652
642
635
630
627
623
623
624
625
626
628
628
628
628
628
628
627
627
627
627
627
626
629
629
629
631
633
633
632
635
633
631
631
631
631
631
631
631
631
631
632
632
631
632
633
633
633
633
633
634
634
634
634
634
634
634
634
634
634
634
635
636
635
635
635
637
638
640
643
648
652
654
654
656
656
656
655
655
655
655
656
656
656
656
656
656
656
657
657
660
661
664
668
671
674
675
679
679
680
680
681
683
686
688
689
689
688
687
686
685
685
684
683
683
683
683
682
682
682
681
681
681
680
680
679
669
666
665
663
662
661
660
660
660
660
660
659
658
658
658
658
659
660
660
660
660
660
660
658
657
657
657
656
655
654
653
653
653
653
653
652
652
651
650
649
649
649
649
649
649
650
653
654
657
659
660
660
660
660
660
660
659
658
657
657
657
655
653
653
651
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
649
649
648
648
649
649
649
649
648
647
647
647
647
647
647
646
646
643
642
641
641
641
641
641
641
641
641
641
640
640
639
639
639
639
639
639
639
638
638
638
638
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
635
636
636
642
644
645
647
652
658
662
665
669
671
671
672
672
671
671
671
670
667
667
667
667
666
665
665
659
655
655
654
653
653
652
651
651
649
649
649
648
648
648
648
648
648
647
647
646
646
646
645
644
643
643
641
641
641
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640