639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
638
638
638
638
638
639
639
639
639
639
640
640
640
640
640
640
640
640
640
640
640
640
640
640
641
641
641
641
642
642
643
643
643
643
644
644
644
644
644
644
644
644
644
644
643
643
643
642
642
642
642
642
642
642
643
643
643
644
644
644
645
645
645
646
646
646
646
646
645
645
644
644
644
643
643
643
641
641
641
640
640
639
639
638
638
638
637
637
636
636
635
635
635
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
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
634
634
634
635
635
636
636
636
637
637
638
638
638
638
638
638
638
637
637
637
637
637
637
636
636
636
636
636
635
635
635
635
635
635
635
635
634
634
634
634
634
634
634
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
634
634
634
634
634
635
635
635
635
635
635
635
635
635
635
635
635
635
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
635
635
635
635
635
636
636
637
637
637
638
638
638
639
639
639
640
640
640
640
640
640
640
640
639
638
638
638
638
638
637
637
637
636
636
636
635
635
635
634
634
634
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
634
634
634
634
634
634
634
634
634
634
634
634
633
633
633
633
633
633
633
633
633
633
633
633
633
632
632
632
631
631
630
630
630
629
629
629
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
629
629
629
630
630
630
631
631
631
632
632
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
632
632
632
632
631
631
631
631
630
630
630
630
630
630
630
630
630
630
631
631
631
631
631
631
631
631
631
631
631
631
631
630
630
630
630
629
629
629
629
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
628
628
628
628
628
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
627
627
627
627
626
626
626
626
626
625
625
625
625
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
625
625
625
626
626
627
627
627
628
628
628
629
629
629
629
629
629
629
629
628
628
628
628
628
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
626
626
626
626
626
626
626
626
626
626
626
626
626
626
625
625
625
625
625
625
624
624
624
624
624
623
623
623
623
623
623
623
623
623
623
623
623
623
623
624
624
624
624
624
624
624
624
625
625
625
625
625
625
625
625
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
625
625
625
625
625
625
625
624
624
624
624
624
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
624
624
624
625
625
626
626
626
626
626
626
626
626
626
626
626
626
626
625
625
625
625
625
625
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
625
625
625
625
625
625
625
626
626
626
626
626
627
627
627
627
627
627
627
627
626
626
625
625
624
624
624
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
624
624
624
624
624
624
625
625
625
625
625
625
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
625
625
625
625
625
625
625
624
624
624
624
624
624
624
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
624
624
624
624
624
624
625
625
625
625
625
626
626
626
626
626
626
626
626
626
626
626
626
627
627
627
627
627
627
627
627
627
627
627
628
628
628
628
628
628
628
629
629
629
629
629
629
629
629
629
629
628
628
628
627
627
626
626
625
625
625
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
625
625
625
625
625
625
626
626
626
626
626
626
627
627
627
627
627
627
627
627
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
628
628
628
628
628
628
628
627
627
627
627
627
627
627
627
627
627
627
627
627
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
627
627
627
627
628
628
628
628
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
630
630
630
630
630
630
630
630
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
630
630
630
630
630
630
630
630
630
630
631
631
631
631
632
632
632
632
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
632
632
632
632
632
631
631
631
631
631
631
631
631
630
630
630
630
630
630
630
629
629
629
629
629
629
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
629
629
629
630
631
631
631
632
632
632
632
632
632
633
633
633
633
633
633
634
634
634
634
634
634
634
634
634
634
634
634
634
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
634
634
634
634
635
635
635
636
636
636
636
636
636
637
637
637
637
637
637
637
638
638
638
638
638
638
639
639
639
639
639
639
639
639
639
638
638
637
637
636
636
636
635
635
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
635
635
635
635
635
635
635
635
635
635
635
635
634
634
634
634
634
634
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
634
634
634
634
634
634
635
635
635
635
635
635
635
635
635
635
635
635
636
636
636
636
637
637
637
638
638
638
639
639
639
639
639
639
638
638
637
637
637
636
636
635
635
635
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
636
637
637
638
639
640
640
641
642
642
643
644
645
645
645
644
644
643
643
642
642
641
641
640
640
639
639
638
638
638
638
638
638
639
639
639
639
640
640
640
641
641
641
641
641
641
641
641
641
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
639
639
639
639
639
638
638
638
638
638
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639