0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-05 08:18:47 +00:00
OI-codes/LibreOJ/3751/data/8.out

200001 lines
781 KiB (Stored with Git LFS)
Plaintext

639
612
627
610
611
620
607
620
617
626
623
607
609
606
616
639
616
618
629
619
625
606
639
632
634
634
621
639
639
624
618
624
619
617
606
605
635
614
616
611
625
639
612
606
608
606
605
605
632
631
615
620
606
627
605
603
619
613
602
607
626
625
619
603
632
631
618
614
632
627
634
615
606
627
625
639
624
620
617
623
628
615
619
631
623
609
606
609
630
615
623
611
610
629
605
608
617
623
623
608
610
639
635
623
603
634
636
608
610
609
626
630
608
628
618
620
608
626
616
612
605
618
620
635
624
611
631
606
631
636
607
608
625
603
632
609
605
608
623
629
613
619
613
605
615
622
607
614
610
608
605
612
606
623
631
631
614
608
603
606
625
603
633
610
632
612
624
631
612
620
603
601
612
613
607
627
632
605
604
623
605
635
633
626
613
616
631
622
608
630
623
619
635
617
616
639
611
606
639
601
621
631
606
639
616
606
616
613
623
631
614
611
626
616
626
611
604
610
604
630
613
626
626
608
631
634
614
630
605
617
608
603
608
600
634
616
610
608
612
625
608
620
608
613
613
617
622
638
611
613
604
623
621
614
611
632
609
625
614
601
626
621
628
618
635
616
604
615
616
623
625
615
624
604
613
600
613
636
612
609
614
611
613
626
626
605
636
613
627
631
630
608
639
627
622
605
621
633
613
613
612
615
616
613
609
622
612
619
627
607
608
616
629
626
606
608
617
623
634
639
613
620
609
603
616
621
619
620
617
616
624
605
611
607
628
626
631
634
622
609
608
628
614
617
613
633
617
615
611
617
609
624
639
623
613
610
601
634
639
622
617
603
605
615
620
609
613
625
610
631
613
602
630
607
629
613
620
610
619
604
606
606
615
619
617
609
617
617
605
614
602
615
623
632
633
625
639
632
612
606
628
624
623
627
628
612
626
609
611
622
618
623
603
635
619
634
611
631
616
612
632
620
619
607
608
609
611
612
637
639
630
602
619
608
606
629
630
609
629
626
631
625
630
630
617
603
610
610
630
624
614
633
615
606
606
626
622
639
634
625
631
611
608
626
614
634
627
603
619
620
637
616
616
636
606
615
613
604
613
614
612
635
619
626
609
613
605
620
614
626
609
626
618
604
603
609
612
611
619
626
621
632
625
618
609
605
608
618
607
614
623
629
623
622
608
623
615
632
609
604
606
631
629
621
608
605
606
618
604
608
603
611
625
609
632
639
639
605
629
614
599
606
614
633
627
609
610
636
629
609
614
633
628
603
611
635
617
617
611
606
614
615
616
603
617
618
619
617
606
605
604
601
618
627
613
615
614
611
602
618
615
603
617
623
632
606
610
614
613
611
616
634
606
631
608
635
635
605
629
619
606
608
609
609
610
604
602
625
628
629
620
617
614
630
621
617
626
607
611
608
621
617
619
619
607
624
625
619
603
632
613
618
620
611
602
617
639
621
616
615
632
626
618
622
604
613
612
608
631
604
610
623
614
628
631
625
616
639
639
623
639
625
613
604
614
613
610
604
621
617
641
608
613
639
615
632
617
607
606
617
607
627
609
615
622
632
628
626
617
614
617
612
632
609
628
620
621
604
604
618
639
613
632
622
612
617
623
621
626
610
626
617
607
620
634
606
628
612
617
622
631
614
607
602
623
608
613
628
616
608
604
633
626
611
625
632
623
603
601
617
618
614
617
628
606
604
630
604
615
611
602
621
624
620
606
626
603
604
639
608
607
608
612
609
625
615
606
614
612
621
629
632
614
613
607
619
631
613
622
603
632
613
621
607
609
639
607
617
612
613
606
639
609
616
612
623
636
639
623
609
638
621
598
619
626
633
607
614
614
607
615
609
608
602
605
605
631
615
605
632
604
607
632
625
619
607
615
614
607
605
609
610
639
626
604
599
607
628
614
617
634
639
624
605
609
608
613
609
602
631
616
631
614
610
625
614
617
631
609
639
614
640
605
634
609
603
615
603
634
621
622
608
608
625
619
639
620
622
620
611
608
608
616
611
612
626
611
621
621
613
625
608
607
628
620
618
618
607
613
625
632
637
614
608
626
628
609
602
618
606
607
626
627
611
605
641
605
619
607
618
629
617
635
631
635
606
606
607
613
620
623
612
610
612
622
616
622
631
614
604
629
612
618
603
611
614
621
619
607
622
606
623
614
606
639
614
634
623
608
616
637
634
610
625
611
626
619
615
628
639
608
611
605
631
607
604
624
618
629
605
617
631
604
608
615
623
616
603
603
624
604
631
619
605
614
612
616
609
625
620
623
630
614
635
613
635
603
605
609
609
629
617
606
604
628
627
608
614
632
624
608
609
622
604
606
639
639
622
626
614
622
613
622
624
606
606
614
607
624
616
622
625
629
612
612
626
617
626
639
606
636
623
613
616
610
614
613
606
620
610
603
626
613
609
607
614
627
639
630
613
607
619
632
631
627
614
625
616
631
631
602
611
615
632
622
619
614
627
617
610
604
638
620
609
614
614
604
609
626
630
607
626
617
608
605
618
606
608
618
605
614
613
614
630
626
611
637
633
618
607
620
622
603
612
619
620
620
623
625
610
619
624
628
621
634
602
612
617
617
623
628
632
623
639
601
618
606
618
633
622
600
630
609
628
617
616
620
617
629
608
607
611
632
615
610
614
613
620
615
617
612
603
603
615
632
631
619
625
639
613
639
616
615
620
620
614
617
634
627
614
619
614
628
623
609
606
611
607
613
614
604
624
639
605
614
623
633
621
621
615
623
630
616
603
614
623
603
629
605
626
630
626
618
616
603
606
612
625
608
632
607
625
613
624
616
606
616
635
619
612
624
617
621
613
613
609
622
601
608
621
616
618
618
609
635
632
612
623
633
609
634
609
630
616
614
622
611
617
613
612
616
625
605
606
629
623
605
625
616
601
609
621
631
630
609
630
636
609
609
613
609
632
630
623
639
612
619
639
634
619
639
614
617
625
611
607
626
613
630
603
615
615
627
639
619
616
607
629
605
614
603
614
613
633
608
606
626
624
603
629
610
604
619
615
608
603
625
625
620
621
615
608
617
625
606
618
623
617
612
609
631
616
639
616
631
627
613
618
612
617
612
635
615
615
606
608
617
609
631
613
632
629
623
612
614
626
623
621
620
617
639
622
626
627
610
635
623
607
624
611
639
626
622
623
609
620
623
623
601
639
626
616
608
631
603
604
607
617
606
604
616
606
617
621
606
624
632
619
609
615
625
617
605
639
618
629
606
625
639
639
614
625
631
616
639
625
619
634
626
611
610
611
611
605
639
623
622
617
631
608
608
618
609
610
612
605
627
614
639
640
613
609
625
624
623
625
623
617
600
614
618
603
611
614
604
611
608
604
619
616
606
619
631
609
603
628
616
611
603
608
612
607
606
619
635
632
608
635
608
625
609
631
613
624
610
607
620
610
611
608
629
614
628
615
608
607
613
626
622
631
603
635
602
601
606
624
613
639
610
618
611
620
622
610
630
608
634
630
605
619
630
625
604
626
604
604
619
614
639
615
632
632
635
614
609
613
603
617
609
618
612
628
607
620
640
602
607
616
626
621
614
617
605
616
609
613
634
603
606
616
630
623
604
613
631
615
616
623
619
623
611
604
631
629
618
618
619
610
633
612
625
617
603
623
612
603
623
621
613
619
632
630
631
621
621
638
609
614
605
606
624
619
604
620
625
615
626
629
630
620
605
603
622
625
613
636
606
634
620
615
605
617
617
630
631
605
610
611
613
628
607
611
636
604
609
629
622
618
618
608
609
624
628
624
609
609
620
614
622
607
630
614
614
614
624
626
623
612
614
628
616
621
611
631
608
637
610
606
622
617
626
635
625
608
626
621
639
615
619
626
605
623
618
635
631
614
631
635
627
608
613
634
640
611
610
620
616
621
612
606
603
616
631
613
639
623
627
612
623
610
613
606
631
613
617
626
626
632
602
611
611
629
622
609
607
639
619
601
602
609
608
609
615
606
634
599
616
616
628
613
600
626
639
603
612
620
619
611
603
622
603
620
616
613
612
631
632
614
614
603
613
610
635
608
609
631
612
610
618
613
613
609
608
639
630
613
609
612
622
635
607
639
609
626
617
635
620
608
626
619
616
622
631
634
627
623
616
603
610
608
636
623
626
611
613
626
613
631
631
613
611
610
616
633
607
612
613
620
618
612
630
608
632
624
613
609
606
619
611
606
608
629
615
610
603
634
599
607
609
608
622
610
617
626
607
606
617
604
623
620
606
635
639
618
610
629
618
614
622
614
608
623
602
623
631
622
607
620
613
608
605
608
619
622
630
609
630
614
603
610
620
639
607
610
606
631
609
622
623
611
617
603
617
623
632
614
619
621
606
639
628
633
610
636
602
625
614
624
621
625
628
608
628
608
632
610
623
639
610
632
614
620
623
608
608
610
623
626
629
610
631
613
615
613
616
608
612
606
613
614
628
635
604
608
614
618
620
630
629
628
614
603
631
627
622
608
625
607
623
613
623
610
612
611
622
614
605
620
617
626
618
604
622
603
626
609
608
617
609
615
611
613
629
615
621
613
639
613
618
618
609
626
609
604
603
604
607
607
621
627
626
621
613
601
610
616
603
629
617
614
617
620
617
605
610
626
635
613
607
610
628
611
606
617
614
621
615
634
626
623
629
613
605
608
614
623
612
632
626
609
632
639
628
624
604
630
640
605
618
635
639
612
606
608
605
606
605
613
622
600
606
639
607
611
604
617
628
611
634
607
602
609
626
614
637
614
622
619
605
639
617
621
623
607
605
611
613
615
632
628
634
607
633
609
629
618
627
620
610
610
626
606
613
604
622
612
599
608
607
613
629
615
613
624
628
616
605
623
622
613
632
612
615
602
614
615
634
617
608
612
622
637
633
620
603
632
612
606
610
603
612
606
608
612
604
629
607
615
603
623
623
611
624
632
614
604
627
604
613
626
634
611
602
627
635
631
628
634
611
619
608
613
623
609
631
625
623
609
639
632
603
634
617
639
607
627
609
627
603
603
613
616
605
631
623
605
622
609
623
621
623
607
627
612
613
614
599
622
624
614
621
604
615
635
626
602
630
613
630
639
628
631
629
618
623
621
635
610
631
632
622
629
625
603
606
613
632
632
612
623
610
604
615
605
620
613
604
610
639
628
626
640
630
623
607
618
615
623
603
623
615
631
629
628
603
623
612
626
617
604
619
606
604
612
621
608
604
613
634
621
619
605
608
626
605
632
607
613
615
615
623
614
630
625
607
615
607
614
606
613
603
636
610
607
605
620
617
610
634
636
603
606
605
623
615
622
610
632
622
608
632
630
605
604
609
625
607
612
617
608
612
622
624
613
609
620
622
612
617
623
613
622
605
635
606
618
619
623
613
632
607
609
617
605
609
613
613
619
625
627
619
617
623
623
611
619
614
609
614
612
613
628
619
609
618
605
622
609
615
624
626
623
628
619
614
623
619
603
623
633
613
613
633
639
614
623
628
613
615
613
621
611
615
623
612
610
631
608
609
626
631
604
613
624
599
632
606
610
624
607
623
623
611
623
606
610
631
624
615
611
606
625
618
610
618
611
615
633
622
614
631
633
617
621
608
633
620
608
631
609
624
611
623
631
628
628
623
610
607
612
603
617
640
606
625
609
621
610
617
607
615
619
621
609
605
605
616
604
606
605
606
619
618
632
600
604
613
623
611
625
604
602
639
636
619
626
609
631
609
624
621
618
614
619
626
632
603
623
616
604
621
617
635
612
610
615
605
628
622
606
639
606
604
613
634
612
631
623
625
630
622
615
621
641
608
631
624
617
607
623
604
601
630
627
609
632
626
621
602
619
623
626
604
611
612
612
603
614
604
617
623
616
605
603
626
635
609
610
627
618
609
614
631
632
611
618
613
631
623
604
604
617
604
628
615
610
609
617
620
606
635
620
611
614
610
625
637
634
603
632
603
606
612
611
627
604
626
622
637
626
613
612
617
626
629
621
626
621
609
619
621
632
622
605
606
613
600
632
623
636
615
614
611
603
606
604
612
629
610
636
622
603
612
612
614
615
608
623
628
630
625
609
617
606
635
604
617
606
605
614
625
622
640
610
633
638
615
614
603
616
623
622
622
630
621
610
624
617
612
628
640
606
610
610
630
637
610
626
603
631
634
616
629
608
603
618
630
606
615
605
610
610
632
623
603
606
633
606
613
609
605
614
630
620
604
610
632
636
622
632
625
632
603
604
613
629
607
629
623
605
619
621
632
603
634
601
606
628
623
613
632
607
622
621
630
620
632
609
633
612
611
639
608
625
623
628
622
608
635
604
631
601
616
616
623
628
602
606
616
627
609
611
626
620
631
614
618
626
604
618
628
618
618
602
627
604
605
629
610
631
609
631
619
609
634
604
635
604
629
601
620
622
623
620
602
609
617
628
621
607
614
633
614
602
639
633
606
632
634
639
603
624
622
608
613
612
617
617
622
630
639
608
610
608
628
622
609
622
614
605
622
612
622
627
605
636
630
634
613
627
606
621
639
639
625
607
629
611
609
634
633
616
626
611
631
606
613
609
618
615
612
610
611
639
614
630
627
620
621
615
617
631
629
611
607
631
623
602
603
625
608
619
625
640
615
604
621
619
611
616
616
619
617
617
625
611
619
620
617
620
620
639
607
610
613
631
617
636
608
624
622
603
613
604
620
612
603
617
603
625
630
626
614
605
626
610
602
634
617
614
607
601
622
602
609
605
639
627
604
629
617
628
623
617
607
620
623
614
612
629
614
609
609
609
611
608
614
615
611
609
606
607
636
608
628
624
604
619
623
614
602
609
614
621
623
612
623
623
614
606
618
605
619
640
629
618
609
609
607
605
618
603
607
626
628
634
608
614
638
604
605
637
621
618
617
605
630
622
613
634
614
611
613
631
613
632
615
639
613
606
627
604
606
615
634
618
616
610
604
612
603
614
624
606
618
625
606
626
624
623
621
625
620
604
623
631
631
614
622
609
611
613
614
618
610
626
611
608
611
631
618
618
626
639
617
611
624
624
609
601
619
605
605
608
619
620
609
633
614
624
635
613
626
609
619
611
605
613
611
632
621
631
611
610
607
608
616
617
631
600
626
610
605
615
624
631
629
604
605
621
609
625
609
615
614
612
620
620
607
614
625
626
611
623
635
619
608
619
620
617
608
617
606
608
613
622
631
609
629
621
619
613
629
608
615
627
614
612
609
632
608
622
624
618
625
606
636
610
614
619
617
617
608
612
611
604
602
622
627
628
606
613
622
630
614
626
621
622
615
605
604
639
606
628
626
636
610
600
600
622
616
607
603
605
617
604
611
618
612
618
614
614
610
605
624
606
639
619
634
608
602
620
615
604
619
611
631
610
614
614
607
616
607
606
629
617
615
613
625
630
628
603
608
619
606
615
631
620
621
628
615
615
610
614
605
620
632
633
623
616
618
619
626
609
617
620
613
606
622
608
630
617
616
633
625
630
613
625
608
620
604
611
623
620
632
617
631
616
620
617
613
605
617
629
605
602
618
635
627
607
618
614
609
625
631
609
619
626
602
609
621
625
620
603
620
609
614
609
639
630
627
608
614
611
613
614
623
632
625
636
619
609
604
614
605
613
621
612
618
605
624
639
602
623
608
606
614
621
619
632
614
613
620
604
614
617
632
619
622
630
615
608
603
615
605
615
615
623
608
621
608
630
609
609
607
637
615
633
621
625
606
603
604
621
639
613
631
611
602
609
613
616
621
613
619
628
634
605
639
624
604
625
610
619
621
607
620
614
632
623
607
605
629
613
616
627
617
611
605
619
613
621
632
621
610
625
603
602
611
628
606
627
626
609
621
610
614
613
609
610
628
626
605
609
619
619
614
619
613
619
609
631
606
608
617
605
611
626
603
639
605
615
603
609
620
617
600
618
617
613
603
614
607
608
617
603
608
617
617
611
623
612
612
611
619
629
617
620
622
619
620
599
631
608
611
605
637
601
632
627
600
630
612
602
635
609
617
623
608
601
628
621
608
614
628
637
615
631
617
625
614
614
606
615
607
617
609
615
630
630
619
606
613
617
631
609
611
604
617
639
616
607
639
603
608
625
608
604
609
614
625
606
604
599
608
631
618
607
629
616
611
622
618
628
619
625
608
613
620
605
630
639
610
631
624
631
631
605
611
629
606
606
624
627
611
614
626
606
617
625
623
605
609
610
623
618
606
610
607
603
622
627
626
634
609
630
621
624
621
609
621
606
620
602
639
628
624
610
613
618
612
618
622
617
626
603
635
617
613
630
618
632
615
636
606
634
629
610
610
608
638
618
616
603
611
605
604
611
616
611
636
603
625
614
605
611
613
614
620
619
623
606
629
612
617
632
624
630
608
631
608
608
627
610
609
603
625
605
612
633
612
606
638
606
626
614
608
608
602
618
621
628
635
612
630
609
613
621
606
639
619
616
618
615
604
601
608
621
632
626
629
604
612
625
623
631
614
619
619
623
610
610
611
615
631
606
628
614
631
632
602
610
611
613
617
618
635
614
624
615
613
616
609
625
602
629
629
622
603
622
630
618
603
602
627
619
609
606
634
629
606
632
627
616
625
606
636
629
630
615
606
619
605
632
623
622
629
640
606
604
631
639
616
625
609
618
606
607
614
607
606
614
620
621
634
618
604
630
614
613
609
626
619
616
631
625
610
614
612
620
612
602
606
611
606
616
634
620
617
604
621
628
623
623
611
601
620
606
630
630
634
629
631
607
608
602
624
619
618
634
614
621
631
632
603
620
612
603
617
617
630
634
614
629
639
632
617
618
639
635
611
617
621
606
617
606
611
608
624
616
618
626
618
617
610
608
605
601
614
635
628
615
619
627
615
610
603
614
628
626
606
626
630
619
628
620
603
617
625
607
624
619
626
630
613
631
614
607
625
612
608
625
609
618
615
607
607
630
609
610
607
614
630
603
621
626
640
614
619
611
630
615
625
629
613
614
610
612
614
622
639
607
610
621
604
630
613
639
628
622
618
601
612
609
616
632
630
629
620
631
620
608
618
603
633
604
603
601
614
602
615
620
617
630
613
629
628
627
609
613
607
629
630
620
614
625
606
620
622
616
606
618
613
609
603
619
629
621
625
639
619
602
614
609
605
606
618
621
630
609
602
631
625
603
622
607
615
639
625
616
611
607
605
606
627
622
629
624
608
616
615
606
610
607
621
618
626
619
631
636
606
608
625
613
618
616
624
626
623
601
608
605
631
627
622
632
616
606
617
617
609
632
628
639
626
606
614
618
605
623
626
621
629
611
631
639
627
622
613
619
608
630
629
620
622
604
606
609
607
632
603
610
608
608
612
632
628
615
603
606
610
620
629
609
610
603
608
622
629
606
631
612
635
608
613
622
625
632
618
618
605
612
614
635
620
614
627
623
636
603
605
632
623
603
609
615
635
608
609
617
605
611
628
629
632
612
636
603
627
635
614
607
610
607
636
603
608
619
629
627
605
603
610
604
613
608
607
613
617
628
614
614
607
637
607
629
608
606
615
626
631
634
614
614
602
619
618
605
625
622
606
624
602
606
636
633
603
639
609
608
621
615
629
610
628
620
614
613
608
610
618
604
605
614
623
627
606
632
623
617
625
617
608
606
617
608
623
637
626
608
638
612
621
612
613
605
632
623
618
628
613
635
611
607
628
637
627
619
619
625
618
611
623
621
623
606
606
629
631
631
617
608
619
603
613
621
600
613
639
609
608
614
622
608
615
614
631
601
603
611
609
622
618
605
609
617
618
619
619
617
611
608
632
613
631
599
628
628
617
617
613
618
617
614
629
619
613
616
614
601
603
607
625
613
606
639
604
609
629
607
611
608
626
606
625
622
611
630
614
627
627
602
623
606
609
625
617
611
610
604
606
631
619
611
618
602
618
631
602
619
631
623
622
623
630
618
609
612
606
603
609
621
607
620
608
607
610
606
617
621
613
623
603
614
615
630
631
617
628
614
630
603
607
626
615
625
607
631
608
619
609
634
604
604
612
612
635
618
619
612
611
625
640
611
619
615
616
622
624
621
608
614
618
606
639
622
614
603
608
632
624
612
621
639
625
619
602
627
626
634
610
612
610
622
639
625
604
609
613
614
616
626
610
626
628
613
629
614
626
613
605
620
639
629
604
629
606
607
621
605
608
627
636
613
630
609
614
611
634
618
624
614
607
623
604
606
622
621
617
626
613
623
614
628
607
627
610
618
632
610
624
610
619
617
615
604
631
615
603
624
620
629
622
624
610
609
615
632
610
615
636
624
622
626
614
618
639
619
626
605
625
614
630
621
617
612
614
629
606
628
624
603
635
605
614
635
600
625
611
626
616
601
626
630
609
622
612
606
630
632
611
598
624
613
623
614
621
612
639
629
613
632
606
639
627
628
615
599
612
613
628
605
611
605
614
633
608
623
614
635
606
624
617
605
637
617
619
624
605
612
631
606
611
622
616
609
609
615
620
617
602
631
609
616
616
634
604
637
629
626
604
618
613
620
616
628
630
610
603
632
609
603
626
620
614
603
626
608
639
613
611
604
608
627
608
608
635
604
611
603
614
629
611
629
629
609
614
624
619
629
610
610
629
607
629
609
635
616
602
604
623
625
626
614
639
614
603
604
613
625
609
621
610
606
622
618
618
604
619
607
609
625
618
620
630
619
607
617
614
601
606
616
618
609
620
611
618
632
622
640
615
622
610
613
606
617
613
617
610
614
632
632
617
615
627
606
622
620
608
626
629
610
613
612
634
613
618
626
606
607
609
604
636
631
628
609
617
606
625
610
602
623
624
621
606
610
601
614
616
628
605
611
599
629
639
623
619
629
610
639
634
619
607
608
611
624
623
625
611
629
616
632
627
616
611
604
613
619
633
605
601
620
622
633
607
626
605
604
630
615
616
626
614
608
625
641
632
622
620
621
613
606
630
618
617
604
600
606
608
613
617
623
609
603
629
609
609
617
615
609
626
606
614
615
605
622
613
634
611
622
604
622
612
633
609
635
613
627
619
621
631
630
612
604
625
612
608
606
617
630
617
608
623
613
613
628
639
605
617
613
604
607
623
632
630
632
613
631
607
614
607
633
602
608
614
629
639
608
613
631
615
620
611
607
623
606
634
603
637
611
626
602
610
625
608
618
609
614
628
608
611
632
604
640
605
613
636
607
617
632
602
622
605
632
602
605
606
611
608
604
627
617
611
616
611
613
624
620
621
607
639
624
621
636
625
632
627
604
614
632
635
639
629
623
611
609
623
619
613
610
632
617
609
616
628
609
607
623
608
623
621
633
616
621
623
622
638
629
613
629
601
626
617
618
608
608
624
608
639
612
619
618
639
626
614
612
629
615
622
607
622
602
610
621
609
609
618
614
623
602
607
619
617
609
612
603
609
622
608
626
610
633
617
614
635
603
610
613
610
619
608
615
629
629
604
622
612
618
611
619
639
614
602
620
615
622
635
620
639
632
611
621
610
619
614
621
610
619
609
600
605
613
637
606
615
630
633
613
629
617
621
617
608
633
617
624
622
629
622
634
603
620
618
612
614
620
618
639
611
617
625
610
616
608
637
623
622
610
615
610
634
619
603
610
617
610
625
618
618
606
609
626
616
608
632
612
609
629
613
603
614
609
632
615
631
627
614
608
603
604
612
607
640
611
612
607
620
639
633
603
632
630
599
610
606
619
608
624
625
607
603
608
617
620
605
610
606
615
613
627
629
614
610
634
606
611
606
608
618
632
612
634
610
611
615
606
606
632
618
621
614
614
607
620
635
614
616
633
608
613
602
615
600
617
610
607
603
619
612
613
613
613
605
617
626
625
617
614
604
639
612
608
609
619
617
639
630
623
629
623
606
608
605
603
613
627
628
612
604
635
621
631
626
612
613
624
614
617
637
614
610
608
620
610
631
619
622
617
630
613
628
628
613
602
612
630
628
636
632
623
630
617
628
628
607
635
602
598
629
626
632
614
613
614
631
615
603
616
618
622
628
607
625
620
625
633
635
632
610
611
634
611
617
621
632
615
609
603
619
631
614
623
639
607
625
623
639
611
606
631
613
626
612
628
618
602
616
640
620
634
638
609
623
624
612
605
602
623
605
616
625
612
622
617
613
606
612
619
609
609
618
613
634
610
615
609
617
608
626
632
629
614
605
635
617
614
608
610
628
603
617
632
625
623
618
609
619
622
611
615
632
629
623
614
619
616
609
638
609
636
624
603
630
639
638
627
613
630
620
634
600
604
612
606
636
632
616
623
626
606
625
604
614
610
613
607
616
623
631
611
606
621
625
604
603
607
607
605
632
621
628
619
609
639
614
608
616
615
610
635
605
632
605
613
618
628
611
632
610
605
618
624
631
617
615
611
604
614
618
618
614
613
612
609
639
609
608
629
606
635
621
631
619
614
610
617
624
613
629
612
617
614
614
608
617
608
631
626
606
625
627
632
606
620
632
605
616
606
610
624
628
631
626
630
625
610
610
635
608
621
601
599
632
608
609
620
610
620
605
608
627
611
639
618
620
608
611
601
611
624
611
620
639
621
620
607
608
601
623
617
611
612
614
619
618
622
617
604
608
624
620
623
613
614
606
627
606
632
608
613
625
605
635
622
606
629
641
625
623
622
610
618
619
634
618
605
618
613
609
621
621
614
630
604
632
632
614
612
617
603
622
607
609
609
611
615
631
623
614
604
623
613
605
631
614
631
613
612
608
630
607
630
612
619
617
625
611
611
608
616
607
634
610
614
605
617
609
615
613
630
612
612
632
621
627
626
638
611
610
609
610
628
609
613
609
620
618
604
612
624
639
610
618
625
610
631
615
608
607
607
607
620
606
604
613
622
604
625
639
611
626
605
616
611
622
629
613
611
603
631
624
611
606
612
639
614
619
625
629
610
631
619
605
613
603
615
624
616
613
629
626
631
607
613
610
621
620
603
639
636
622
635
620
626
629
626
613
639
622
600
626
622
609
610
614
606
631
640
608
610
609
613
607
616
610
631
625
622
639
623
610
615
611
612
608
611
603
610
627
632
604
614
605
611
607
633
623
613
621
618
627
629
630
613
629
639
605
625
620
610
618
624
606
620
626
632
615
606
609
614
628
612
634
604
601
632
633
632
609
632
617
639
609
614
625
610
620
612
609
615
603
608
623
622
630
614
634
617
617
618
613
606
631
606
608
603
605
618
631
615
618
619
604
617
627
610
606
608
626
626
602
619
634
620
636
613
613
618
614
639
616
621
616
622
623
627
606
612
605
620
614
608
629
608
608
609
609
623
639
612
630
600
639
623
614
606
637
627
618
606
634
626
611
605
608
609
612
625
617
617
636
618
634
606
612
634
613
625
627
623
607
617
616
613
620
616
608
621
628
629
635
602
603
611
626
617
618
620
622
629
629
631
635
614
607
601
618
634
605
617
626
622
608
617
631
611
636
609
630
637
618
613
635
603
613
624
609
623
613
627
606
613
609
603
620
618
605
608
603
610
607
625
622
617
606
626
610
628
631
614
627
619
606
621
620
610
610
605
615
604
617
607
610
606
631
639
631
612
609
620
607
625
639
611
606
615
613
610
632
620
606
623
629
613
613
607
609
611
624
625
608
612
605
612
607
633
604
599
623
607
610
603
631
627
617
616
614
623
633
630
603
635
599
608
626
613
602
638
605
608
600
603
624
634
617
605
614
620
639
604
614
614
621
607
612
605
631
611
617
626
630
640
634
624
619
622
620
612
602
615
628
608
605
603
614
620
627
624
636
630
632
620
604
617
607
613
616
604
623
615
607
609
628
623
610
607
614
608
618
614
604
616
612
613
601
618
614
624
611
620
631
612
619
630
629
633
618
610
632
641
620
618
634
626
609
624
625
604
639
619
602
608
612
618
617
612
613
635
605
637
608
609
613
608
615
618
602
636
624
611
619
636
634
626
623
618
618
607
625
613
621
611
617
639
632
602
603
639
625
635
632
622
626
639
623
612
608
625
611
611
621
608
626
615
603
626
610
602
611
624
607
613
631
610
617
615
632
621
625
611
604
607
624
626
609
618
613
626
606
631
615
604
606
636
620
620
607
633
618
602
617
611
604
605
602
611
599
613
609
629
620
617
624
602
622
615
614
636
636
610
612
620
637
611
625
632
627
606
611
613
636
639
609
625
617
638
608
607
609
626
601
622
621
606
622
604
622
613
619
622
619
622
621
623
611
623
633
612
629
623
626
604
620
632
627
613
619
613
603
619
602
625
618
622
613
635
614
603
624
636
610
616
609
629
614
613
632
610
615
606
606
610
606
617
618
622
635
613
627
619
607
623
608
626
623
606
605
613
617
616
639
605
605
613
627
639
608
613
618
612
607
635
608
624
603
611
622
613
608
626
639
605
632
639
633
624
621
630
634
619
612
615
609
603
610
613
610
625
614
606
634
617
620
608
611
634
611
619
613
620
617
613
613
622
618
630
612
619
605
633
609
607
617
614
603
623
612
610
627
611
631
625
624
613
616
608
623
627
630
618
635
626
608
634
623
624
609
614
608
626
617
605
623
608
624
632
610
622
632
632
617
615
600
608
640
605
612
610
612
615
601
610
611
626
641
634
624
628
622
632
609
611
622
616
619
628
616
621
632
614
635
625
609
610
603
622
614
615
618
617
629
625
608
632
606
615
623
613
619
635
606
606
617
610
626
633
614
630
604
604
623
605
617
618
609
626
612
620
605
623
640
622
627
621
639
616
604
622
603
621
625
609
617
629
634
604
609
631
620
601
622
607
623
613
632
639
631
610
623
636
601
613
612
622
627
621
628
603
620
602
609
632
603
606
623
608
620
626
624
624
614
620
620
605
639
609
609
615
625
606
606
604
622
618
621
627
602
639
617
603
605
615
621
632
632
610
626
608
623
617
603
634
617
610
606
607
606
613
612
625
609
633
610
616
616
609
626
639
610
615
628
614
617
631
608
606
617
629
620
625
615
622
611
631
639
632
609
615
623
607
608
620
608
629
626
609
613
604
620
607
614
625
619
633
613
632
605
608
603
634
614
615
617
615
619
612
607
621
623
614
604
632
603
632
632
609
607
632
609
609
605
610
622
614
617
619
607
622
620
637
633
629
625
613
628
619
609
622
622
617
632
610
630
617
613
633
622
626
632
638
627
611
623
613
611
627
622
629
622
634
612
605
602
610
619
610
622
622
605
631
625
610
632
610
614
605
617
622
609
623
611
612
629
620
619
630
614
620
608
611
602
611
605
624
617
631
604
606
622
620
615
635
610
626
618
613
623
626
623
609
604
613
605
609
613
615
608
622
603
620
635
612
612
613
630
611
626
613
625
619
616
603
611
635
624
605
639
627
612
606
601
620
639
606
617
619
621
614
611
622
603
622
608
602
605
625
614
617
625
613
611
627
613
626
610
619
608
618
611
621
632
609
603
630
623
614
632
610
621
627
621
617
602
603
617
632
605
609
606
624
623
608
626
609
604
610
602
604
609
623
608
608
632
637
628
632
614
639
604
632
614
603
603
630
611
636
633
612
605
621
614
613
609
632
624
608
630
635
630
620
604
612
610
603
606
635
602
604
612
626
619
632
632
630
602
606
613
614
634
602
606
612
607
610
605
618
622
609
631
632
635
612
619
631
639
611
603
616
628
613
607
631
613
605
608
628
632
614
621
623
610
614
626
604
622
606
613
621
619
617
628
608
608
623
614
605
619
630
623
626
611
612
620
611
626
621
623
608
613
613
631
610
618
618
620
625
616
624
618
629
604
604
627
632
626
609
635
633
615
624
630
632
631
609
619
605
612
610
623
620
614
608
612
610
623
605
626
622
613
610
614
610
639
611
612
610
615
611
635
632
635
615
610
631
615
611
629
632
614
616
619
605
610
603
616
614
620
639
641
609
612
609
623
623
635
613
609
626
639
637
639
624
603
621
623
615
610
619
624
619
606
629
613
610
619
621
606
617
619
633
630
621
608
627
610
626
618
635
613
638
625
602
631
615
610
614
632
616
623
626
626
605
624
605
617
632
614
615
617
629
604
618
632
623
608
616
607
607
632
609
617
630
620
623
616
620
613
617
619
613
627
627
614
639
632
603
617
629
629
613
613
602
612
608
620
609
615
629
611
614
635
611
614
608
614
618
617
608
611
608
618
620
603
604
630
626
629
631
639
604
636
613
605
620
639
617
623
640
631
631
611
606
615
632
611
614
607
622
628
631
606
621
616
637
619
620
608
623
616
631
614
605
610
636
615
623
606
602
612
619
608
606
609
633
604
639
606
604
610
628
611
622
617
609
607
614
609
625
616
631
633
610
637
615
617
605
623
609
630
630
607
606
617
610
622
639
632
608
632
609
613
623
624
621
613
614
622
613
603
623
612
614
610
604
611
608
606
635
617
606
630
639
625
619
607
602
603
628
622
633
624
625
604
623
631
613
611
615
633
626
615
609
604
604
614
622
619
626
623
617
625
613
606
610
618
628
607
621
623
624
608
618
611
623
631
617
610
631
611
604
617
619
603
630
606
634
623
624
604
634
603
620
603
612
617
623
631
625
606
608
612
601
612
611
611
606
631
622
605
611
624
636
606
633
610
607
615
610
617
632
615
619
606
603
608
621
618
636
626
632
608
635
618
614
610
625
605
610
603
625
626
617
610
604
622
614
628
619
618
639
622
631
610
603
609
626
629
619
629
599
623
624
603
620
607
616
603
617
636
614
614
629
622
626
609
613
618
608
632
625
601
617
613
603
603
604
631
631
631
608
622
626
613
615
622
611
634
608
621
633
620
607
634
617
629
613
627
623
602
613
612
613
609
620
610
636
616
613
607
609
630
606
611
606
619
619
627
639
617
639
625
611
601
638
611
619
623
614
602
600
617
609
617
609
624
614
600
604
623
635
614
631
605
604
618
610
625
611
612
614
616
605
606
606
617
606
612
604
602
612
628
617
612
609
608
609
606
608
609
623
624
635
614
613
606
620
608
630
609
631
623
613
620
603
625
618
619
606
607
605
612
639
624
632
616
634
631
631
608
610
602
612
638
630
608
603
623
606
626
618
615
605
610
609
626
609
610
630
604
617
608
621
640
602
601
639
607
622
626
605
619
626
629
629
629
622
640
624
621
612
618
627
624
623
613
612
613
609
619
607
605
625
605
631
619
622
617
623
626
614
621
626
612
615
626
632
618
617
630
618
613
615
613
605
607
634
617
614
639
630
613
609
625
632
618
605
614
604
609
628
613
618
623
618
617
614
614
617
638
629
621
609
634
613
606
636
621
603
637
613
620
632
608
603
632
604
623
629
608
608
608
605
619
632
613
632
606
625
639
606
624
627
609
637
637
617
614
618
617
637
618
607
613
623
607
608
605
607
614
625
635
628
613
612
635
620
619
622
621
601
609
615
605
634
629
609
629
617
612
635
623
609
623
617
631
613
612
623
611
621
609
613
608
609
611
599
607
610
626
615
620
631
618
604
623
632
608
611
614
603
602
606
615
617
602
621
613
630
626
613
629
619
610
631
602
615
635
623
602
609
605
610
620
628
622
622
611
617
634
609
614
623
626
630
619
611
616
607
608
616
628
632
636
614
610
611
616
620
632
608
610
639
612
620
613
636
609
604
620
604
608
627
623
618
604
615
608
611
618
614
612
633
611
638
627
618
639
623
610
624
626
628
629
623
612
635
605
608
631
622
604
631
613
625
604
614
631
626
606
611
623
610
604
621
617
639
621
613
610
611
629
622
615
614
610
618
607
616
610
620
607
619
630
622
604
634
611
605
616
623
632
611
627
608
617
618
606
631
613
610
610
614
626
602
605
628
625
610
612
614
613
613
615
613
624
613
622
614
633
629
617
613
615
607
629
635
606
612
606
610
620
633
610
617
622
623
620
623
632
614
633
622
617
634
637
623
612
613
634
608
617
621
608
612
609
618
623
609
606
623
613
636
624
609
621
611
608
607
609
622
623
625
607
619
613
613
611
603
613
631
613
609
613
604
611
622
614
632
604
626
619
637
616
628
624
635
605
612
604
606
603
618
637
607
608
606
606
601
636
611
629
621
619
607
618
612
636
623
609
603
610
629
611
616
622
621
605
618
635
613
613
605
605
629
613
622
618
599
610
620
624
617
604
627
629
622
612
604
618
608
639
605
627
618
635
626
621
611
627
618
631
618
620
605
621
599
606
604
616
622
639
603
639
629
626
628
614
624
622
614
635
628
631
618
629
613
612
613
625
609
624
629
615
620
605
630
611
624
604
610
616
632
612
605
639
603
629
626
629
620
602
627
620
623
603
621
625
639
622
633
632
639
613
619
632
618
615
639
614
605
622
629
614
622
633
631
627
603
608
625
627
603
615
606
611
616
617
632
633
609
605
612
614
626
602
623
614
622
616
619
612
628
603
625
623
627
612
632
606
608
620
625
620
609
611
633
633
623
604
619
617
608
611
622
607
632
623
618
609
624
629
627
608
622
623
619
603
629
607
641
622
612
612
631
639
620
622
631
632
629
618
613
625
639
625
607
622
618
613
604
611
604
632
615
614
612
612
626
636
603
603
613
625
637
622
621
632
627
608
619
632
623
613
616
604
609
634
612
609
626
611
608
617
617
614
604
623
619
623
632
603
617
617
628
604
623
634
619
631
624
633
606
610
601
632
603
619
604
624
607
606
611
611
623
622
609
607
630
613
619
621
625
613
613
622
608
607
628
628
612
617
600
610
622
629
635
612
623
620
614
617
628
618
604
603
622
618
608
620
617
612
634
604
609
629
614
618
632
613
615
623
606
629
625
618
628
623
606
606
621
633
614
622
607
610
626
618
619
611
607
629
630
607
633
627
635
639
612
630
606
612
601
615
625
611
625
639
612
612
608
612
626
604
626
605
618
616
609
606
623
622
604
617
619
620
614
634
625
609
607
617
606
612
630
601
639
601
613
606
624
623
610
605
626
615
611
611
614
610
606
607
611
628
623
607
608
609
622
617
616
609
621
615
622
625
629
620
619
631
633
622
609
625
628
639
603
617
621
627
613
608
615
625
627
602
633
614
636
633
617
623
629
619
620
607
618
639
620
610
631
625
609
616
602
619
624
629
612
629
608
623
620
619
635
617
618
619
619
622
640
634
608
633
604
614
617
614
605
623
604
631
616
604
623
639
614
615
626
629
626
615
612
629
605
623
606
619
637
614
605
622
629
629
639
624
614
630
630
611
630
618
613
638
619
623
625
626
622
606
611
607
617
614
617
614
605
620
614
621
606
625
637
639
616
613
606
622
636
615
610
635
606
602
637
602
618
626
629
609
639
603
631
623
630
628
627
603
608
634
624
637
627
621
609
608
611
617
604
639
618
613
616
625
605
612
629
612
631
609
608
632
612
622
622
608
623
606
618
629
613
601
635
610
619
618
609
602
625
613
626
607
626
608
630
612
610
614
614
623
621
623
630
603
632
628
614
611
629
630
616
635
625
614
631
624
614
619
623
637
619
628
612
610
629
620
607
639
624
623
617
629
622
634
618
621
628
613
632
604
610
619
629
626
619
623
601
623
614
613
611
632
608
626
620
616
608
611
612
608
628
607
611
609
608
632
632
625
617
630
626
610
639
635
626
616
619
602
622
628
616
619
635
612
622
628
612
614
611
610
608
618
608
605
624
623
629
609
625
610
619
608
630
631
609
635
621
623
639
613
625
610
626
617
620
614
607
617
623
605
608
620
628
620
617
632
623
610
614
629
605
631
632
612
608
616
625
619
624
622
608
630
606
608
629
623
613
609
607
603
618
622
611
629
613
624
624
612
623
621
604
615
607
616
632
631
608
623
608
635
617
600
631
604
613
607
632
622
635
607
605
640
619
613
636
611
605
614
631
606
610
606
609
639
607
611
621
604
610
629
639
622
628
635
600
629
633
615
613
606
614
611
639
613
615
610
628
629
617
611
610
616
610
637
625
618
602
619
614
613
613
639
626
625
621
627
601
628
612
622
609
624
623
607
617
607
633
613
627
623
620
602
631
629
635
634
607
618
611
626
607
616
613
615
609
631
609
603
631
611
624
609
604
604
612
612
631
618
613
628
616
603
614
615
623
603
606
610
602
606
626
632
623
628
616
623
611
632
615
608
608
603
603
616
603
607
604
625
617
634
620
615
602
619
614
604
616
607
603
605
612
633
630
633
623
631
605
620
621
628
626
623
603
622
632
622
609
619
623
608
617
606
628
608
602
603
620
615
613
631
624
613
622
611
620
626
606
615
607
628
619
619
615
625
626
620
603
639
613
609
625
622
630
615
608
623
603
608
630
612
627
617
626
610
635
634
620
616
625
617
605
611
603
615
619
619
632
613
624
609
639
620
614
629
604
607
618
603
614
629
613
605
606
629
606
612
609
600
613
602
613
606
634
602
612
613
627
634
620
612
602
619
619
625
615
631
609
609
620
605
609
624
608
604
635
639
618
628
618
617
632
603
617
608
614
619
623
632
611
610
629
613
604
632
626
606
606
608
617
613
635
610
620
606
609
614
621
620
615
605
616
637
626
602
610
609
608
632
613
614
617
625
632
613
625
624
611
613
625
605
634
628
615
630
614
613
615
632
639
634
616
624
602
626
606
613
605
616
619
634
632
619
614
608
611
612
613
622
617
609
622
625
629
621
620
615
607
622
613
605
612
612
616
639
602
609
631
634
634
606
620
630
632
629
639
632
611
606
609
603
639
633
620
605
605
625
621
632
627
622
602
619
626
627
626
616
636
631
604
634
613
639
608
619
626
607
627
608
620
624
602
605
613
615
625
618
603
618
608
615
618
615
619
626
619
614
610
604
630
609
606
610
612
610
618
634
622
639
639
635
614
627
619
620
605
632
620
616
626
618
622
607
618
610
618
622
613
614
617
608
613
611
614
618
625
617
632
606
610
623
613
631
625
618
610
602
639
611
610
629
623
607
635
626
625
612
608
616
600
614
616
630
599
605
631
618
615
607
617
627
619
630
632
605
620
625
606
606
632
609
606
611
603
612
625
639
606
622
639
615
613
617
622
620
602
615
639
612
625
627
608
618
623
636
621
629
603
636
613
606
623
606
617
609
608
635
619
617
605
605
603
627
612
638
619
624
610
618
616
614
614
608
631
629
607
632
599
614
622
621
618
614
623
604
609
608
639
620
632
613
619
611
605
631
613
609
602
604
621
622
622
639
630
609
616
619
608
625
631
621
638
611
604
607
620
617
608
605
619
619
615
637
617
632
622
617
602
623
629
609
617
614
607
611
629
609
614
615
606
621
606
632
623
623
607
626
622
623
622
621
606
632
619
622
636
624
608
609
616
614
613
613
610
634
606
613
632
635
629
620
606
625
632
604
617
621
626
601
604
619
604
634
623
617
609
633
631
628
609
630
613
616
613
612
622
618
607
612
623
613
627
634
604
610
606
618
605
624
606
616
622
602
621
612
603
621
608
609
609
620
616
605
632
636
608
606
619
618
633
622
622
634
607
633
621
612
629
614
640
622
608
620
610
621
611
632
616
617
614
610
627
611
621
635
636
609
605
628
617
607
599
609
614
625
617
631
610
620
613
632
617
631
605
614
604
608
626
632
625
633
608
613
606
622
604
604
610
609
626
616
618
619
616
632
625
623
632
605
629
618
618
605
609
604
610
625
639
634
616
612
624
617
635
639
622
631
621
635
600
639
626
606
618
624
606
629
633
618
631
610
615
608
604
610
603
625
610
606
610
615
640
604
639
611
639
614
620
610
635
613
629
616
607
622
614
611
610
605
610
616
618
605
614
620
614
629
619
621
607
626
627
631
616
616
613
633
606
619
617
632
634
617
634
604
603
607
603
621
639
632
614
623
617
618
624
619
623
628
609
612
630
617
616
612
608
635
627
621
624
617
626
635
620
609
614
617
637
618
630
623
634
603
619
617
609
629
601
625
622
608
609
621
611
607
602
610
608
610
604
606
614
636
600
635
632
611
630
637
619
625
622
629
639
634
602
614
611
626
618
604
604
613
605
632
611
612
613
623
608
621
606
622
613
636
614
610
629
612
630
633
602
631
634
618
620
610
612
619
608
607
619
639
631
614
621
603
609
615
619
630
617
608
615
633
603
603
639
609
608
617
616
607
610
630
627
639
610
609
627
639
616
625
620
613
608
606
604
632
611
618
609
607
634
614
619
620
624
616
616
634
621
613
621
637
632
614
611
610
615
600
626
631
623
639
623
614
624
621
603
607
634
602
617
629
633
620
616
609
615
609
606
636
614
605
623
623
622
613
611
614
623
604
610
615
620
611
629
609
606
622
629
617
613
610
632
620
605
601
614
608
619
626
608
635
635
623
603
605
629
622
632
605
613
622
616
599
608
621
621
608
628
620
625
630
621
635
618
623
613
627
605
601
608
632
615
621
613
610
622
612
613
625
613
612
623
626
622
635
625
635
614
632
612
603
609
615
623
617
612
616
613
610
624
602
620
609
610
602
631
628
627
614
632
613
629
602
611
618
617
614
633
616
619
609
612
605
617
605
618
604
617
608
603
630
609
607
609
621
614
628
620
606
605
626
603
626
613
628
604
625
614
625
626
615
603
614
636
604
626
623
625
615
622
605
615
613
625
621
627
602
639
612
639
625
620
615
618
614
604
609
618
620
621
629
619
621
608
614
621
631
623
622
626
614
609
628
617
610
629
610
616
610
606
621
635
615
609
629
629
632
604
615
614
633
638
600
611
632
605
624
632
623
605
611
631
619
610
624
602
607
612
604
628
608
604
624
639
604
616
609
628
609
615
625
628
606
620
625
621
639
614
631
631
610
613
611
629
623
613
631
626
628
610
601
632
629
608
608
631
614
625
632
609
618
625
616
613
623
606
623
634
618
625
628
604
622
614
628
626
617
636
608
626
608
623
632
612
610
609
619
613
605
628
608
637
599
631
622
635
612
601
603
623
600
626
617
608
607
608
629
628
630
617
630
632
617
602
639
610
609
617
603
630
619
617
609
614
625
617
614
605
614
622
634
624
620
608
627
606
625
604
618
609
613
612
605
610
602
639
639
604
607
609
612
607
611
633
619
631
631
613
601
614
606
613
629
631
612
608
628
630
624
622
617
612
620
603
613
601
630
613
618
624
608
620
605
609
610
617
626
624
606
609
614
614
616
603
604
604
609
634
607
604
608
629
631
617
610
639
605
620
613
605
604
613
612
621
620
622
618
608
616
618
603
609
605
608
610
612
612
626
615
626
606
633
628
607
625
634
631
602
604
606
633
604
612
612
602
608
616
635
623
613
614
614
629
614
620
603
633
639
617
606
613
609
625
619
612
616
608
627
622
615
629
616
630
612
634
610
603
628
611
621
616
632
629
612
620
606
617
614
607
632
629
617
610
620
620
612
613
623
628
613
604
614
640
618
613
611
610
610
621
608
624
631
623
623
612
608
621
614
604
639
630
613
629
624
611
616
627
612
605
629
602
614
606
619
621
626
618
615
615
605
608
605
603
602
603
638
630
617
614
620
622
614
631
622
603
606
610
620
619
634
605
609
604
610
614
635
607
609
611
616
613
607
609
607
613
611
635
634
604
599
612
609
612
603
609
603
623
613
622
639
632
622
621
622
608
607
636
607
623
629
619
602
614
616
606
613
612
626
610
617
609
607
605
622
618
628
603
621
627
632
632
631
613
613
614
602
611
632
603
623
622
633
611
608
623
617
611
617
608
609
617
617
613
611
605
618
631
607
625
626
606
621
620
622
612
608
612
624
607
624
607
625
602
617
612
614
613
620
615
611
613
613
614
622
603
627
617
606
639
626
605
617
609
603
607
632
621
612
616
623
603
611
639
621
628
607
621
611
622
610
630
623
618
608
616
630
617
611
632
621
629
617
641
603
617
614
616
615
607
617
604
627
628
608
621
631
607
634
613
640
611
623
630
610
604
614
632
608
605
635
608
630
608
613
610
617
620
620
637
618
610
623
613
609
632
634
629
628
617
609
606
620
639
620
616
602
635
612
637
629
625
631
625
614
623
622
629
614
617
623
622
617
612
605
617
622
632
616
623
612
615
627
623
613
631
615
624
625
619
628
606
610
614
610
609
635
609
613
635
620
605
631
607
628
639
609
633
610
621
608
618
609
625
631
612
623
630
608
621
609
613
629
634
619
620
637
635
603
610
617
615
607
611
631
617
634
608
617
635
620
602
634
620
632
622
639
603
615
621
629
617
638
612
623
603
620
613
609
626
620
630
613
628
614
639
604
623
629
626
606
601
638
624
620
614
617
624
610
612
604
611
610
610
608
609
617
604
623
611
617
601
623
619
617
632
617
609
627
631
607
608
634
620
604
614
625
626
610
606
606
632
609
626
610
626
608
640
625
630
605
639
612
606
607
620
613
617
621
635
608
612
637
614
605
604
602
625
609
614
623
606
613
618
622
602
621
615
619
624
604
605
608
605
608
640
625
617
624
618
626
609
612
641
634
611
616
625
609
608
608
613
610
625
626
613
602
606
602
626
621
606
609
614
637
621
607
605
613
616
622
605
618
609
614
607
620
631
606
620
603
625
607
615
630
623
639
636
607
605
623
622
635
614
619
632
619
617
613
619
620
610
633
631
613
629
613
635
625
613
623
631
632
616
614
608
622
629
627
608
607
618
605
611
639
616
609
602
623
623
614
608
612
608
631
612
629
609
615
631
608
633
614
620
605
609
614
632
623
606
622
610
609
603
619
606
624
617
617
614
625
626
614
606
623
616
611
617
603
631
606
621
640
613
610
619
611
618
609
628
607
610
629
610
619
613
615
622
620
630
610
603
632
619
606
609
623
627
634
615
617
611
617
622
604
607
620
626
639
626
607
630
628
604
623
623
606
628
608
607
623
605
617
631
612
621
622
610
625
611
605
608
612
618
616
623
605
607
628
625
610
602
632
608
634
610
613
618
631
620
609
630
617
611
640
619
626
622
610
624
610
613
623
607
606
603
620
600
620
635
613
633
621
626
611
621
618
609
615
622
619
606
604
634
622
611
617
617
611
616
603
636
629
612
622
629
614
608
630
605
620
627
604
624
639
609
629
623
612
617
629
635
613
617
606
611
619
613
626
612
614
624
611
628
614
607
603
637
604
618
618
640
612
609
624
606
608
617
611
606
604
615
609
606
602
618
609
614
623
617
619
609
611
623
612
623
605
629
603
630
607
628
605
604
610
611
611
606
606
606
606
624
623
616
635
631
604
617
600
632
625
622
609
615
640
639
611
612
630
607
623
607
619
606
610
621
613
610
626
632
622
611
625
610
639
612
604
611
605
611
609
605
609
606
628
613
628
632
635
626
601
630
612
632
626
631
606
626
639
611
612
627
631
617
632
609
622
609
608
620
622
631
609
602
608
614
633
639
628
620
608
611
627
625
617
621
626
616
607
620
616
610
613
611
620
625
603
628
609
626
639
605
605
608
616
640
616
604
616
605
635
599
636
603
619
604
606
604
623
610
619
603
625
622
630
617
631
630
623
621
624
632
609
614
618
635
630
610
619
627
634
607
602
623
618
628
630
631
613
609
618
613
607
608
626
625
624
612
606
612
614
625
628
617
608
620
605
627
610
614
604
605
610
612
605
609
618
609
625
611
632
608
623
624
603
616
613
614
618
631
605
611
611
617
613
617
612
610
623
618
613
614
605
604
627
605
604
614
624
620
602
607
624
633
632
625
608
608
612
637
606
618
620
608
617
630
623
607
608
610
635
621
612
609
616
623
603
609
603
620
600
623
629
619
605
640
628
628
609
604
631
622
622
623
605
607
616
613
613
612
611
624
615
620
636
621
605
622
608
635
601
625
607
608
612
614
604
619
614
625
605
604
608
625
624
622
618
618
605
621
602
605
622
601
615
625
618
603
638
604
621
629
606
602
605
625
605
610
616
609
622
620
606
618
606
621
627
624
617
627
631
626
634
613
634
623
623
626
635
619
604
616
611
603
615
616
604
641
604
631
615
614
623
600
632
620
616
606
607
619
604
612
609
615
616
630
631
608
606
618
626
613
614
612
634
636
624
622
617
613
625
608
603
613
610
622
625
613
633
635
623
635
616
619
616
614
610
620
608
614
603
607
617
604
610
617
613
630
620
626
612
606
632
604
605
608
604
623
622
614
627
632
630
632
612
610
614
639
604
603
625
608
615
607
619
609
620
608
615
618
621
608
600
634
632
623
623
615
639
616
617
620
626
622
639
603
620
631
624
604
609
605
609
620
613
609
612
626
617
625
608
612
608
622
611
605
625
611
639
625
617
614
639
618
619
608
611
617
605
631
611
610
622
621
608
612
638
613
612
606
633
622
636
612
608
606
639
629
610
629
604
622
617
605
602
610
621
608
625
621
624
606
634
611
617
631
610
602
610
603
608
630
607
634
618
624
618
615
605
605
639
620
632
614
605
625
618
627
622
635
632
632
612
612
620
616
613
626
623
631
611
604
604
614
602
605
607
628
623
608
610
602
633
613
617
612
614
631
640
615
621
619
617
609
605
629
613
629
612
636
617
609
619
621
609
620
608
604
613
626
639
609
634
610
605
613
611
612
617
629
609
633
621
623
628
602
613
615
631
627
610
610
599
603
622
608
627
632
609
618
614
606
621
631
604
638
620
617
606
607
604
608
617
632
626
610
615
612
608
623
614
606
602
628
622
639
613
606
618
605
625
605
610
603
620
609
608
623
604
603
600
603
630
613
613
609
614
617
624
632
609
602
617
639
623
613
608
609
602
612
626
607
609
618
634
602
612
611
618
623
613
623
601
623
612
626
614
619
611
619
632
629
622
615
624
630
605
632
605
621
617
614
611
613
639
615
631
621
604
621
618
605
624
619
603
614
639
634
621
635
614
614
639
608
615
636
624
621
606
604
629
626
618
625
614
616
618
614
619
628
639
626
624
609
610
630
613
608
618
619
628
619
606
614
610
610
613
619
620
621
629
606
608
609
616
608
637
622
625
607
610
604
617
622
624
611
606
613
622
603
621
629
626
620
604
606
623
628
617
621
607
622
604
611
621
626
609
608
628
604
634
616
630
625
613
610
611
606
609
611
632
617
608
617
610
613
619
618
628
607
623
637
607
614
614
608
633
610
619
601
622
617
626
640
639
639
630
622
604
606
608
605
613
610
608
604
626
608
605
612
611
608
620
611
619
611
614
620
624
602
628
626
612
625
604
622
609
610
623
626
613
610
615
629
619
617
617
609
602
615
619
604
624
612
623
610
621
605
612
622
607
635
628
620
630
605
624
612
609
628
625
629
615
629
604
608
614
609
614
632
612
617
628
609
616
628
613
624
606
639
618
614
602
638
615
632
609
632
605
603
632
621
617
623
606
618
627
631
620
617
610
604
618
633
627
629
623
610
629
605
628
622
612
640
610
613
631
621
623
606
609
610
605
601
632
622
617
626
626
611
623
613
629
619
625
611
623
611
613
624
608
607
626
611
609
621
615
603
635
614
634
618
632
631
624
607
636
625
630
610
623
619
634
608
612
613
610
628
631
613
610
623
609
621
614
631
612
634
627
613
610
603
624
608
622
639
616
621
613
639
622
632
618
613
620
623
632
636
605
629
618
613
623
609
611
600
605
618
617
601
610
623
638
607
612
606
629
619
608
632
616
618
639
606
606
615
619
631
609
602
611
611
607
613
611
613
606
612
636
610
613
612
611
615
608
622
621
640
635
602
603
620
609
616
623
613
618
618
637
611
615
611
610
610
613
624
612
610
609
614
620
602
611
637
614
636
606
605
639
613
619
606
616
608
618
605
602
628
615
613
611
612
613
621
610
618
616
614
637
609
633
624
640
613
623
614
635
623
620
630
639
606
629
608
604
633
622
612
613
624
606
629
619
624
617
620
609
605
612
639
606
623
618
609
608
618
622
628
614
632
611
616
623
611
611
626
608
613
626
609
610
628
615
622
612
605
634
612
620
609
625
629
620
607
627
610
626
637
628
606
629
629
622
631
623
607
614
624
625
634
614
625
633
620
604
639
620
619
630
615
608
612
607
627
641
606
612
604
639
636
639
626
638
626
625
630
620
619
604
610
622
608
619
609
607
608
604
603
620
607
623
608
613
608
615
621
616
612
639
632
602
602
632
625
604
612
611
634
615
619
626
630
611
612
608
625
617
628
610
617
618
623
622
624
622
608
626
634
623
634
640
614
622
623
611
611
615
602
613
617
605
602
619
607
630
615
614
627
605
610
624
621
615
636
614
633
624
629
627
619
608
608
610
603
617
613
620
603
626
618
608
608
637
606
608
627
639
609
612
639
616
616
620
638
630
616
626
606
613
621
606
610
605
628
639
608
621
625
621
607
627
617
623
617
608
605
629
632
620
610
625
611
612
630
606
621
612
608
626
601
606
639
632
622
617
626
613
623
613
603
608
605
611
632
629
614
611
626
622
639
623
608
617
603
633
618
609
639
606
629
622
621
628
613
603
611
639
629
608
610
636
621
618
624
629
616
632
619
625
604
616
606
618
614
610
635
612
622
609
617
626
625
626
624
610
621
609
623
624
606
608
612
610
613
623
619
626
620
628
619
608
621
602
609
623
615
635
634
621
614
613
607
623
621
620
613
623
612
617
632
603
636
606
615
601
629
606
629
612
632
614
604
614
607
625
625
608
615
631
626
625
604
615
628
610
642
610
611
620
614
632
614
637
625
622
609
632
632
606
613
630
609
623
622
610
608
612
616
618
612
626
610
614
630
622
615
630
610
617
631
631
612
618
631
613
619
626
602
627
603
632
603
614
636
626
633
609
610
615
623
623
613
629
611
608
631
603
622
612
624
612
631
617
626
606
639
615
613
630
610
621
606
632
614
621
607
608
602
625
608
602
609
609
617
639
612
609
625
617
625
610
612
622
624
623
611
618
634
639
613
613
630
623
619
627
606
622
605
618
625
617
602
611
628
620
617
620
617
632
603
608
622
604
607
602
619
623
607
628
622
610
608
615
602
609
606
633
634
629
618
607
614
607
603
620
625
627
610
608
614
632
614
612
604
606
631
628
603
621
632
602
635
606
609
623
624
616
613
607
612
613
605
605
611
639
620
623
614
620
618
610
606
609
603
622
630
620
615
623
639
634
603
639
634
608
628
602
601
626
625
622
639
609
619
622
618
620
615
615
626
619
602
611
614
606
614
612
614
631
627
629
606
616
613
608
615
604
629
599
631
606
639
614
614
619
617
620
621
608
608
609
621
623
617
611
616
622
609
620
620
634
623
602
609
607
626
610
606
624
630
627
612
602
617
621
632
613
613
634
606
614
618
611
604
606
623
606
609
628
606
621
629
607
619
632
626
614
628
618
615
606
622
625
605
613
630
615
610
623
617
613
609
609
610
602
603
616
616
623
609
606
626
639
623
623
609
605
632
639
613
621
611
618
635
640
620
601
629
614
635
604
629
617
622
621
617
613
617
621
635
637
636
618
612
609
617
620
615
620
627
604
616
615
633
626
627
612
624
604
614
609
626
612
605
630
634
607
625
613
608
603
632
606
623
614
606
612
628
613
613
626
603
603
604
619
607
614
639
614
601
638
616
632
632
610
624
635
614
622
629
623
630
603
605
625
602
639
615
632
612
635
631
614
628
616
606
602
632
611
613
620
621
635
613
628
630
614
610
613
609
615
615
639
612
620
627
639
617
621
623
632
606
612
635
628
603
631
634
616
631
603
623
616
626
623
610
599
630
608
606
632
624
617
626
623
618
602
616
619
612
622
603
632
614
605
610
611
613
607
614
614
618
608
614
617
633
608
605
608
604
609
610
632
624
603
619
613
623
619
633
609
612
622
625
607
605
609
624
615
605
602
608
609
625
625
608
612
634
611
615
625
631
614
625
603
608
628
614
618
605
618
614
631
614
618
619
620
605
614
640
602
604
639
617
634
611
610
610
613
606
616
606
634
626
607
614
635
628
625
608
626
621
628
631
640
602
621
631
608
608
609
619
629
609
603
621
605
604
610
612
626
604
623
626
625
627
637
631
606
627
609
620
612
604
624
614
629
627
609
613
614
609
637
632
614
609
614
614
623
612
612
630
616
609
614
613
602
628
608
618
621
615
611
613
612
612
635
610
614
639
611
617
614
631
639
622
638
613
622
623
612
634
613
611
600
603
622
627
614
606
613
630
626
622
608
636
622
632
609
634
610
625
629
602
628
610
626
619
629
603
626
624
629
612
610
610
624
609
614
611
626
613
621
634
624
605
606
639
618
603
617
631
621
622
621
628
629
619
614
614
616
605
618
619
633
602
634
605
601
627
627
615
619
620
625
605
635
624
615
609
609
613
618
628
635
614
622
631
602
612
604
621
602
601
609
601
606
617
631
604
632
602
631
616
607
604
604
604
626
607
619
610
635
613
607
609
614
606
621
603
639
610
624
618
616
628
636
608
624
625
621
617
609
631
605
613
639
624
607
610
617
637
611
615
608
632
633
632
635
610
618
609
608
602
635
621
610
604
629
625
610
603
609
626
622
626
613
622
629
613
607
606
625
605
626
613
620
613
607
616
618
614
609
616
625
614
609
625
612
619
635
609
611
633
612
610
623
631
631
626
609
613
628
602
608
609
608
611
621
632
603
611
625
625
639
623
604
608
605
613
613
620
624
621
605
622
618
617
622
623
616
626
624
608
622
613
611
622
631
625
629
617
633
623
611
613
604
632
618
612
631
632
614
631
632
613
615
610
631
633
615
628
631
617
606
625
612
624
631
616
617
623
617
623
618
617
619
623
620
631
603
614
635
609
625
612
626
622
622
628
607
614
613
605
608
614
613
640
638
614
634
613
629
622
609
628
603
626
632
611
623
623
618
603
611
614
608
627
613
614
611
608
638
617
623
617
614
624
629
614
631
629
614
607
622
634
602
630
624
620
606
628
615
632
611
635
608
616
620
613
622
628
631
638
614
621
619
607
610
608
604
628
623
635
607
607
614
627
632
620
604
625
611
604
622
613
615
639
609
637
624
631
622
623
623
610
618
606
605
626
626
610
629
614
633
610
621
618
629
639
610
612
612
623
612
628
614
608
605
609
638
619
616
630
610
614
621
606
619
634
604
621
612
619
605
610
627
610
617
639
635
634
614
611
631
619
605
604
608
627
612
616
620
617
626
606
631
609
611
612
612
609
616
626
609
610
618
616
636
602
633
600
607
617
611
601
619
608
604
619
605
606
602
611
620
621
609
608
625
611
610
638
604
612
604
632
629
623
626
620
638
609
607
604
612
609
619
629
622
607
619
608
623
618
612
630
632
623
602
617
612
608
618
604
634
606
604
623
623
623
624
611
613
626
619
625
606
610
627
616
616
606
611
612
619
622
621
607
635
615
615
622
620
611
629
612
616
631
606
611
605
615
620
612
617
604
619
612
613
614
611
617
623
620
614
619
630
617
607
614
616
615
620
617
634
641
623
630
631
622
609
618
622
606
614
608
602
632
611
605
635
604
633
607
608
609
609
602
612
622
625
604
607
631
609
616
639
607
607
605
603
606
613
611
609
603
623
611
623
635
639
626
603
604
614
627
636
628
630
613
628
620
619
603
630
607
609
612
629
610
608
628
622
598
611
615
628
621
616
622
621
608
618
601
635
619
625
618
606
616
626
604
608
609
601
611
621
635
632
605
606
621
626
623
616
610
617
615
614
639
611
611
619
623
623
635
621
626
603
614
621
609
638
617
611
637
603
602
607
621
611
609
617
617
614
620
616
626
609
622
603
616
611
609
625
603
621
619
627
615
609
608
609
618
629
632
608
631
608
632
613
634
609
616
639
605
604
639
632
612
609
604
621
621
621
607
625
634
606
624
624
607
612
605
625
618
609
606
607
614
629
615
620
624
609
612
613
627
627
599
611
605
613
608
610
618
632
628
608
607
639
616
610
613
613
630
629
604
609
623
631
603
614
612
612
617
605
635
623
613
613
630
617
613
616
617
631
635
614
609
617
639
627
610
610
608
610
617
629
610
619
623
628
611
613
604
626
613
609
632
618
638
603
612
632
631
631
605
621
635
619
622
617
627
619
629
609
623
631
639
611
605
625
608
606
617
614
629
629
632
606
609
608
618
620
617
621
610
630
634
612
606
630
623
639
629
639
624
606
610
632
639
620
629
616
606
636
622
614
613
615
606
620
633
630
626
636
615
613
632
631
608
607
613
611
617
626
632
613
623
619
611
620
632
604
621
613
623
622
605
624
621
612
609
606
626
624
623
608
635
610
605
614
613
627
608
618
631
611
605
609
619
613
615
613
612
611
617
617
604
620
627
614
603
636
634
608
623
632
606
622
603
612
609
615
614
611
616
605
640
632
623
614
613
622
609
617
615
614
639
608
625
613
617
609
605
613
614
633
614
630
610
602
621
634
628
605
606
611
602
604
631
629
608
606
619
634
616
615
622
615
604
605
602
604
604
627
606
634
610
625
622
626
599
614
624
603
614
613
620
617
616
609
623
612
607
606
619
616
603
614
612
620
608
602
613
615
610
611
618
605
616
618
616
607
626
625
634
605
622
599
609
602
608
609
612
622
626
629
601
606
613
611
610
629
619
622
606
610
614
630
615
628
634
608
610
628
605
633
603
604
608
614
622
607
618
615
618
614
603
606
603
631
612
621
618
638
614
607
626
621
627
614
621
610
607
602
616
615
630
623
616
625
623
607
606
616
640
616
608
616
614
617
609
633
607
629
610
609
606
606
626
629
605
613
599
621
611
620
628
604
636
615
611
623
607
623
620
604
613
614
606
614
611
625
621
629
608
624
636
631
603
608
639
612
604
611
610
618
627
616
623
603
607
629
615
635
614
617
607
606
611
628
627
628
632
614
632
613
620
604
617
632
620
615
623
629
608
637
613
629
635
629
639
616
640
621
613
617
606
626
628
601
617
614
635
605
635
616
634
624
607
617
620
611
630
633
613
611
605
615
604
628
616
624
619
631
611
628
633
614
624
626
633
606
630
630
612
623
629
613
637
619
614
639
641
617
637
623
609
632
607
610
613
611
609
632
621
603
632
619
629
609
609
629
610
636
617
616
609
608
609
622
639
612
626
616
615
603
627
614
633
611
604
612
619
608
611
628
610
625
607
617
623
608
617
613
608
626
605
619
614
614
614
619
609
622
600
604
609
613
629
609
631
636
622
613
616
630
622
608
629
616
599
606
606
613
628
603
623
611
622
616
601
609
623
624
615
609
621
622
613
624
605
613
620
619
627
611
623
626
606
615
618
638
624
616
630
617
607
605
637
611
610
617
614
606
623
616
640
631
613
604
635
632
639
616
618
612
624
612
614
631
631
630
606
626
629
617
615
618
617
603
634
639
613
621
639
618
607
618
604
609
612
634
635
631
611
603
605
609
631
618
605
634
619
603
618
628
624
611
618
614
623
607
619
609
611
605
620
625
636
621
634
610
635
626
639
628
624
620
614
635
620
610
629
639
626
625
608
603
606
629
635
626
617
637
613
606
611
612
603
622
623
618
636
611
634
614
605
625
614
623
616
614
621
632
628
634
628
614
632
629
626
613
612
618
607
615
639
629
603
631
607
625
614
623
606
613
622
611
603
629
611
608
609
615
617
631
620
610
618
613
620
610
621
619
631
626
628
616
610
608
604
632
639
639
620
607
606
607
610
617
606
609
635
626
639
630
602
625
621
617
618
623
617
607
603
608
623
605
627
629
632
610
623
609
629
610
613
623
618
618
614
604
612
621
614
630
622
613
605
613
614
602
609
630
603
620
610
602
617
616
616
604
618
624
627
625
609
618
622
621
639
626
630
609
621
631
630
617
622
626
601
614
617
621
618
639
622
603
610
614
625
601
621
610
605
634
628
635
610
632
614
606
632
608
607
627
632
629
631
623
606
620
606
624
623
631
606
616
616
609
612
626
630
606
632
639
605
611
610
605
623
607
605
631
625
622
607
622
620
625
630
607
613
635
612
632
607
634
605
630
625
607
612
613
603
608
631
639
603
633
609
618
626
601
625
605
639
616
627
639
635
608
612
614
615
617
608
613
607
609
620
605
626
608
639
629
620
610
620
631
619
616
614
626
604
623
619
613
624
635
626
614
628
618
639
617
617
632
618
613
628
628
612
627
604
603
610
611
623
631
613
622
619
615
609
624
608
615
634
608
626
624
613
622
622
613
623
626
614
626
625
618
614
616
613
620
609
608
632
636
604
628
629
626
627
620
617
608
613
626
600
628
609
610
639
627
639
623
617
630
617
601
620
629
614
628
612
621
609
617
614
639
628
614
613
625
606
634
601
603
639
611
629
627
630
611
608
608
621
617
601
603
618
607
624
639
639
623
609
615
618
606
625
604
623
623
633
611
609
603
604
631
602
610
614
613
604
623
603
630
611
617
634
622
611
626
625
628
607
599
636
619
614
602
626
623
611
605
604
605
620
617
616
639
616
639
620
618
612
619
612
612
622
622
607
630
626
622
613
618
610
634
627
613
625
625
608
619
612
606
635
636
608
621
623
606
639
617
609
622
608
601
608
622
620
614
623
607
604
616
602
604
613
619
619
623
605
623
613
623
610
609
618
609
617
607
624
612
618
623
627
612
623
619
619
607
607
632
621
626
605
634
632
622
616
610
602
609
612
618
634
625
639
630
607
607
619
622
616
604
609
629
631
602
612
611
628
620
614
614
614
603
610
611
602
614
635
613
620
632
605
601
618
621
626
623
621
612
621
632
618
606
614
617
609
608
603
633
606
625
623
608
609
602
611
634
632
629
632
624
616
631
608
623
609
611
617
619
616
602
639
603
614
613
605
608
627
613
619
623
624
614
626
613
605
610
618
600
632
609
609
611
606
619
607
621
623
613
619
611
621
609
630
626
602
634
619
620
632
613
632
621
621
603
613
626
610
639
617
617
630
624
604
615
638
619
631
609
635
606
618
635
634
611
605
602
605
618
623
619
606
615
635
634
604
635
610
603
602
607
619
615
619
626
628
615
606
608
618
612
619
607
610
630
625
632
617
619
634
617
605
599
623
603
617
604
613
604
614
610
622
604
621
614
614
620
601
624
637
632
630
610
631
613
622
618
632
634
610
614
639
621
603
613
623
608
632
611
611
611
602
602
614
620
632
623
610
609
614
608
602
617
634
616
619
607
603
606
612
627
607
621
622
611
627
628
617
605
601
631
619
608
628
624
624
613
621
609
621
625
640
611
615
623
602
624
631
620
626
610
631
613
631
621
634
618
637
631
613
606
640
613
608
615
632
617
616
622
631
605
639
611
629
620
628
605
604
628
602
639
613
629
610
626
613
634
619
636
640
617
627
616
614
614
631
611
608
620
618
618
617
615
614
630
627
608
609
629
606
627
614
606
605
606
618
601
613
631
640
623
604
625
618
609
606
630
614
602
612
623
604
619
639
602
630
625
631
611
613
610
618
607
615
608
618
639
622
635
613
611
612
628
604
607
608
608
611
604
628
616
626
626
620
608
639
615
606
629
640
608
629
624
628
623
604
632
625
618
603
606
609
610
609
607
635
633
632
610
626
629
611
620
610
605
633
617
607
632
631
604
604
612
632
609
625
611
608
628
624
618
622
610
623
608
626
608
623
626
603
606
634
626
602
629
603
623
631
606
601
639
606
614
631
604
606
632
607
605
608
607
605
603
606
633
614
615
639
610
607
608
623
610
625
612
618
615
610
632
605
605
625
604
625
606
623
618
627
633
631
621
607
605
606
605
616
608
608
639
612
626
632
633
609
616
620
610
602
616
615
636
610
607
632
610
610
613
608
631
620
632
640
603
623
631
634
607
627
630
619
632
623
626
620
609
639
611
617
613
622
631
635
607
631
614
624
610
623
631
625
603
621
631
626
613
608
608
631
618
622
630
626
611
635
605
619
639
615
628
611
629
610
609
626
608
623
629
629
621
613
619
610
618
626
622
631
611
632
606
605
613
625
605
619
638
622
630
606
632
616
616
615
634
623
611
601
627
613
626
615
614
617
613
616
641
635
617
617
635
619
632
610
624
605
614
617
614
620
605
607
620
606
631
616
608
604
605
626
617
622
613
607
618
616
615
630
608
626
639
629
610
614
610
609
605
607
626
627
629
623
599
610
603
607
627
623
606
606
634
623
613
632
609
623
630
615
623
619
609
625
620
612
611
621
633
620
602
606
606
616
629
602
626
626
621
634
609
637
612
619
608
609
630
608
619
633
614
634
621
624
612
622
615
618
634
603
616
624
610
609
610
624
629
634
633
634
620
611
615
630
618
622
607
606
610
625
613
611
623
609
620
614
634
608
622
612
608
630
639
616
611
606
624
605
613
630
617
622
630
626
608
612
614
617
604
618
629
627
617
619
608
609
611
626
606
612
609
614
605
612
603
605
613
623
621
629
613
605
621
608
611
626
602
625
632
619
620
628
612
618
610
628
615
610
614
612
620
639
617
619
611
634
612
609
631
616
610
620
617
616
625
607
637
619
633
622
609
606
629
617
635
631
611
629
620
623
622
610
615
629
627
607
613
612
619
605
606
621
619
613
606
632
609
610
629
626
634
633
640
618
632
607
614
603
617
607
639
614
614
602
602
610
616
627
612
619
630
605
617
616
605
607
631
623
621
630
626
624
632
615
601
616
628
612
612
614
613
610
611
629
615
614
619
615
610
626
608
623
607
624
614
622
626
610
623
610
608
623
623
627
618
606
617
617
609
614
613
614
621
621
627
608
613
629
603
605
631
603
614
609
635
607
627
621
626
637
630
614
606
631
607
629
614
601
617
625
609
611
613
609
607
632
639
631
626
608
620
617
612
606
615
612
625
605
612
609
605
621
604
615
609
624
615
614
639
636
612
625
625
617
623
603
610
607
629
614
612
627
626
605
619
613
601
611
632
629
604
639
613
632
624
609
639
625
618
612
625
613
615
604
612
608
603
609
635
624
602
611
639
628
632
635
606
614
618
605
601
613
618
622
632
629
609
606
618
625
623
611
621
608
608
611
604
610
621
606
607
606
627
620
630
610
608
611
635
622
613
629
623
616
610
600
630
608
615
631
612
622
608
608
619
603
610
614
604
605
615
639
610
606
619
624
610
604
627
620
616
626
623
610
608
617
634
618
619
602
604
616
639
625
629
636
616
608
614
619
613
622
607
632
610
617
610
603
608
610
611
607
603
614
616
610
623
624
619
610
614
611
612
610
623
632
626
611
607
614
614
624
602
630
604
599
614
615
635
618
628
622
617
608
628
610
609
599
611
610
618
606
616
609
611
609
617
612
608
605
617
611
621
627
626
611
618
619
636
633
602
611
606
617
616
613
609
630
603
605
609
602
603
640
635
639
619
631
617
605
627
628
604
634
605
630
602
602
635
626
631
630
635
611
613
612
631
610
603
611
612
608
607
618
617
609
626
609
614
633
613
620
615
605
604
608
629
624
625
623
627
611
629
608
628
639
605
606
608
617
608
616
618
613
604
633
614
607
610
608
619
607
633
615
616
610
626
624
607
617
603
634
609
620
616
606
614
639
611
604
615
613
617
606
608
628
606
617
605
617
624
635
610
639
621
642
637
614
614
606
604
605
613
602
619
613
618
603
603
614
609
619
610
607
626
627
615
625
616
611
603
625
608
615
614
628
620
618
631
605
609
609
621
620
625
616
622
619
605
612
623
609
614
629
609
601
609
631
629
627
604
618
612
604
619
606
609
617
620
604
605
629
620
617
640
614
612
608
628
609
618
632
639
604
614
604
639
617
612
617
613
622
621
619
612
611
606
612
609
612
618
636
623
605
614
614
605
614
615
635
610
625
625
608
610
610
608
608
632
611
616
615
632
623
609
629
623
626
628
626
610
607
617
612
618
630
619
606
628
630
606
609
605
615
613
604
619
620
639
607
609
617
603
626
615
613
626
617
625
610
610
617
629
631
628
604
625
617
612
612
620
612
608
610
602
633
632
617
614
602
610
622
622
603
632
638
619
637
614
612
611
605
627
614
608
617
621
621
631
617
606
606
628
611
628
608
623
617
606
621
607
624
614
614
623
624
606
635
625
613
628
610
605
626
622
610
611
621
606
613
628
630
634
603
604
623
609
638
637
608
606
604
634
613
613
604
631
617
609
609
614
625
606
615
617
632
613
604
617
627
629
617
610
626
622
634
622
602
628
605
619
626
639
622
623
635
606
608
624
613
628
612
632
606
632
626
609
614
606
617
635
616
603
606
606
609
622
618
615
610
602
634
628
637
622
624
632
604
606
614
623
632
632
614
605
626
605
622
614
633
632
626
623
624
614
612
614
625
626
612
625
607
627
625
630
607
621
635
606
613
612
632
603
630
632
606
605
611
610
603
618
604
619
613
639
617
609
614
604
624
602
609
623
605
624
617
620
605
626
612
631
611
609
610
607
613
604
616
601
619
632
615
635
614
631
607
620
623
629
618
631
628
608
608
629
610
602
614
606
605
629
621
623
606
617
616
600
622
612
627
606
606
622
610
627
630
619
606
616
617
619
623
619
615
628
614
612
620
632
618
608
611
622
631
617
621
620
632
613
622
602
612
610
626
622
609
628
615
601
605
611
614
606
637
623
606
600
605
618
609
634
607
608
618
627
621
635
633
606
623
613
614
603
625
628
619
627
640
607
618
632
608
625
618
609
640
602
629
638
614
623
614
632
612
608
624
622
635
607
623
623
623
619
621
637
602
620
621
610
613
606
611
624
603
628
601
610
632
607
618
617
613
612
618
614
622
623
606
635
612
605
606
630
615
609
607
613
617
623
608
613
604
611
613
629
627
640
620
634
602
614
603
613
626
615
611
604
611
605
630
620
603
629
610
614
619
623
626
620
614
618
603
629
625
608
618
615
631
625
613
617
614
623
615
615
614
620
609
630
607
606
608
611
630
609
633
630
605
614
622
625
632
620
635
629
618
623
612
630
623
620
605
609
607
632
626
635
605
605
608
610
623
625
605
606
625
612
612
625
611
608
611
609
617
617
605
603
622
606
624
605
622
624
631
607
629
611
614
634
630
634
611
601
607
608
615
610
623
625
605
614
608
611
622
609
620
616
608
616
641
636
606
603
605
610
628
620
630
618
613
621
614
614
624
641
611
616
613
621
611
638
616
606
640
615
618
604
606
613
605
621
611
604
605
622
623
606
616
629
634
613
603
606
613
627
616
622
608
625
609
628
635
626
630
635
612
610
624
635
622
610
632
629
626
614
623
622
609
638
612
611
619
635
624
609
610
618
605
629
623
627
620
615
603
628
607
629
612
617
610
609
632
627
616
614
631
605
604
615
611
618
625
614
605
629
620
629
620
630
609
639
604
632
602
613
623
613
632
619
612
624
605
616
614
604
628
623
604
618
620
613
626
631
623
610
616
607
607
614
621
631
616
616
615
608
635
612
631
606
606
602
632
618
617
603
613
617
616
610
623
609
617
613
622
628
606
609
634
621
622
609
612
615
618
640
623
621
613
607
639
604
616
604
614
610
614
617
608
615
617
604
622
631
639
613
631
603
624
617
615
611
630
635
639
632
610
639
624
624
630
620
633
628
626
603
639
633
635
632
613
639
641
613
638
618
632
608
613
622
615
610
610
625
623
603
616
615
603
630
620
618
618
608
639
616
614
618
601
628
619
612
606
628
632
641
611
619
603
623
607
604
636
614
621
639
609
626
618
626
632
603
616
614
606
627
612
602
610
619
602
615
603
612
601
610
614
609
632
613
625
611
611
627
612
613
603
610
603
610
632
617
616
616
620
623
618
603
616
619
619
617
619
615
622
617
631
618
611
613
623
610
634
615
617
615
629
610
631
615
604
637
613
617
611
604
606
603
617
639
620
604
606
617
602
631
634
611
604
631
618
622
612
621
606
610
604
629
622
603
622
611
609
629
620
608
632
618
606
605
610
611
625
608
632
609
604
603
610
601
609
613
609
601
626
608
623
613
604
621
603
618
607
604
614
617
609
617
614
603
618
622
628
608
622
619
634
618
631
620
622
614
609
609
607
611
607
608
612
605
622
608
621
630
634
603
606
612
609
618
613
628
607
607
604
603
607
630
614
621
607
617
600
621
619
614
613
614
633
614
611
603
641
606
609
614
611
614
632
639
603
609
605
617
617
611
624
599
621
616
614
613
607
632
605
617
626
612
621
619
624
602
604
612
627
618
610
603
603
629
614
614
632
608
626
626
625
629
618
631
623
623
620
614
603
623
622
610
605
623
605
605
619
611
632
609
619
622
631
606
623
629
607
631
632
621
613
609
614
622
603
616
639
607
624
631
637
640
601
613
610
620
630
626
622
620
616
637
629
611
610
626
602
629
620
623
604
613
632
613
613
606
617
615
608
630
626
621
609
628
603
612
616
614
623
639
609
616
622
613
625
614
624
628
608
630
605
628
622
608
634
611
619
627
624
608
602
607
602
611
613
632
603
609
607
609
627
625
632
611
626
615
634
625
610
607
620
626
632
609
637
638
631
625
621
639
622
606
603
612
623
622
608
621
625
606
629
610
625
608
620
630
618
611
604
621
609
618
617
614
631
624
632
626
631
606
630
603
620
602
629
623
635
612
627
608
630
639
606
619
605
637
615
631
625
606
609
606
616
606
606
635
625
622
628
637
618
629
618
610
613
635
607
621
625
622
617
610
639
625
614
609
620
609
631
606
635
629
610
629
620
605
631
620
626
616
614
614
634
639
632
616
633
613
609
620
607
627
623
631
606
609
620
605
617
635
620
608
608
605
612
640
632
619
613
630
639
620
631
611
608
622
629
608
621
625
635
639
607
623
621
623
607
618
631
609
617
614
611
620
613
608
617
628
622
618
615
606
614
634
618
608
613
623
631
615
609
610
615
607
631
632
608
639
605
611
617
638
613
602
631
635
619
617
613
624
603
623
618
616
628
631
619
635
624
612
607
613
608
621
631
631
622
636
617
608
609
636
630
622
632
629
614
631
606
632
622
623
620
604
606
620
608
615
625
606
611
608
610
613
612
614
634
616
603
610
610
615
631
617
620
621
623
625
631
608
612
624
640
609
634
618
608
640
625
604
605
622
627
640
615
625
610
632
623
619
615
607
615
631
619
620
620
604
610
635
607
611
621
639
634
613
622
602
619
604
609
618
605
608
621
615
625
628
613
612
622
616
605
621
617
639
615
612
631
622
610
619
605
628
639
609
639
611
622
619
626
610
612
623
622
612
635
638
604
611
621
634
610
606
610
639
622
620
630
610
607
613
603
620
614
611
614
611
612
640
625
614
607
612
601
631
616
629
630
632
633
611
608
634
616
614
619
620
610
605
612
611
611
613
614
625
622
606
608
629
632
606
633
631
623
609
614
625
609
619
629
610
614
631
619
617
632
616
610
624
607
622
632
616
625
608
631
607
632
617
608
616
624
606
600
613
610
630
609
612
608
611
614
635
631
625
604
622
607
608
612
606
623
605
623
632
608
613
608
638
632
634
622
623
611
604
626
633
633
617
620
615
602
619
631
610
612
603
606
631
610
639
608
606
603
608
614
621
617
634
633
636
622
612
601
630
605
610
639
623
627
611
607
615
632
603
616
610
628
632
635
606
629
631
605
608
606
607
621
632
617
629
628
608
612
637
612
636
629
619
601
610
621
611
606
610
616
609
616
617
609
619
608
602
633
635
635
622
602
618
621
611
620
629
625
609
609
603
607
621
608
631
619
612
602
625
606
623
629
633
611
621
617
604
612
613
631
633
622
628
632
607
613
611
622
607
605
617
601
623
609
634
617
622
629
606
609
609
613
620
601
602
616
615
613
623
616
611
631
624
632
613
610
624
619
606
625
637
621
627
625
603
623
609
621
617
604
613
621
619
630
631
622
609
618
622
600
608
632
616
613
600
607
615
625
612
630
628
604
633
625
603
606
619
631
606
610
614
619
623
604
625
606
623
625
608
636
606
602
617
610
605
627
639
621
620
611
605
603
605
616
631
604
628
619
633
620
614
604
626
611
615
630
608
626
616
617
618
613
618
620
621
607
619
631
601
613
607
634
618
603
629
613
615
633
618
614
621
626
612
608
629
640
631
602
640
611
614
608
633
639
613
604
605
623
615
618
623
608
609
611
632
629
609
635
631
623
607
625
611
606
607
632
606
635
602
632
630
616
605
614
609
607
613
613
623
617
608
624
631
627
614
603
609
634
618
604
638
612
633
611
625
618
604
614
608
612
609
605
622
611
622
610
613
611
615
623
622
639
620
614
618
612
611
613
622
627
618
610
623
629
604
611
613
622
629
634
614
612
608
613
614
615
607
621
606
609
604
639
623
605
608
629
617
626
629
635
610
621
631
632
610
621
603
605
616
606
611
620
633
623
618
612
623
612
632
612
604
622
630
628
606
608
615
632
621
623
606
634
626
614
617
620
620
629
604
611
612
630
604
613
632
616
618
609
611
605
633
639
613
625
635
621
626
616
639
602
610
605
611
629
612
623
632
625
618
613
611
608
632
632
605
614
621
628
618
631
608
630
612
625
619
602
630
621
605
631
639
615
629
616
617
634
623
627
607
605
613
612
617
629
624
613
611
619
613
613
619
614
639
639
612
628
631
613
612
614
615
603
615
623
610
607
622
620
625
622
622
631
604
608
606
619
614
605
609
629
625
617
626
601
605
614
608
610
610
610
610
605
626
617
607
615
612
614
615
608
639
626
632
613
609
614
616
623
603
639
621
606
618
606
636
612
632
629
620
615
627
628
634
630
608
620
614
639
612
620
608
635
631
626
615
616
623
632
618
639
617
610
618
628
623
628
613
619
623
621
634
617
612
602
622
628
631
608
611
624
623
608
613
607
631
639
631
613
638
628
622
609
615
635
604
637
632
604
613
622
606
609
616
635
614
611
617
632
624
620
610
606
614
614
630
632
611
621
603
637
623
635
609
617
616
630
625
622
630
630
624
626
623
623
618
639
613
629
605
610
639
613
639
608
617
613
613
628
614
616
608
636
617
620
611
609
609
630
601
621
620
611
613
626
619
622
601
610
607
632
614
624
637
611
620
609
608
609
618
623
608
607
604
621
623
623
604
611
614
615
625
622
611
623
628
626
601
612
633
609
603
630
609
630
622
604
627
604
604
630
611
615
623
602
614
623
611
635
604
636
609
620
620
608
625
618
631
604
619
622
630
606
630
630
613
623
623
631
623
617
621
621
610
611
612
617
605
605
604
617
619
613
618
614
632
610
614
608
608
635
631
610
609
606
616
611
621
605
619
616
634
613
612
602
614
605
632
604
626
606
613
617
604
615
623
626
622
609
614
615
622
615
619
619
606
604
607
620
616
631
613
614
612
614
620
621
616
638
617
617
620
624
614
611
632
608
607
618
629
641
611
634
631
622
632
623
614
622
612
622
612
628
623
614
639
631
602
619
615
626
633
617
606
622
615
610
625
614
620
603
629
628
611
621
605
623
634
621
605
620
628
614
605
615
619
617
606
604
613
618
635
615
629
607
617
618
614
626
603
606
631
609
611
625
608
605
623
618
615
616
631
622
639
617
634
601
613
616
632
616
605
608
621
606
615
635
639
622
629
634
617
627
630
623
620
631
601
632
639
628
631
623
639
625
605
623
613
615
623
620
607
601
636
610
631
604
619
621
609
621
613
612
613
620
603
613
611
619
629
621
600
609
607
628
627
639
615
627
629
634
602
622
613
623
632
618
613
631
604
608
603
614
603
607
617
621
621
620
612
626
622
608
634
604
614
611
614
635
608
621
622
606
606
617
612
626
612
606
634
605
619
634
613
607
611
613
620
616
624
620
613
613
608
608
604
609
628
605
610
613
626
605
617
619
605
618
628
625
616
626
618
611
608
629
619
610
628
602
620
603
614
613
614
622
617
614
631
610
607
612
622
624
606
608
627
609
611
625
605
611
615
611
629
610
609
629
608
612
639
602
630
612
622
609
626
635
618
603
630
609
625
607
609
627
626
613
614
622
623
611
632
617
611
632
616
605
639
618
621
630
628
607
603
619
599
612
639
632
625
611
612
612
623
626
631
616
630
615
607
620
619
621
639
610
619
626
629
599
600
604
632
629
609
625
612
623
631
619
604
622
639
630
620
622
606
609
601
608
613
609
614
608
631
611
602
639
634
619
609
620
626
602
610
616
616
614
631
625
627
631
626
611
614
639
616
636
612
606
616
625
609
616
613
619
624
617
608
606
608
616
621
609
620
623
624
609
625
606
627
604
607
621
622
619
621
614
613
623
631
622
615
624
620
632
603
613
636
619
629
621
600
616
619
617
631
604
610
604
603
603
610
616
607
635
627
614
624
612
635
605
609
625
629
615
608
622
625
606
610
619
620
625
624
602
614
612
621
603
614
606
608
621
609
605
632
619
621
614
635
628
619
623
616
609
612
604
623
628
604
623
611
626
612
622
630
603
609
631
627
617
605
606
613
622
614
624
611
604
612
604
608
622
622
607
605
629
619
620
609
609
605
611
628
635
607
620
614
611
618
605
614
624
614
610
613
631
626
617
639
635
613
620
620
624
606
613
631
612
621
629
608
636
621
632
610
608
604
608
622
612
632
604
623
610
608
628
627
639
627
630
616
618
603
616
614
615
628
607
620
637
635
609
631
606
613
618
614
630
618
609
622
623
606
620
614
612
621
612
620
616
607
611
639
618
611
607
621
628
634
604
635
603
608
604
613
609
609
605
628
639
616
608
626
606
629
630
620
620
619
614
615
612
610
610
622
615
632
602
619
625
606
639
608
605
625
610
623
632
611
628
621
632
635
620
604
619
623
630
623
621
624
620
635
603
623
614
626
609
605
604
632
609
620
609
618
635
613
627
609
604
604
632
640
612
604
624
609
621
619
617
613
606
613
624
607
622
622
633
616
634
618
622
604
631
623
638
614
606
620
623
623
632
629
601
625
617
622
614
612
617
610
631
638
618
618
632
613
616
602
617
632
635
612
624
621
609
625
611
618
603
617
623
628
601
611
635
631
617
602
619
604
641
604
610
613
632
638
635
613
609
623
624
632
617
625
626
629
635
634
620
620
609
610
621
605
629
607
610
620
634
622
611
623
620
627
612
607
626
624
635
634
617
619
630
604
613
633
618
610
629
615
628
622
617
639
611
603
619
614
629
616
626
609
630
625
611
625
624
631
611
627
633
630
604
613
630
635
606
631
616
621
612
624
635
618
621
613
616
623
614
609
609
616
634
623
606
625
608
624
625
614
618
613
605
604
625
610
608
607
609
631
613
626
624
628
603
637
619
606
613
612
618
604
608
611
619
606
618
616
625
612
601
613
613
630
632
623
636
631
615
612
621
633
626
603
614
621
612
612
628
606
622
632
613
620
623
634
612
615
606
632
619
618
608
615
622
609
610
604
614
620
612
614
604
632
622
632
613
622
617
623
606
612
619
608
615
634
622
614
609
614
623
632
624
605
639
628
614
639
632
614
634
637
616
622
613
607
622
630
613
612
630
614
631
613
623
624
608
619
617
617
624
608
623
612
603
610
613
608
614
640
616
606
630
614
615
635
621
604
622
619
605
613
619
602
618
617
601
604
632
621
630
605
615
625
605
610
635
629
635
624
603
606
629
603
612
631
604
627
614
616
620
605
618
628
639
599
609
607
618
631
603
615
626
608
615
604
609
606
625
606
611
610
608
603
604
609
619
621
634
635
635
609
630
609
626
640
635
613
609
621
632
603
604
607
640
609
606
625
611
612
633
602
629
626
613
609
615
633
617
606
629
618
604
603
603
634
627
612
609
621
620
615
625
625
610
616
604
623
623
609
608
607
618
612
628
616
603
604
612
614
603
619
625
609
625
607
637
611
625
621
616
627
622
615
622
608
624
622
622
614
612
607
606
634
609
620
629
609
620
619
632
629
623
635
639
614
625
613
614
607
631
605
603
605
632
616
609
612
608
614
612
617
604
614
606
614
606
619
619
610
605
603
626
617
619
604
618
615
620
617
613
629
639
616
622
621
610
621
609
615
607
612
621
612
608
615
619
620
629
618
617
610
633
617
606
601
614
609
613
631
624
608
623
632
605
614
626
622
614
607
609
635
603
613
609
603
625
611
612
607
637
626
623
610
609
618
620
602
618
628
626
616
624
626
600
624
628
628
614
611
624
613
618
612
613
631
602
613
611
619
637
612
628
609
607
615
609
616
623
619
639
615
604
639
608
603
620
636
621
634
630
608
613
609
613
639
610
608
628
601
618
610
609
626
625
613
615
608
603
618
635
620
638
608
624
603
640
613
626
610
628
613
604
615
618
604
632
613
625
615
635
625
606
601
610
614
618
629
628
616
604
623
626
627
610
625
634
620
618
621
606
604
601
605
620
633
637
623
623
608
604
614
610
610
609
613
614
604
620
623
606
609
622
606
603
605
613
618
615
617
621
616
637
625
635
614
606
618
625
631
614
630
616
611
619
603
629
606
617
620
614
613
605
614
605
610
620
633
608
622
632
604
617
603
626
609
630
625
632
632
611
625
610
613
623
603
625
614
639
617
614
606
608
615
629
603
607
631
620
616
609
605
620
625
638
639
635
603
621
634
623
614
610
630
613
604
601
603
619
616
620
620
619
629
634
610
609
639
619
611
607
618
606
620
618
605
633
606
629
628
609
621
611
610
621
623
621
609
601
619
618
616
611
640
621
632
626
620
609
600
625
604
610
607
602
608
603
632
626
626
632
609
603
625
620
633
621
602
613
604
605
601
621
614
629
612
620
613
607
623
608
620
606
629
629
604
609
624
634
614
617
609
623
605
614
618
639
609
620
631
619
625
613
612
605
623
625
629
608
613
619
617
626
617
637
620
635
610
627
617
634
621
618
613
601
632
614
632
627
621
627
636
617
612
605
612
606
639
615
606
609
634
624
614
614
607
609
637
602
606
634
625
620
609
637
625
611
618
635
631
602
607
635
616
615
601
610
608
619
612
609
611
610
612
617
620
634
614
625
630
635
623
637
603
611
622
618
605
613
635
623
632
610
604
610
608
614
610
639
633
611
608
613
614
627
602
609
614
634
627
613
614
618
632
623
602
623
639
607
629
608
622
618
623
626
623
626
609
623
602
629
622
626
619
626
610
616
609
615
603
613
625
608
628
603
603
635
608
604
604
613
618
606
636
608
620
606
626
634
613
629
624
611
630
607
622
626
617
603
607
605
632
611
633
618
623
619
614
603
604
608
630
628
613
614
617
611
607
614
633
623
607
625
636
613
625
629
620
634
598
606
601
612
610
604
610
630
620
629
623
625
622
609
605
605
621
630
613
610
612
620
621
624
607
618
613
608
616
629
639
625
622
605
613
621
621
619
610
625
631
610
608
623
610
627
610
621
611
623
606
601
626
608
610
631
625
606
626
607
623
617
610
632
604
603
605
623
610
622
622
613
602
627
612
632
620
607
623
612
609
620
611
609
636
610
631
610
606
627
627
620
625
622
609
610
634
639
639
628
624
609
624
617
613
620
627
606
617
610
605
634
622
618
614
631
621
623
626
615
604
633
612
604
623
639
607
612
610
612
606
632
635
625
613
622
603
604
619
606
627
613
619
612
625
614
619
616
606
630
612
635
623
627
619
605
610
614
618
627
614
618
613
605
607
622
617
632
627
639
616
639
614
611
613
604
623
610
605
619
608
624
603
603
603
622
624
610
609
611
615
613
610
611
611
609
607
622
610
639
606
602
609
632
604
613
613
621
612
630
602
613
626
632
610
614
617
635
611
608
607
612
626
610
632
610
606
633
616
622
614
607
636
607
619
608
611
613
629
610
610
635
611
604
602
622
637
609
631
617
608
611
621
633
606
621
607
607
623
605
609
614
613
634
622
602
619
615
605
624
619
621
613
610
619
635
609
631
624
625
614
601
638
631
602
617
606
609
607
620
612
621
612
604
639
632
607
621
617
626
616
624
619
613
639
639
624
620
623
610
622
605
630
639
618
617
627
623
623
629
614
617
629
615
626
622
631
605
623
601
608
615
610
622
631
614
619
634
612
632
628
615
622
610
632
632
636
613
614
639
612
613
626
611
638
634
625
629
617
604
624
621
628
613
622
616
612
622
614
625
631
616
603
619
620
620
612
625
605
630
609
615
606
617
603
625
607
612
613
616
639
603
613
611
619
618
616
606
604
626
624
614
621
623
624
636
620
633
609
607
626
621
610
613
604
615
609
620
608
620
614
619
622
626
615
623
607
619
634
615
615
620
608
626
639
608
632
614
626
621
631
613
611
609
609
621
610
608
626
627
611
628
615
614
612
617
611
615
619
639
620
625
610
625
630
605
603
610
614
609
624
607
631
639
613
624
634
608
616
630
619
625
608
602
607
621
612
640
640
621
622
631
608
613
605
610
616
606
628
628
639
606
614
628
609
630
614
618
617
613
616
634
610
606
615
628
629
633
607
602
608
605
617
630
606
624
639
614
609
611
606
637
626
629
608
639
633
603
628
629
606
616
630
603
622
612
621
608
611
639
606
610
638
622
613
612
613
604
619
604
630
618
637
613
603
605
620
628
610
612
607
609
606
613
623
613
617
619
612
621
607
618
639
629
639
613
612
615
625
624
608
609
627
614
637
611
620
621
607
619
614
609
622
610
622
621
625
614
617
613
614
621
617
618
622
631
619
608
628
630
609
616
623
612
627
609
620
617
630
615
607
612
629
624
618
616
611
604
626
613
604
624
621
617
624
631
610
631
616
608
619
617
617
610
610
608
603
611
623
616
614
616
623
619
616
612
618
617
619
616
607
606
609
605
607
613
617
619
635
632
618
621
612
618
619
614
606
621
617
621
604
612
626
613
624
608
630
614
635
627
625
613
631
609
602
615
626
614
620
639
606
606
612
608
605
627
609
610
614
601
633
621
615
614
615
617
612
604
627
613
622
620
620
621
602
625
614
627
611
613
635
623
634
622
604
628
606
636
631
618
615
617
622
622
639
623
616
614
616
610
632
630
614
608
607
601
618
630
611
613
610
609
604
606
611
616
608
638
620
620
630
631
626
620
635
624
630
604
632
631
628
605
622
604
617
633
614
604
604
619
620
634
616
609
607
608
612
613
630
617
621
616
610
608
613
620
613
603
626
619
604
612
611
605
603
615
618
609
622
625
617
628
624
619
612
609
610
618
623
606
613
618
640
616
626
615
630
632
625
635
626
623
632
629
609
604
604
616
614
625
624
600
608
625
628
638
609
607
615
608
613
609
612
623
613
612
608
628
639
623
626
606
629
630
612
630
624
635
626
614
620
617
629
606
621
613
626
614
614
619
635
631
634
629
630
617
632
606
608
615
614
611
622
603
603
606
608
622
605
619
606
618
611
622
631
613
635
605
612
617
606
611
634
618
623
601
611
629
609
616
615
609
611
613
604
615
607
630
603
607
615
605
631
635
631
625
611
639
614
603
626
620
613
625
607
628
618
618
636
618
615
614
608
613
617
623
622
629
609
609
607
617
609
626
610
600
623
637
605
611
611
629
615
610
617
634
606
614
620
628
633
616
628
613
627
629
619
621
616
627
599
611
603
608
635
605
617
610
609
631
617
610
614
617
608
618
613
619
629
630
603
632
621
611
626
618
621
625
614
617
612
632
628
605
634
626
623
629
626
623
613
615
613
613
608
613
603
618
605
631
608
604
623
619
616
639
613
614
608
610
621
614
623
617
612
631
634
618
606
633
619
632
606
621
631
620
623
608
606
626
604
631
613
616
632
628
625
621
611
614
605
634
629
604
631
616
618
633
622
603
614
603
613
627
610
606
614
630
635
629
612
632
625
613
602
613
612
626
610
626
621
635
610
633
602
624
607
617
610
608
609
611
608
626
635
629
618
625
612
604
603
620
625
623
611
617
626
639
612
610
618
612
615
606
638
613
608
622
609
604
620
613
616
605
627
606
614
614
619
624
617
639
616
624
625
602
634
604
617
625
631
622
605
629
609
623
607
615
603
606
621
607
617
621
623
617
632
624
622
609
608
617
620
623
604
602
609
625
618
617
612
639
623
625
609
629
604
608
621
602
609
634
623
638
626
614
621
614
612
635
622
639
602
616
618
613
634
610
609
610
610
609
609
608
629
627
604
615
619
614
631
623
613
616
621
613
609
604
611
616
606
615
627
639
635
605
622
624
608
619
603
608
605
608
624
621
622
614
639
625
622
602
617
628
629
639
626
608
609
617
612
629
617
609
608
621
606
634
613
634
613
617
608
628
625
623
611
614
608
617
606
607
620
621
627
599
619
619
626
636
602
633
613
610
626
639
613
619
612
614
608
617
606
611
617
625
606
605
624
632
608
612
634
623
609
606
605
613
610
610
633
630
631
606
630
609
632
614
639
604
622
609
626
616
609
613
604
613
613
623
608
635
613
618
623
603
635
611
630
629
603
634
620
611
609
613
630
606
609
612
626
632
617
631
622
607
614
608
628
602
614
622
620
614
622
606
616
617
624
608
611
613
627
635
631
612
613
634
603
611
612
623
603
618
638
620
602
612
608
633
605
624
626
603
601
610
620
606
606
606
628
604
600
604
629
632
610
613
607
613
603
618
619
613
614
631
634
622
625
630
629
627
612
608
617
612
624
606
610
614
602
632
608
608
619
602
612
636
617
617
632
610
618
622
623
636
603
611
621
609
623
623
639
611
617
607
603
611
619
609
606
603
624
631
626
609
609
616
608
623
613
635
639
602
628
610
634
610
615
622
613
623
608
634
629
607
603
613
604
610
609
616
611
632
605
606
616
611
612
625
606
610
634
611
602
637
630
612
613
606
614
617
628
635
612
614
615
622
629
631
631
618
603
630
630
628
632
631
609
626
613
614
619
609
615
618
608
624
603
622
622
613
624
613
611
609
631
611
618
639
621
626
631
615
634
611
625
626
610
632
603
623
622
608
622
623
623
604
604
616
612
617
618
616
622
620
610
622
623
616
626
609
626
622
610
624
608
609
627
624
633
604
621
635
622
622
608
626
611
629
639
629
606
638
615
632
635
608
622
612
607
603
634
614
618
634
603
631
610
622
611
617
631
618
608
616
609
614
630
612
620
635
614
633
608
607
603
631
611
607
603
610
634
620
623
631
623
638
634
611
604
616
626
620
624
622
609
632
612
626
633
621
607
623
606
632
632
605
606
609
608
603
640
605
614
623
612
610
609
635
625
634
624
612
608
632
625
623
613
619
609
613
605
604
607
618
638
614
602
611
622
621
622
634
614
636
605
613
610
611
608
633
617
621
616
630
608
614
629
609
618
627
614
614
612
616
631
613
613
609
608
612
606
626
602
634
618
623
605
613
617
610
618
620
621
609
630
610
632
608
616
623
603
608
635
623
631
631
609
622
606
613
602
622
624
608
639
627
623
604
624
630
636
613
611
622
620
622
609
607
609
632
635
615
613
621
611
610
630
611
609
626
619
606
618
613
634
623
626
603
605
623
628
617
629
619
613
625
620
639
610
613
623
624
637
618
622
607
617
621
613
611
604
602
612
603
616
605
602
622
615
628
612
622
625
615
625
626
603
621
632
639
627
608
608
625
618
615
633
605
611
614
612
615
605
617
619
626
627
625
612
612
623
625
613
605
621
607
611
631
610
630
618
617
609
618
619
615
623
613
617
602
608
617
602
625
609
611
622
604
621
603
616
620
625
615
618
604
599
613
606
631
622
606
622
609
625
640
611
605
631
610
614
623
611
608
620
635
612
632
631
624
610
631
639
613
604
604
611
632
613
622
615
613
620
608
623
612
622
608
623
619
610
619
623
617
609
604
639
608
611
608
621
636
610
612
609
619
618
628
623
610
618
611
607
621
613
625
608
611
605
636
617
640
617
626
627
608
615
625
634
626
613
612
599
611
616
610
622
614
619
628
635
627
614
633
623
617
619
633
635
607
630
625
617
618
632
622
634
609
610
609
611
634
632
601
614
613
613
625
615
615
629
611
606
607
617
622
638
605
613
609
628
620
609
613
609
613
609
629
605
621
622
615
640
603
610
626
605
609
610
623
607
622
617
615
632
627
610
604
615
623
630
623
602
600
622
620
605
622
605
609
612
605
606
610
620
610
616
607
613
607
609
617
617
614
631
622
617
611
626
620
616
620
625
613
604
623
602
630
616
612
606
626
609
628
614
622
607
621
627
635
609
603
617
631
626
605
636
617
623
614
612
624
632
624
602
615
605
610
630
615
613
631
598
622
639
611
610
620
616
631
610
616
604
612
614
623
611
623
610
604
615
624
628
607
633
618
617
613
603
610
607
617
614
626
601
633
627
622
603
620
607
626
632
604
639
617
610
627
620
623
625
614
632
622
610
632
626
618
632
616
626
619
609
632
610
623
610
632
614
608
606
616
603
614
622
635
615
632
623
612
614
627
617
605
623
613
617
616
610
613
602
609
610
616
606
602
618
631
621
614
622
601
615
608
635
626
617
608
632
631
634
613
610
634
629
616
634
621
637
605
619
610
632
628
612
616
601
616
624
620
604
625
619
608
603
631
607
608
610
613
613
622
604
620
613
607
615
625
620
607
604
621
612
629
607
621
630
619
602
631
610
626
626
627
610
605
618
610
630
619
621
605
639
620
632
639
611
622
632
610
633
626
603
611
628
603
615
609
619
609
630
614
621
621
628
603
635
624
637
610
635
632
623
614
602
612
609
618
623
605
610
625
617
601
632
621
617
610
629
611
609
623
615
620
610
613
611
620
635
613
632
636
608
613
636
635
629
616
619
611
615
638
612
631
609
631
608
630
602
612
615
622
605
629
615
612
612
632
611
605
614
636
621
617
634
612
605
631
619
611
622
603
639
608
617
623
620
621
602
625
617
630
620
623
621
610
614
611
615
626
631
635
620
608
615
623
606
618
626
619
613
603
610
616
635
603
623
619
608
603
611
609
610
639
606
615
616
611
612
602
635
604
610
632
628
618
617
635
618
620
603
626
610
634
621
619
623
617
605
608
616
621
612
609
610
617
609
611
623
632
612
630
623
621
613
632
617
611
631
607
620
633
619
612
623
617
611
624
614
617
605
605
639
632
636
632
622
612
639
613
617
628
601
635
611
615
620
610
628
638
623
614
627
607
617
625
619
628
616
611
620
639
633
640
605
623
620
617
610
617
608
619
626
638
639
622
604
629
613
631
609
610
607
622
614
630
611
635
610
618
619
629
618
608
623
616
610
614
622
605
610
612
610
617
610
621
613
632
614
610
629
614
639
608
616
632
632
613
616
610
616
625
606
606
620
626
615
617
611
637
613
617
624
612
619
604
621
615
621
603
611
607
625
623
613
615
632
604
627
612
611
603
618
601
607
614
631
629
610
619
620
606
616
625
616
632
612
615
627
623
630
609
634
607
624
613
617
619
624
635
627
607
613
613
609
609
611
619
610
613
619
603
614
606
634
631
631
611
626
603
618
611
606
619
612
628
617
625
606
618
630
615
608
630
629
614
611
610
609
604
621
612
613
606
627
626
628
618
612
613
615
607
616
614
623
614
620
616
610
610
623
635
618
614
608
614
617
632
612
639
623
629
623
613
625
609
605
621
605
634
606
611
621
635
634
616
640
633
632
637
613
612
623
612
606
608
620
616
634
626
606
634
609
615
605
613
614
619
615
617
629
614
623
631
624
637
632
616
619
617
626
619
603
614
635
606
625
624
616
607
616
610
619
618
627
630
607
634
632
619
605
606
628
624
602
624
603
613
617
616
613
606
625
606
615
609
623
623
617
605
634
632
617
614
616
610
615
621
633
615
626
608
618
620
614
614
611
621
619
618
604
619
628
635
634
617
623
601
621
631
606
602
639
614
623
612
613
622
614
605
617
614
606
605
617
602
612
625
604
621
617
606
625
611
617
612
629
631
630
609
604
613
625
629
604
622
617
610
616
618
613
622
614
621
618
609
625
608
603
603
634
625
604
609
599
622
603
604
609
622
628
612
609
630
617
628
631
620
621
623
617
602
639
628
624
607
636
603
608
609
603
634
614
603
608
605
611
610
625
617
626
622
616
613
616
628
615
607
601
607
605
604
634
613
632
603
613
635
606
603
617
624
629
626
627
613
622
614
614
613
611
636
631
618
606
623
611
619
603
612
618
630
614
619
608
621
609
622
614
610
609
629
609
604
608
606
616
624
602
602
618
628
625
620
602
616
611
601
626
607
620
616
614
629
631
618
602
631
621
626
610
604
609
618
619
615
631
639
603
613
613
617
626
622
631
614
619
606
608
639
625
621
624
607
610
622
623
632
618
606
621
619
612
623
627
619
608
630
632
632
626
610
606
602
609
614
631
604
619
622
613
617
610
618
608
639
638
600
604
623
614
617
621
624
616
609
604
614
612
629
630
618
608
628
603
629
630
626
616
604
608
616
626
626
613
631
626
619
625
620
623
599
634
616
614
618
619
626
632
639
622
608
603
627
608
625
610
631
635
606
614
613
608
617
629
624
617
609
620
604
609
602
602
615
608
639
631
639
616
639
606
606
621
609
623
606
636
617
617
612
630
627
604
617
603
616
616
635
623
634
612
618
625
614
607
618
624
628
607
618
607
614
623
640
604
631
639
615
622
632
629
603
626
627
618
612
617
626
611
627
615
606
601
615
639
607
610
606
609
624
619
611
617
614
639
639
609
606
609
606
604
608
614
608
619
619
617
629
609
639
614
603
609
612
615
632
639
620
608
604
620
620
612
617
630
617
614
631
635
623
609
603
608
623
640
621
602
614
637
602
628
635
610
632
635
623
639
625
606
607
634
610
613
640
618
614
610
634
618
605
627
610
608
634
617
630
611
607
627
626
613
605
623
632
608
632
620
603
604
623
624
626
607
604
603
634
605
613
623
635
626
620
619
604
606
618
615
631
604
625
601
632
609
621
615
610
604
609
603
606
618
634
631
633
617
631
608
625
635
607
603
609
613
633
603
605
602
605
617
639
602
616
622
626
617
604
625
602
611
606
609
624
607
617
631
617
620
620
610
612
607
607
627
610
608
617
614
632
636
627
608
629
606
623
609
613
619
614
622
605
610
635
626
612
634
622
627
615
608
612
604
630
615
616
619
633
603
629
607
611
619
605
606
610
604
619
630
608
611
615
602
624
622
616
606
617
616
614
609
614
619
605
614
606
623
610
634
620
618
616
623
602
605
632
629
610
612
616
622
611
620
618
624
635
604
621
606
620
617
611
620
605
604
611
617
621
625
603
613
616
625
629
630
600
615
625
621
611
626
608
607
613
607
620
607
611
610
604
614
605
603
612
639
622
619
609
602
618
608
614
605
640
626
626
614
636
611
632
607
623
611
640
639
613
633
605
617
618
606
610
620
634
620
639
618
629
626
608
611
620
605
626
627
626
629
622
617
632
631
613
616
621
600
603
625
615
611
632
602
605
626
612
605
627
640
602
615
611
625
622
606
608
610
607
617
618
623
610
621
606
629
627
627
628
622
635
603
604
607
609
623
621
613
631
610
631
609
627
613
613
639
608
617
622
603
608
609
600
618
623
609
639
634
631
613
622
612
613
607
617
619
626
641
634
608
623
608
631
626
619
632
613
605
635
603
605
610
608
621
622
615
624
627
611
613
609
633
613
622
615
629
621
603
633
635
615
622
632
607
617
611
608
610
623
621
630
639
622
610
608
622
623
617
627
627
609
615
606
620
624
617
606
610
636
629
639
614
627
614
610
639
606
611
630
616
625
607
616
605
626
626
618
604
630
625
602
625
631
619
622
628
613
631
628
627
609
602
619
623
603
622
616
633
611
605
612
613
617
604
618
632
629
614
614
608
618
606
632
623
610
611
621
609
631
612
615
617
608
616
614
625
639
628
614
630
634
632
640
608
625
623
610
619
604
633
607
603
608
631
602
625
609
639
600
623
604
605
632
610
618
618
626
627
622
606
605
631
618
613
614
606
614
639
610
620
636
628
614
617
603
621
609
614
636
632
614
629
612
634
609
602
611
603
626
624
635
621
615
626
628
622
608
639
613
609
620
608
615
620
628
614
604
629
614
627
612
621
614
613
615
618
609
628
604
629
618
611
628
600
623
630
604
615
623
613
630
625
612
619
606
640
631
631
622
610
607
603
635
608
617
623
609
621
630
632
625
609
614
608
623
624
623
632
604
626
604
629
632
603
613
619
623
627
634
621
628
628
608
602
604
636
615
616
635
621
628
603
630
633
613
618
619
635
608
617
615
611
603
629
616
613
630
603
639
613
618
634
639
608
610
625
622
617
617
622
607
627
632
615
608
609
616
611
634
608
622
613
614
616
619
639
625
623
628
608
603
619
606
613
611
609
602
614
624
632
626
632
610
628
623
612
612
615
616
614
627
621
639
614
619
628
612
611
622
623
605
616
613
614
613
614
609
602
607
612
621
623
603
623
614
616
623
614
626
606
610
610
615
613
631
629
614
611
618
618
610
626
607
616
618
623
610
630
634
618
632
608
624
611
639
626
621
603
608
622
623
621
610
626
612
603
620
619
617
634
614
610
608
608
617
608
607
639
633
636
632
608
600
611
604
608
604
626
610
609
626
605
617
608
623
632
616
622
614
608
631
608
606
614
631
614
613
608
607
621
625
614
639
639
631
622
622
618
614
610
625
607
604
609
624
617
610
620
621
617
613
639
632
607
613
603
640
611
634
625
635
606
622
613
621
613
619
614
630
620
604
606
620
633
608
626
613
607
618
611
621
607
618
631
619
611
612
622
625
632
625
620
614
617
604
604
605
629
601
613
617
628
624
615
622
622
631
621
614
625
623
622
622
611
603
628
618
605
623
623
631
628
601
616
606
607
630
634
604
618
617
630
614
605
610
613
612
622
610
622
626
611
611
631
609
619
609
626
608
620
631
605
615
631
612
621
613
623
614
626
626
603
622
619
620
608
599
615
615
610
622
632
614
605
624
630
616
617
612
600
629
631
608
631
626
637
607
626
622
621
612
617
614
611
612
609
622
631
626
630
624
622
616
620
609
626
615
619
629
613
625
632
632
606
623
625
605
604
613
631
618
612
622
611
633
619
632
618
615
606
616
623
611
621
619
603
631
626
610
608
615
618
613
604
627
613
636
635
619
623
609
629
618
605
631
627
639
610
627
618
623
608
604
623
617
613
624
607
602
613
610
608
637
620
623
603
639
613
618
620
620
616
603
615
611
631
609
637
620
601
635
622
608
629
636
637
629
632
626
607
631
604
631
624
629
610
619
604
626
620
620
620
628
610
603
601
618
621
622
611
629
613
620
616
613
607
610
619
627
629
613
618
628
607
605
615
615
629
634
614
623
623
613
604
616
608
630
633
615
609
609
619
609
605
622
604
603
636
604
632
608
619
621
637
623
628
618
640
618
621
610
623
606
625
614
612
626
611
627
608
632
635
639
627
612
631
620
606
618
606
605
607
620
618
623
604
611
615
623
617
620
633
613
633
614
623
626
616
639
622
610
607
620
617
634
632
630
630
625
610
609
610
629
625
606
606
614
619
608
612
618
639
616
620
609
609
605
611
625
629
629
619
634
606
609
618
616
611
625
622
611
631
621
608
634
639
628
603
614
607
613
623
606
622
598
615
609
619
617
614
622
615
602
615
610
628
620
605
626
638
623
608
612
606
620
620
615
605
628
602
622
604
632
621
614
640
623
604
614
614
626
609
637
612
604
637
631
611
606
621
634
616
622
604
622
605
612
612
634
606
613
617
614
631
626
603
631
601
609
637
619
623
613
610
605
619
615
623
632
626
617
631
620
620
609
632
619
611
630
609
610
628
615
627
629
639
609
607
631
640
606
630
607
615
603
629
630
615
608
611
609
617
629
625
621
622
613
604
616
608
617
609
611
613
613
629
620
632
639
628
617
627
612
609
607
630
631
623
639
603
616
608
610
616
631
617
616
617
634
639
625
620
619
612
633
622
607
619
612
614
626
607
631
606
605
636
602
619
614
613
610
611
632
612
610
640
619
623
620
610
600
624
610
616
612
637
615
622
610
616
607
616
622
617
599
604
620
609
604
630
617
630
605
619
629
632
631
627
604
605
623
614
603
631
622
623
623
631
632
603
631
615
615
604
619
617
614
604
609
634
606
621
623
612
613
614
627
614
614
617
623
629
618
615
611
606
605
628
605
614
611
631
639
614
632
607
604
607
604
614
635
627
616
601
609
634
612
618
604
614
623
620
632
615
616
619
616
615
622
613
618
629
615
611
605
616
610
605
620
606
639
605
636
608
622
610
628
634
605
618
625
610
607
639
614
610
613
623
631
634
610
629
600
628
604
631
609
635
605
639
622
613
616
622
613
625
612
632
608
614
623
621
635
634
630
611
610
615
615
627
631
612
617
609
617
617
609
617
610
620
610
611
629
618
623
632
630
614
615
607
630
615
613
629
639
623
634
615
636
623
602
632
628
606
609
639
617
631
613
639
609
617
615
602
622
605
628
626
612
634
622
606
628
608
623
639
631
629
637
615
623
602
614
609
617
620
611
627
622
612
616
632
621
615
612
611
630
622
618
610
615
608
620
602
634
605
605
620
621
614
621
620
605
614
605
610
616
605
604
626
621
637
605
603
608
612
613
639
623
614
609
609
610
609
604
608
608
611
632
606
618
635
603
613
621
611
617
606
622
624
610
617
609
640
618
629
610
621
612
626
603
620
610
620
635
634
602
632
637
619
613
603
617
618
614
602
613
630
605
631
604
617
606
618
611
626
625
630
618
632
613
618
603
617
603
632
630
623
631
618
608
629
605
609
623
605
610
615
617
605
608
617
608
605
626
614
623
612
607
632
614
602
639
621
605
618
618
622
610
622
624
618
632
618
639
610
625
633
605
609
624
609
607
609
619
618
618
607
615
602
630
626
632
625
634
627
605
606
630
610
612
604
612
632
611
639
614
631
613
609
617
606
626
623
625
611
634
617
623
632
639
602
602
609
608
603
612
610
614
607
625
638
613
619
609
604
612
613
625
610
622
605
608
613
616
628
639
609
632
614
608
610
619
606
639
623
639
630
616
629
618
628
617
608
608
625
611
616
614
635
609
610
621
607
638
624
632
617
620
617
609
616
604
607
616
617
639
623
610
630
606
606
611
612
622
602
608
618
612
631
607
612
611
623
620
629
620
616
604
630
604
612
613
613
611
613
614
614
625
606
621
612
632
630
611
609
635
615
630
639
601
633
616
612
614
602
634
613
615
602
617
609
633
626
608
603
605
607
603
631
607
631
607
616
626
630
604
605
632
639
611
625
611
604
613
610
628
623
626
603
605
636
604
618
617
617
623
609
613
632
621
613
621
624
629
612
616
620
626
606
606
603
606
622
608
610
614
613
632
639
609
603
611
633
631
610
608
632
618
634
615
639
634
630
636
606
631
639
628
616
616
613
632
608
614
631
617
606
632
621
631
609
617
627
606
619
610
616
631
603
613
619
614
614
610
604
616
635
606
606
608
620
635
603
605
618
622
623
609
617
601
626
630
613
611
631
635
623
640
611
607
622
632
630
639
617
622
635
621
637
610
639
629
623
632
611
634
616
621
631
618
602
622
622
607
627
604
609
622
627
618
626
608
630
618
616
635
607
626
618
634
609
611
612
633
632
625
609
620
627
608
624
632
603
610
610
603
632
619
635
613
628
614
631
634
621
624
614
629
612
628
606
630
606
620
606
608
628
612
616
619
606
619
630
618
608
614
618
619
605
619
600
612
609
613
618
599
615
632
602
605
623
625
602
620
625
619
626
605
635
601
623
623
631
623
623
605
622
614
606
621
605
605
603
607
617
611
616
609
631
605
613
619
622
613
613
619
625
635
617
622
614
630
622
614
621
616
614
623
632
631
625
617
617
639
626
614
613
611
625
602
610
609
617
616
609
614
629
614
637
636
618
618
605
609
625
622
623
614
608
613
614
610
605
631
610
611
636
610
621
623
617
631
610
632
603
609
607
626
606
622
607
629
615
605
612
639
613
617
605
622
618
614
611
619
625
635
602
617
612
611
613
631
606
614
631
633
616
612
608
603
609
614
618
607
626
600
611
615
626
609
619
620
614
605
608
631
614
607
612
623
622
623
623
614
629
628
613
625
606
619
618
626
613
616
608
625
604
620
627
603
639
601
612
615
609
608
618
609
632
632
606
610
634
606
614
632
606
621
606
616
609
614
611
626
611
618
625
609
614
612
609
615
635
605
606
615
631
617
618
614
615
609
613
629
622
617
625
614
614
609
636
607
631
607
625
623
612
609
614
611
607
632
609
616
626
626
604
616
631
609
610
610
606
617
608
608
621
620
602
609
610
628
629
621
617
623
617
622
607
631
613
611
639
631
609
609
617
609
628
620
610
624
635
631
632
611
619
626
606
626
616
620
629
604
621
630
614
613
635
609
617
628
611
616
620
616
617
604
608
617
633
619
612
602
612
640
603
618
621
619
631
614
606
617
617
622
618
622
625
606
618
639
631
604
604
613
611
610
618
614
620
614
604
639
604
628
613
608
632
603
606
617
633
631
611
626
603
621
621
622
615
615
631
607
627
609
608
614
609
608
605
619
614
608
611
618
608
610
616
631
613
612
635
614
618
636
626
611
619
620
608
630
630
625
606
610
612
614
606
611
623
612
613
613
607
619
617
632
609
627
620
618
623
614
632
602
621
613
622
605
612
600
608
639
611
615
614
613
623
620
623
613
633
609
616
623
628
611
608
608
634
623
629
611
609
612
608
624
639
617
632
622
633
611
625
605
620
609
623
609
625
614
614
625
625
613
611
608
611
614
616
601
633
622
624
629
625
619
636
632
619
609
604
620
605
614
612
622
607
603
626
610
611
603
622
610
608
605
602
623
614
605
607
632
628
635
622
631
610
607
630
620
611
632
606
615
606
608
626
626
624
623
618
632
633
621
632
609
614
618
605
620
623
611
610
618
613
614
635
634
635
606
623
607
635
628
603
631
627
622
606
634
634
625
635
623
617
627
620
608
626
623
620
628
602
617
604
628
617
628
620
631
623
603
623
617
610
615
610
626
635
609
632
632
639
631
639
606
618
616
620
603
608
626
639
620
603
608
614
616
604
613
630
613
624
639
614
623
615
610
620
609
628
623
607
609
608
631
617
623
611
602
603
600
610
626
617
610
609
616
606
625
626
630
608
610
620
609
615
620
614
609
606
617
617
606
613
631
620
614
621
639
604
630
638
631
630
608
614
602
625
603
618
604
602
632
612
607
617
605
632
604
619
639
607
613
628
606
631
616
620
634
617
623
606
618
634
619
622
617
604
603
623
632
635
606
614
635
615
616
615
632
607
635
627
633
629
621
613
603
639
621
604
602
615
609
615
615
611
634
614
608
602
628
617
608
612
629
623
609
611
611
607
630
607
630
637
607
624
615
608
611
608
635
611
611
632
607
609
612
631
631
624
609
628
622
623
624
613
617
604
608
632
607
616
632
627
614
606
623
605
603
612
621
626
631
625
607
628
625
640
634
608
606
608
611
629
606
632
620
618
612
618
638
603
612
617
612
602
623
631
635
614
630
616
628
624
604
608
614
607
603
617
621
632
608
635
608
603
635
618
606
611
608
632
602
630
613
614
616
611
630
621
629
614
605
620
608
604
610
610
613
622
619
623
623
623
612
622
627
611
623
601
613
607
622
620
630
628
621
621
632
604
629
602
614
605
621
637
632
626
623
616
606
623
613
619
633
639
623
639
628
603
623
628
609
614
622
613
614
637
622
631
603
609
614
609
625
623
633
616
605
608
626
635
609
609
628
615
601
602
628
613
617
617
618
619
606
629
614
624
614
629
636
611
612
605
611
631
619
606
624
609
610
618
613
602
615
608
639
632
630
612
637
630
630
630
604
609
618
632
609
615
609
607
622
631
613
606
628
609
607
623
608
625
627
635
603
608
626
614
606
613
632
611
633
613
618
615
629
606
607
628
631
623
613
604
612
610
614
634
606
610
626
628
616
623
612
610
625
612
620
613
606
614
621
611
602
606
613
608
619
611
631
612
626
611
608
625
611
640
607
635
607
623
622
619
604
609
613
607
607
617
609
612
608
627
615
618
613
636
634
635
605
614
629
609
610
620
608
621
617
616
604
614
607
604
631
636
607
610
623
612
617
618
607
621
603
616
621
602
614
620
628
612
615
610
616
639
602
602
631
622
628
623
613
629
603
616
615
619
600
603
605
623
625
618
620
611
617
609
612
604
608
630
610
629
614
618
608
602
607
611
609
623
620
631
622
619
623
625
615
639
613
615
617
637
609
610
611
632
602
610
626
612
607
615
620
624
632
618
609
611
629
639
613
636
617
639
630
627
630
615
634
609
631
606
613
632
631
626
613
634
631
612
605
622
620
629
603
610
619
608
613
624
611
617
604
639
626
613
623
613
619
610
611
599
617
604
603
626
603
626
639
603
631
638
628
633
634
614
605
616
631
621
607
617
603
623
631
611
612
630
615
615
623
607
635
603
613
617
617
612
622
615
620
612
631
607
631
623
608
623
629
622
613
611
609
628
615
608
611
621
629
616
603
627
616
606
617
622
609
614
604
631
631
609
619
610
618
610
639
624
610
617
626
613
621
614
625
613
622
615
632
632
623
602
639
611
603
628
610
615
612
629
631
603
610
611
612
609
633
604
615
624
615
628
625
606
606
634
604
623
620
631
628
613
609
624
610
612
618
622
606
609
631
633
626
631
604
626
632
614
612
623
623
614
624
606
608
614
603
604
618
613
625
613
603
614
614
633
620
620
606
617
609
600
613
611
629
619
629
631
630
617
604
609
619
634
635
631
621
626
609
621
618
622
607
622
628
626
629
610
613
640
615
639
638
612
624
639
613
608
629
615
604
615
623
600
619
640
605
612
607
615
625
635
618
636
603
620
613
608
621
614
622
608
616
605
603
605
613
604
605
606
616
617
623
627
622
609
628
610
602
613
616
621
612
611
639
608
608
613
608
603
617
627
626
622
613
605
632
612
615
626
603
627
612
606
629
619
613
610
609
618
611
616
605
617
604
622
610
612
617
623
619
609
613
631
621
614
631
610
617
606
610
611
611
616
630
627
617
631
628
605
617
623
630
630
603
610
636
621
630
621
613
624
611
611
608
611
625
628
615
613
632
638
622
602
607
623
606
602
609
633
607
624
602
621
616
603
639
612
639
613
613
631
608
613
607
604
626
615
628
617
616
639
612
632
612
630
631
611
608
603
617
636
626
614
639
616
603
611
603
608
608
628
634
624
633
617
627
612
621
632
608
614
602
616
640
613
619
632
619
606
631
612
603
613
614
607
631
607
606
613
616
626
632
629
611
621
624
612
629
611
605
628
612
615
611
604
617
610
606
615
608
613
606
620
613
623
620
608
614
623
618
634
626
632
622
618
601
614
622
611
637
622
617
618
616
603
628
607
635
624
623
609
625
639
639
613
639
602
608
604
619
639
631
611
612
612
627
603
609
612
605
631
609
621
633
633
627
613
601
617
608
604
605
616
636
608
610
616
629
639
614
629
605
630
603
622
608
628
614
623
618
617
605
625
613
611
625
604
610
607
613
607
608
620
620
602
610
629
623
626
622
625
608
606
627
622
603
630
621
605
622
610
604
619
606
639
636
613
619
625
607
607
630
608
607
605
629
611
609
605
623
616
606
604
624
629
605
634
624
610
608
604
613
613
640
631
633
601
618
623
614
604
613
629
605
623
629
605
635
608
606
610
621
639
620
622
614
639
604
635
613
627
606
614
610
613
619
608
608
614
625
614
633
618
629
613
635
622
610
623
613
619
630
622
612
611
607
618
635
611
610
630
605
614
632
630
611
627
632
640
620
627
629
613
628
632
610
628
607
623
623
638
609
616
615
623
611
613
616
622
609
611
629
616
617
611
616
613
611
609
606
604
608
625
616
631
611
608
608
605
627
612
602
619
632
618
613
619
618
627
637
612
633
605
639
609
621
621
629
614
617
632
605
604
603
613
615
628
618
632
638
614
610
618
629
611
607
632
634
610
609
609
608
619
613
613
612
634
608
614
634
615
623
610
604
620
639
615
606
615
608
610
622
608
611
635
615
623
615
617
619
640
618
622
622
623
618
632
614
615
617
620
613
609
634
621
604
603
614
606
613
618
621
619
609
618
603
631
604
603
613
614
634
610
613
622
627
611
613
632
611
619
609
612
617
609
611
621
622
617
630
621
636
608
635
614
618
626
606
610
614
611
608
606
614
610
622
606
606
610
621
609
613
623
625
601
609
625
616
613
621
603
627
632
605
604
639
622
602
602
621
604
606
605
607
633
616
631
635
610
609
604
618
614
606
608
619
604
624
620
634
606
613
615
622
629
610
631
635
614
612
623
639
619
606
633
632
621
624
619
604
634
605
605
639
616
606
614
622
633
606
607
611
623
613
632
614
616
613
629
630
632
634
613
629
635
618
609
604
629
622
617
603
627
609
629
613
603
617
608
617
615
603
629
611
626
607
611
622
609
617
614
605
617
629
640
632
620
618
603
614
627
628
606
608
621
613
619
604
611
637
606
613
615
631
615
610
622
639
632
620
623
628
637
608
608
613
623
621
614
602
619
614
608
620
604
623
610
620
615
625
619
617
623
604
606
615
623
609
606
629
632
607
636
604
620
618
608
626
639
617
602
635
617
610
624
599
625
624
607
612
616
608
614
601
614
604
625
629
601
601
613
631
623
630
621
626
610
607
626
623
632
626
614
634
608
625
613
605
626
602
617
612
609
609
623
621
609
608
625
613
603
616
617
618
609
602
622
611
613
635
613
631
616
628
606
623
623
611
622
631
608
635
618
613
618
625
613
617
635
607
602
625
630
604
611
616
625
609
620
606
619
628
608
625
628
608
610
603
629
610
617
626
620
621
606
621
607
616
613
639
620
617
614
613
634
629
614
631
610
604
634
604
634
606
604
607
611
599
603
612
620
606
638
613
630
621
610
614
611
605
630
621
637
613
617
611
632
629
606
623
629
613
607
618
614
615
622
613
614
607
631
614
623
639
621
604
631
640
606
623
617
626
603
630
618
608
604
605
602
610
603
608
629
609
614
614
615
616
613
625
615
610
617
628
606
633
632
623
603
631
635
618
625
610
608
622
625
622
632
625
614
629
603
603
631
616
635
613
632
614
632
611
621
603
614
620
627
608
631
628
639
613
617
610
614
602
615
622
613
629
612
622
603
628
606
628
604
602
606
611
634
609
605
618
602
621
635
623
624
632
628
630
617
627
634
626
626
620
628
607
622
631
636
614
609
602
618
631
624
607
610
632
631
608
632
622
615
599
609
610
605
608
617
605
618
628
632
603
613
620
609
612
611
618
632
606
618
602
626
631
608
614
610
612
609
623
603
635
619
603
611
613
607
612
611
616
605
621
630
634
626
609
622
629
636
605
622
617
610
623
632
602
631
620
631
621
632
629
609
622
620
613
634
635
622
627
624
625
614
603
602
631
632
611
609
620
613
632
620
621
612
610
631
603
628
623
639
632
618
625
610
635
609
605
624
616
607
612
613
607
621
622
634
630
615
604
621
603
619
621
611
613
623
608
608
605
610
623
622
639
614
609
640
629
617
600
620
605
619
609
617
627
617
613
622
634
608
609
606
626
635
621
627
604
613
628
619
636
614
604
612
631
610
637
630
617
622
605
624
631
604
605
639
605
619
625
605
604
602
627
611
613
603
614
635
618
632
629
605
612
640
628
611
632
629
607
627
614
607
631
613
619
620
626
629
604
629
621
639
628
604
632
618
614
603
614
625
630
609
608
629
610
617
611
629
627
606
628
614
631
632
612
639
625
628
618
639
607
617
613
622
618
608
631
605
617
607
608
609
616
621
609
617
631
622
603
607
603
620
616
633
606
613
612
609
611
625
620
622
614
625
610
628
628
609
616
602
613
605
627
613
620
603
631
602
630
614
612
628
632
625
632
626
623
614
606
612
614
617
625
623
610
604
628
607
626
620
602
603
608
603
614
607
613
618
604
614
622
611
620
604
620
631
604
616
617
611
632
623
632
628
622
599
616
612
610
613
618
615
619
603
611
602
621
606
606
623
613
631
621
613
617
620
613
608
616
614
620
640
605
607
615
630
633
612
609
610
615
605
617
618
616
625
614
615
632
628
605
619
618
624
610
631
621
617
606
609
619
604
607
621
621
606
607
604
626
621
623
618
621
608
629
612
631
614
631
629
616
633
613
617
620
606
615
622
622
633
616
602
606
614
629
610
632
610
613
614
608
620
604
622
625
626
611
623
610
605
603
606
609
616
615
629
608
616
622
607
615
609
632
620
618
621
622
607
624
626
619
613
622
635
607
611
623
603
617
637
616
636
626
626
619
611
629
623
624
619
611
608
609
601
614
613
615
634
602
613
630
617
630
621
622
611
639
630
623
617
620
613
605
619
613
613
610
615
630
630
629
626
639
635
623
613
617
603
609
617
608
604
608
632
612
608
615
614
617
622
609
612
609
609
602
607
612
621
612
607
630
608
604
610
636
624
608
609
606
620
639
621
630
613
623
619
611
613
621
617
611
635
621
631
612
639
613
627
605
605
623
617
602
605
614
610
623
607
629
626
615
618
605
610
622
632
623
625
631
612
617
613
611
613
604
608
609
619
611
631
616
613
613
608
623
608
623
608
605
607
613
609
613
626
629
608
619
616
622
616
618
620
631
630
620
622
632
639
608
628
604
635
606
608
605
615
614
639
638
640
631
615
632
612
623
625
603
608
627
623
618
605
603
613
603
612
601
622
624
613
621
610
608
604
625
639
604
608
603
605
628
635
627
611
607
612
611
608
613
613
626
627
605
611
626
620
612
619
607
612
606
621
608
617
634
623
627
622
612
629
634
613
626
608
609
630
617
605
627
625
635
620
617
613
606
639
624
612
622
610
627
622
604
611
618
624
607
619
615
640
611
636
630
608
602
611
631
623
639
602
632
631
624
616
605
617
623
635
631
621
632
632
609
605
622
635
618
622
605
607
627
617
620
607
619
629
604
634
627
622
606
615
623
606
614
605
630
606
605
613
617
620
611
628
606
628
603
635
620
639
603
609
623
613
610
626
610
617
614
635
608
615
631
618
625
613
619
640
619
637
611
603
612
605
604
615
623
619
625
631
610
628
620
617
632
613
632
628
631
630
602
609
627
607
604
615
608
617
611
619
603
629
607
599
604
620
604
631
617
602
629
632
607
603
635
602
605
613
621
626
616
612
611
635
621
623
610
610
610
614
632
627
616
639
624
620
631
620
616
626
614
608
627
619
610
632
621
611
605
620
629
613
605
614
636
605
625
614
617
623
617
629
609
613
600
635
620
608
637
633
627
607
624
617
623
639
604
628
632
626
618
612
628
614
608
628
621
619
605
612
610
621
619
613
626
632
620
610
623
616
610
633
605
606
603
634
602
624
632
632
618
617
615
623
618
620
614
623
619
606
610
609
635
610
621
614
620
617
615
635
606
621
635
607
627
600
614
613
629
610
609
608
606
614
639
622
602
628
631
634
622
626
610
614
613
629
626
622
620
602
635
614
617
623
606
634
604
611
622
622
623
606
639
627
609
620
609
639
618
622
617
622
609
619
612
608
607
625
603
609
610
617
628
609
606
613
609
613
607
635
622
629
621
604
637
618
606
599
623
607
628
631
631
625
608
624
635
625
621
609
614
633
608
613
603
620
613
634
613
614
602
622
625
614
633
617
625
612
639
614
620
620
621
617
637
604
609
605
602
604
629
607
608
619
626
627
639
613
621
630
615
613
600
613
615
624
623
634
618
609
635
614
615
631
612
612
632
624
622
606
616
606
606
632
607
624
624
639
634
614
618
622
605
613
614
621
609
611
622
617
620
626
619
639
618
627
613
622
622
608
599
632
627
639
629
614
611
621
623
623
609
639
605
623
610
619
616
613
623
622
633
611
616
600
631
615
620
608
599
629
618
603
609
629
616
629
604
612
602
616
615
605
608
610
615
614
604
627
616
640
623
604
607
632
619
636
639
618
622
639
621
611
626
620
630
606
608
631
618
609
630
625
625
627
611
603
604
610
623
615
609
614
639
618
613
617
620
614
606
627
621
607
633
621
607
624
610
604
633
622
614
605
610
608
631
627
616
606
630
632
611
609
638
606
622
629
607
617
603
610
617
631
612
612
613
625
609
629
608
621
631
607
603
606
606
605
621
633
622
628
609
607
624
611
632
604
607
633
611
617
605
620
623
614
623
613
607
622
621
606
621
637
632
616
608
626
619
623
633
604
634
629
621
613
603
607
609
635
632
628
606
626
639
609
617
631
634
605
600
639
625
620
616
630
616
615
603
611
602
623
630
629
622
612
623
617
626
620
613
623
606
618
614
612
623
638
611
611
632
614
599
639
613
620
623
633
603
632
603
618
603
616
609
612
619
613
604
608
632
620
621
622
627
615
628
610
612
608
610
620
606
622
613
610
614
631
618
619
626
629
617
625
623
617
623
609
620
611
614
616
606
627
602
616
610
639
606
612
605
620
609
606
635
621
614
601
614
613
621
612
631
609
623
632
617
621
608
614
603
624
631
617
628
603
628
614
604
608
618
609
623
601
609
607
623
611
611
612
612
601
634
604
621
606
604
614
631
601
603
621
628
623
609
606
607
613
625
604
607
609
613
616
605
608
604
607
604
603
604
634
611
634
620
617
613
623
606
620
632
634
632
614
629
611
622
631
613
605
626
609
612
631
605
603
611
620
610
615
623
601
608
614
610
616
623
615
627
640
623
614
632
622
622
625
611
631
623
604
620
612
623
629
617
638
615
626
623
628
609
636
632
603
602
630
630
622
613
632
624
608
619
617
612
611
607
625
619
603
607
607
610
614
616
612
639
603
626
613
609
605
607
613
604
607
599
613
612
613
612
603
633
603
625
626
602
621
632
609
621
615
625
609
620
607
612
609
617
639
605
606
639
600
623
605
634
615
619
622
609
607
618
626
607
625
615
615
625
606
633
631
608
617
614
603
639
614
626
625
614
622
613
634
603
630
617
632
606
608
609
610
612
616
630
621
621
626
626
615
617
618
622
636
628
635
621
621
609
605
599
619
614
626
610
614
605
605
618
613
607
605
617
634
639
618
617
621
626
605
609
620
609
622
617
609
610
609
631
622
614
613
614
613
611
622
606
604
617
610
610
610
639
630
603
621
615
608
625
610
604
616
605
604
625
621
614
615
623
610
609
615
603
631
610
614
626
608
605
613
624
623
631
623
617
628
606
616
612
606
626
611
630
623
608
613
615
616
612
627
619
610
639
615
631
620
626
605
606
614
604
629
620
601
615
601
613
604
617
604
611
608
611
618
616
612
611
613
615
622
632
614
639
610
609
604
617
614
629
611
627
621
606
629
604
605
639
608
614
631
613
609
618
609
608
606
619
618
635
634
634
633
608
628
621
629
610
610
639
619
620
604
634
614
623
622
606
625
609
615
604
609
631
612
609
624
629
610
603
621
603
609
617
616
611
630
621
628
625
613
629
607
606
621
618
628
610
617
607
634
607
631
632
621
612
609
629
604
633
608
622
635
623
608
618
613
630
612
630
620
613
622
604
616
633
604
620
623
613
632
626
617
633
618
605
603
606
609
616
638
631
629
608
614
622
609
631
603
631
627
634
606
625
615
605
605
629
629
628
634
609
620
622
608
610
623
622
634
617
629
605
614
607
628
615
618
639
613
616
633
612
626
629
609
606
630
610
631
633
625
604
639
623
622
621
599
616
609
610
611
607
605
639
625
620
608
607
635
638
606
607
610
618
629
613
608
615
617
618
608
605
614
622
613
620
622
613
623
612
622
605
605
613
611
609
609
620
610
616
611
620
622
635
601
602
608
605
616
625
628
623
615
618
612
623
618
618
611
626
623
613
612
618
628
630
619
610
613
606
608
619
606
619
611
616
621
606
614
606
613
611
619
601
607
639
635
618
623
631
606
615
618
604
634
612
604
606
616
612
617
605
619
632
639
629
623
616
624
631
606
611
637
621
616
640
632
611
623
610
634
632
623
618
628
610
640
629
605
636
606
616
618
622
607
640
621
617
634
625
603
627
605
632
611
621
614
626
635
630
632
609
635
626
619
602
611
631
613
607
616
611
620
613
639
623
619
610
615
601
616
615
622
626
639
606
613
616
630
602
637
612
626
618
612
621
631
604
633
608
640
617
614
610
617
617
631
634
630
632
629
610
611
606
611
639
617
616
628
613
605
613
623
615
614
610
627
632
623
613
617
610
615
606
634
619
610
605
609
621
604
619
626
640
612
612
611
613
599
616
611
608
631
614
630
632
609
622
623
623
612
606
630
627
622
620
602
618
605
605
631
631
628
610
625
629
628
606
625
631
625
633
639
620
613
604
605
635
611
626
613
631
628
602
613
639
613
619
641
611
612
606
611
603
609
616
609
609
601
606
618
601
622
640
611
607
603
613
618
608
606
624
617
608
639
602
631
626
616
624
602
614
620
619
629
616
611
627
625
629
622
619
632
614
616
626
627
606
613
614
605
635
626
614
626
620
613
625
612
635
610
639
604
616
608
602
637
619
619
631
629
616
619
624
605
600
635
639
605
632
609
607
612
608
607
619
613
615
616
623
609
602
604
613
623
635
606
613
602
610
631
634
607
602
620
618
634
608
624
608
619
636
624
631
617
605
631
604
615
621
609
603
614
604
611
622
608
616
618
613
617
623
621
607
617
606
604
601
629
613
614
628
609
607
624
609
618
609
631
609
635
623
613
616
612
610
632
635
632
611
606
632
622
617
610
613
620
608
626
612
636
627
611
640
617
629
603
620
620
630
621
627
622
606
608
616
609
625
605
619
605
612
620
613
612
608
621
602
605
612
627
638
612
619
613
606
606
613
637
636
625
638
616
605
622
618
613
625
602
616
610
634
607
617
622
612
617
618
612
618
639
603
604
610
619
607
605
609
619
623
616
606
617
617
607
604
626
605
610
602
623
617
616
615
614
624
624
612
607
610
617
608
611
618
619
617
618
624
606
611
603
613
628
617
609
626
611
639
629
632
631
612
632
623
608
613
612
623
621
604
640
607
623
608
620
611
603
605
637
631
611
611
623
603
617
603
623
601
634
610
611
609
613
634
628
605
605
619
625
606
626
618
615
618
626
623
624
625
605
629
633
608
618
615
610
616
608
609
605
632
614
634
626
632
603
599
626
610
607
629
617
626
617
613
620
610
619
619
632
609
611
622
619
616
631
623
631
614
627
604
609
604
632
625
605
615
613
639
607
608
614
628
609
604
636
618
641
607
623
614
616
625
605
623
604
605
613
630
638
612
632
621
632
619
618
620
614
615
631
622
609
623
604
602
630
611
615
623
634
610
617
633
604
607
626
603
632
621
609
624
621
607
608
608
613
615
639
608
621
626
632
609
612
619
608
604
616
612
629
605
611
615
619
619
630
605
617
620
624
606
624
625
616
619
608
614
628
606
615
609
611
611
620
624
614
620
609
614
616
612
637
612
614
622
604
632
616
619
616
633
606
620
608
615
611
605
633
609
608
631
632
639
609
626
620
607
608
616
639
602
615
627
610
613
606
608
617
626
614
631
638
629
619
635
608
625
624
613
623
614
625
602
612
603
613
614
620
624
623
608
623
630
601
608
604
639
613
603
618
615
608
623
639
622
613
608
623
612
629
602
610
629
635
629
619
611
629
633
610
617
625
612
630
631
607
623
630
614
622
632
603
613
631
621
629
629
625
634
623
612
612
626
632
603
619
610
608
617
613
613
604
622
611
608
608
609
607
615
627
615
618
607
604
612
622
612
606
624
629
631
613
604
606
608
611
610
614
608
610
623
605
609
608
631
625
613
619
616
607
624
623
620
628
621
635
622
611
624
618
627
606
624
612
629
627
637
617
608
606
610
605
612
610
610
606
609
618
609
604
604
607
639
604
631
620
624
628
611
631
604
614
623
613
618
640
602
635
609
615
599
613
612
625
606
617
613
631
631
618
622
627
627
605
625
620
613
617
612
621
607
611
607
632
604
608
629
627
604
616
607
619
612
614
617
612
606
615
605
629
619
615
604
624
623
619
631
625
613
612
612
613
610
612
624
630
604
603
613
636
608
603
602
603
631
602
626
622
611
621
623
632
632
628
609
612
607
629
639
603
623
620
616
623
615
620
605
625
635
632
613
624
627
636
625
608
609
614
635
605
629
610
604
603
609
617
613
614
616
629
606
630
625
614
607
609
611
610
626
632
612
604
630
607
618
619
623
629
615
610
619
614
610
639
610
614
626
629
637
603
620
631
621
625
628
619
625
639
617
634
606
632
618
617
606
627
619
619
618
627
627
606
620
609
639
603
605
616
622
617
627
637
613
632
619
601
631
619
624
603
616
605
617
620
636
623
631
603
626
617
605
622
613
632
610
623
628
605
604
614
635
610
611
615
614
621
614
602
613
625
621
632
606
604
613
635
610
607
639
625
617
612
604
631
628
622
630
639
604
612
615
625
629
618
620
625
608
628
624
613
634
615
607
607
623
633
609
605
617
631
602
621
619
635
636
632
629
615
623
631
611
627
613
629
617
612
621
630
611
609
639
624
634
611
602
609
629
608
621
625
611
629
625
635
635
603
641
625
628
613
609
607
631
606
612
606
613
617
616
607
610
613
640
617
635
604
614
619
609
603
612
612
622
614
632
606
615
613
623
602
622
608
622
631
605
603
629
623
615
606
614
631
622
624
627
608
616
613
631
606
617
607
607
621
611
639
631
606
628
617
619
603
623
616
634
615
635
602
608
616
617
614
615
608
625
639
617
623
618
615
621
622
627
611
614
617
619
621
608
608
607
617
626
618
603
609
625
603
627
619
629
631
611
614
605
617
634
615
603
613
640
634
620
610
604
623
612
625
608
616
635
619
608
608
600
609
605
620
612
629
616
623
632
616
620
623
608
617
623
617
613
617
614
607
608
632
608
603
609
614
611
630
603
627
632
605
614
608
609
604
626
632
635
613
626
604
626
609
626
612
606
613
613
609
611
605
615
617
631
603
605
608
610
626
624
610
604
626
622
608
605
626
615
614
605
607
621
610
614
612
609
604
618
613
626
617
611
610
612
632
632
603
613
610
620
609
616
623
610
608
629
632
627
628
608
610
631
624
635
608
603
616
639
626
633
623
631
622
605
622
619
628
618
620
626
622
626
631
611
639
615
632
626
626
611
609
599
612
610
616
604
611
606
613
618
619
619
598
615
626
640
623
604
614
603
606
611
613
630
622
639
630
622
621
613
623
639
634
607
627
616
614
614
609
624
620
607
609
604
627
614
602
630
630
613
620
609
629
618
621
635
610
619
620
633
604
632
635
612
612
620
603
610
629
608
623
612
620
613
630
610
626
629
608
606
621
614
618
613
610
632
622
632
625
608
623
634
615
605
625
618
616
615
610
632
633
621
613
606
623
614
639
603
616
605
633
611
631
609
620
610
617
616
631
625
611
622
613
619
638
613
618
602
610
624
634
639
624
615
628
617
632
608
631
611
609
605
616
635
623
605
615
632
611
608
611
617
612
639
611
630
626
623
630
626
615
613
626
610
604
606
629
625
616
627
619
605
622
614
609
613
623
616
623
618
604
607
631
631
634
629
630
607
624
618
614
611
608
609
637
627
639
627
602
630
615
639
621
613
616
615
622
619
607
633
619
622
612
616
624
614
617
602
632
606
621
604
632
632
608
632
616
620
632
608
606
622
614
620
616
626
605
632
603
612
613
621
612
611
630
605
623
607
606
625
634
605
613
636
617
629
615
618
614
616
620
629
605
634
619
622
634
607
617
612
625
608
617
617
616
604
602
613
613
615
623
621
616
603
618
603
608
631
633
621
607
611
626
618
622
639
626
604
612
636
603
635
607
614
629
617
622
610
610
629
628
623
603
632
637
604
613
626
607
611
603
625
626
609
619
619
634
626
606
612
614
630
608
615
620
632
604
610
632
614
602
619
625
624
603
613
632
636
615
611
629
633
617
620
631
620
611
631
613
613
627
604
604
615
611
624
616
613
615
613
605
606
607
623
613
623
631
618
621
617
614
614
623
630
622
633
605
608
602
611
612
615
624
602
613
607
608
603
605
624
613
629
613
607
608
606
606
612
639
619
603
608
621
610
611
632
632
611
634
619
613
620
612
603
600
604
619
621
623
610
608
635
603
620
609
603
609
623
606
611
607
605
625
604
619
607
606
602
628
617
630
608
617
639
630
611
639
627
611
624
617
612
604
611
631
611
612
622
623
616
605
617
609
610
617
606
609
605
618
638
628
639
608
608
614
603
617
623
603
640
609
623
607
602
615
625
602
606
634
611
621
624
621
605
635
622
621
604
620
602
619
616
629
629
619
609
615
607
609
635
618
605
610
603
611
619
608
622
616
605
635
610
637
605
612
610
606
613
627
639
633
618
634
626
608
615
609
601
614
632
623
614
607
628
606
613
609
610
608
603
639
613
630
621
615
603
624
620
611
621
613
623
620
610
605
608
627
631
620
608
613
617
614
612
629
610
625
613
628
622
626
621
632
625
620
632
614
626
623
611
637
614
614
609
607
606
605
615
619
608
614
633
620
604
601
617
623
604
621
608
617
605
605
626
610
606
618
605
624
613
631
622
619
623
608
620
612
623
616
625
611
605
627
617
620
631
621
610
626
633
616
611
631
609
608
638
622
618
618
611
606
606
639
610
639
609
618
602
626
617
614
612
613
610
602
608
622
623
627
623
618
610
612
611
612
612
632
607
626
613
611
622
604
624
611
608
615
604
605
610
611
620
620
614
626
606
625
613
612
614
625
619
639
632
628
630
626
617
603
617
626
604
620
608
610
609
612
631
623
630
639
605
611
626
612
612
611
606
611
606
626
616
631
617
615
623
632
628
618
639
603
617
605
632
621
609
604
607
619
634
631
623
618
616
610
617
614
622
609
639
611
619
630
632
625
612
604
639
631
613
631
613
618
606
603
624
607
609
608
629
623
614
632
618
626
625
627
614
618
627
606
621
612
604
615
627
635
604
623
619
627
630
638
608
639
632
630
608
625
609
625
618
614
639
613
622
613
634
608
612
613
618
613
610
630
629
622
639
639
607
613
602
627
604
613
626
625
626
606
617
615
611
610
602
613
609
608
607
613
605
615
607
617
624
632
600
606
609
611
617
632
632
618
614
613
604
611
603
611
623
639
619
631
606
625
632
626
639
614
611
614
606
603
612
614
631
627
618
619
603
609
621
631
608
614
630
620
610
612
629
609
607
635
614
615
621
628
615
615
614
627
627
636
623
607
623
615
615
614
628
610
602
611
623
631
611
631
631
618
601
604
630
616
616
632
627
617
624
617
607
607
614
630
619
614
612
606
604
613
607
609
623
633
632
608
625
602
610
638
612
602
614
622
635
632
618
613
625
623
603
624
626
617
639
607
608
603
605
621
623
611
612
625
639
611
614
613
626
612
635
601
603
611
639
630
616
639
626
616
614
639
603
606
618
614
627
611
634
607
630
627
604
605
632
630
613
628
608
630
605
611
626
610
619
639
605
608
624
623
639
608
625
635
606
615
623
612
622
626
627
615
615
611
628
609
609
635
627
599
629
604
622
625
639
618
626
626
611
624
641
617
616
606
622
622
607
603
622
615
615
606
613
625
610
602
606
612
619
604
613
606
620
632
614
617
613
623
609
621
632
610
609
626
608
605
609
611
610
626
619
608
630
621
623
621
604
620
613
624
620
624
625
623
613
631
606
606
614
612
613
618
609
624
614
606
631
625
625
606
612
605
612
608
607
610
629
604
614
605
603
612
610
632
636
604
626
617
612
623
623
623
617
619
606
634
627
610
604
629
627
614
632
633
600
619
616
612
634
603
624
632
617
613
623
605
619
604
614
616
606
625
632
634
635
612
632
611
607
617
602
625
606
603
607
615
622
620
628
621
621
622
620
623
621
639
617
604
626
614
616
613
617
629
633
630
609
619
621
621
605
605
627
616
619
623
639
607
622
622
612
613
610
619
636
628
629
620
625
604
610
611
639
629
613
610
613
612
633
604
612
604
639
608
603
619
631
626
608
629
609
621
622
603
608
639
617
604
609
629
613
609
615
629
628
610
626
617
622
603
633
614
605
624
605
631
609
605
631
611
605
605
636
609
605
622
625
603
615
627
613
637
629
610
631
612
628
606
627
619
608
612
617
606
606
611
630
611
600
625
639
609
604
617
619
634
617
620
639
619
608
619
619
612
612
617
614
619
610
612
622
623
621
613
611
603
622
605
632
613
626
619
603
619
630
631
613
614
623
615
614
604
606
632
610
603
612
616
633
612
635
611
630
626
631
607
602
623
636
618
625
636
638
611
639
602
619
603
614
608
629
604
606
623
635
613
639
603
623
602
622
618
604
622
607
610
634
610
622
615
627
605
617
626
615
619
627
622
609
614
621
631
609
619
600
623
605
605
619
640
624
630
604
621
611
604
630
619
605
601
605
613
623
620
609
601
610
622
613
632
629
603
623
617
609
633
613
632
622
619
604
623
610
617
632
606
607
632
617
614
618
607
635
625
604
616
625
626
617
614
621
612
627
603
639
626
614
609
614
630
626
622
623
604
610
610
604
601
609
606
631
622
623
623
605
603
636
612
627
613
604
628
601
631
631
612
624
615
610
624
626
624
618
603
609
631
608
615
607
604
617
617
637
608
603
606
627
628
616
613
615
629
621
629
620
604
612
622
613
616
607
618
626
622
621
639
628
631
640
616
604
614
635
606
615
612
604
610
622
632
602
614
620
614
611
616
618
614
629
604
604
610
629
603
606
614
609
610
614
605
619
626
626
619
622
603
618
623
606
617
635
617
608
603
613
618
614
621
629
621
605
610
614
624
606
623
621
627
629
633
610
624
625
620
609
608
635
603
607
605
610
615
606
616
635
607
623
637
617
604
622
613
613
626
615
613
617
623
617
622
623
621
618
620
630
605
604
629
628
606
611
613
620
629
607
606
621
623
620
632
608
626
611
617
635
614
639
614
622
618
624
606
609
619
631
639
629
604
631
631
621
610
616
619
620
627
603
608
637
610
639
604
625
631
606
612
617
613
622
623
613
618
611
613
614
609
613
604
633
603
639
604
611
617
616
611
619
618
626
602
606
626
629
607
601
627
625
625
632
624
606
621
616
626
606
610
610
623
605
626
607
611
611
606
632
607
622
630
617
605
605
626
620
615
604
634
613
611
615
619
617
612
637
625
608
610
615
623
628
613
625
606
611
622
625
623
608
617
639
629
625
616
600
631
610
638
604
613
614
637
611
616
620
608
630
616
616
633
606
603
607
603
621
632
602
629
630
625
621
634
635
614
630
617
623
620
609
606
608
613
614
628
628
614
637
602
636
620
622
631
612
626
607
610
623
608
625
604
616
616
605
617
634
631
624
608
602
623
632
635
624
609
617
602
611
625
618
602
620
617
632
609
612
622
628
626
619
639
632
625
611
607
608
632
622
618
604
625
605
605
628
615
624
623
607
614
608
621
606
614
604
604
628
602
622
611
606
612
624
616
609
612
615
639
604
632
632
608
606
609
611
620
606
615
619
621
613
631
626
625
604
626
622
622
617
608
610
620
604
613
627
621
634
612
605
613
640
626
611
610
611
610
617
609
611
610
607
626
610
625
621
634
613
616
608
605
605
635
615
624
616
632
607
608
612
618
617
606
623
617
609
604
612
602
624
631
637
615
617
619
607
614
636
607
618
625
617
605
611
616
614
612
610
604
617
639
618
634
613
618
632
608
631
614
614
623
603
613
627
605
617
608
621
609
609
631
613
603
600
609
628
625
639
605
602
617
635
606
619
619
624
633
607
609
603
606
627
616
613
629
635
623
618
619
618
617
632
606
620
608
606
625
632
622
612
615
608
630
620
622
625
618
622
629
631
634
607
614
609
631
607
612
614
625
632
621
607
606
639
615
639
618
630
639
620
612
624
606
605
610
621
635
608
604
618
625
619
603
623
613
623
618
625
627
602
611
626
627
635
610
636
625
616
634
639
619
627
606
604
606
602
606
605
620
616
606
618
606
636
616
605
626
611
616
631
619
608
621
626
605
619
615
622
605
629
612
624
616
611
615
610
618
611
623
625
619
624
612
609
629
607
622
631
613
640
604
621
616
611
611
623
613
615
608
606
603
609
604
629
619
609
613
606
639
620
607
609
630
622
616
611
612
609
622
606
624
628
629
632
623
610
635
632
617
614
626
633
634
604
611
614
632
632
622
628
608
614
601
609
611
613
637
621
610
626
613
616
611
620
614
632
614
606
618
610
608
605
614
623
608
606
616
606
618
606
633
623
610
616
624
613
632
631
634
609
632
614
620
634
604
621
619
609
615
626
618
609
610
628
625
605
629
607
607
612
611
615
606
604
625
613
603
610
628
603
604
614
621
602
623
602
620
605
617
603
638
623
610
617
611
609
605
609
623
639
611
613
612
617
630
631
626
618
605
608
627
619
638
617
622
613
617
616
617
611
617
639
621
607
620
606
622
603
608
630
605
621
616
600
610
630
620
634
611
615
609
626
626
620
612
625
618
638
619
608
605
611
640
609
620
615
631
616
638
622
603
612
605
634
632
613
618
610
613
617
625
616
613
611
631
613
628
617
626
617
614
625
603
627
626
604
640
615
626
603
608
604
616
614
635
616
617
625
608
611
627
633
631
618
621
606
636
611
611
617
608
604
606
610
602
611
606
638
629
626
618
610
607
636
611
622
630
621
623
619
603
606
606
610
600
617
608
610
617
605
611
620
609
612
603
621
608
626
602
612
609
635
604
603
603
635
614
606
618
621
620
610
608
622
627
631
604
611
626
607
617
622
604
622
631
634
601
604
605
629
608
621
623
602
609
625
622
609
639
623
639
639
622
608
619
630
619
629
605
631
620
621
632
623
610
618
610
605
616
620
607
617
613
617
606
614
631
603
602
612
611
608
604
618
615
609
611
630
603
636
605
605
604
603
613
617
621
628
612
613
603
630
607
624
601
611
628
626
602
622
621
614
613
623
631
610
618
630
615
614
622
623
621
616
601
606
609
606
614
618
606
628
613
608
631
623
618
613
608
630
614
613
626
612
632
631
640
640
610
629
617
614
610
616
613
608
615
605
612
607
621
607
613
613
626
632
608
612
612
618
609
605
623
616
630
634
616
620
616
639
614
638
623
614
616
632
610
612
603
623
603
617
618
635
622
606
632
634
615
639
613
612
621
608
614
605
619
631
603
623
626
615
623
635
628
616
622
602
627
614
605
617
622
635
609
614
610
635
607
614
611
603
611
629
611
635
620
628
604
605
611
629
629
609
627
611
613
609
617
608
610
610
631
611
636
619
611
617
614
611
624
608
620
614
606
609
619
635
609
613
607
607
609
615
613
609
613
603
637
599
622
637
606
610
625
631
639
614
614
618
609
621
624
617
635
625
635
613
611
617
620
615
625
628
603
619
605
606
639
602
635
635
608
617
604
624
613
604
627
632
623
629
601
610
616
628
609
632
621
622
619
614
614
605
609
628
631
625
609
608
620
619
627
616
623
618
606
619
617
625
631
613
622
623
632
603
628
609
621
632
619
614
621
618
640
629
610
622
629
603
604
612
626
619
611
608
628
627
611
604
614
614
610
606
610
608
628
606
626
623
605
632
631
607
605
615
624
611
615
622
612
614
630
626
607
618
608
620
611
606
639
632
626
627
606
621
639
619
626
635
614
622
617
622
606
616
602
604
628
614
614
627
614
611
622
612
614
622
612
607
606
620
629
616
611
639
638
609
617
612
606
615
608
632
609
623
620
618
617
632
608
618
614
629
621
627
605
610
618
617
630
614
609
605
635
602
604
637
639
631
613
624
622
612
629
621
604
614
608
626
606
604
605
629
621
625
603
612
603
624
619
630
608
615
615
609
613
610
630
623
619
635
639
616
624
610
631
613
607
630
629
617
628
631
610
619
626
611
628
614
625
607
615
626
616
631
626
606
606
623
609
617
622
616
621
614
619
612
602
626
609
630
614
609
616
606
612
634
631
615
631
631
613
638
621
621
625
610
605
623
601
607
620
639
607
626
616
612
639
631
625
631
612
608
626
604
606
639
615
629
605
628
615
639
636
614
619
604
610
624
639
626
619
609
602
611
612
609
614
639
624
614
625
612
611
617
624
604
631
624
611
636
617
623
609
603
639
628
612
632
638
603
617
606
618
602
611
611
607
609
603
617
603
599
607
601
607
632
608
614
610
614
612
612
612
614
613
616
615
609
611
605
603
619
623
622
625
614
604
632
618
613
611
632
623
634
619
602
609
600
627
606
609
612
628
608
617
615
617
607
625
623
614
616
626
614
639
622
613
616
625
622
611
616
632
631
631
615
627
612
615
612
613
623
616
602
616
611
630
602
603
628
606
634
632
606
610
617
614
614
616
605
609
622
603
609
609
612
612
604
634
614
617
607
602
605
611
610
611
613
613
619
626
614
613
607
603
622
605
611
606
607
615
609
613
627
616
605
616
608
632
626
606
614
623
607
606
630
607
640
614
602
611
604
614
612
619
630
608
607
628
623
623
613
608
614
628
601
628
617
624
621
603
614
607
631
621
622
612
627
622
610
622
634
613
620
616
618
618
602
625
619
639
614
608
630
608
622
616
614
603
628
605
602
639
623
626
611
635
611
613
608
622
630
604
619
618
611
624
608
614
610
604
605
612
622
635
605
625
613
615
612
619
617
623
623
637
611
622
608
611
608
609
622
623
608
619
623
612
610
606
607
606
639
634
627
611
604
611
607
604
616
608
626
631
613
615
617
607
623
626
609
611
604
635
629
627
608
613
617
640
631
614
615
607
604
609
617
624
630
610
619
618
623
620
604
611
611
617
605
615
616
602
601
608
634
604
632
612
626
637
625
613
609
620
603
610
604
612
621
611
606
631
610
619
625
607
603
619
631
614
614
613
614
630
614
608
624
604
605
613
615
608
611
618
620
613
631
606
623
617
639
603
610
607
612
603
612
614
632
626
617
612
621
631
604
620
622
639
608
608
613
607
615
623
630
639
627
619
620
637
630
604
629
616
629
634
607
631
604
612
616
624
610
615
608
603
629
611
612
614
626
611
624
629
613
612
640
603
629
616
634
609
632
614
609
630
610
634
630
610
618
621
622
631
613
627
612
617
603
619
615
625
613
631
606
619
632
612
627
613
602
614
617
613
613
608
616
632
606
608
609
616
602
609
622
632
615
614
630
617
619
617
631
637
626
620
627
610
623
610
609
635
605
624
613
609
634
605
605
634
626
609
604
615
613
608
610
617
606
622
617
612
608
608
610
629
604
606
619
620
626
626
613
632
617
639
620
608
623
639
632
609
609
600
601
626
610
630
624
617
616
627
615
617
612
625
608
604
627
632
602
607
623
622
602
619
620
623
609
626
629
630
625
626
606
610
615
618
614
617
639
604
620
617
611
609
608
615
621
603
610
606
614
631
609
628
635
612
632
608
619
602
603
614
632
631
624
631
624
620
605
614
607
605
629
605
611
628
632
623
608
616
617
611
628
634
617
631
617
630
619
614
617
608
605
604
631
629
616
611
618
633
618
622
608
623
607
639
624
614
629
623
603
622
610
618
615
619
606
615
617
620
629
625
607
610
632
608
614
617
617
609
609
611
630
613
628
629
614
606
615
602
617
609
639
611
614
628
612
621
620
627
603
615
619
605
611
604
607
623
616
635
616
625
616
611
614
604
614
613
620
626
607
602
607
606
620
611
612
619
606
612
625
618
620
618
626
608
610
617
639
623
606
603
623
612
616
611
609
628
630
615
621
620
605
635
631
605
609
617
631
637
604
634
634
616
609
612
606
636
612
624
603
610
612
624
615
623
604
623
609
612
624
613
613
613
610
613
620
620
618
631
612
614
631
604
611
639
615
631
607
603
605
607
632
632
609
607
622
632
616
626
612
605
633
606
617
606
621
610
607
620
606
606
632
619
622
612
614
606
612
635
639
622
610
635
599
623
632
606
609
614
609
621
632
625
614
613
617
627
632
621
633
625
627
611
627
604
607
621
605
605
607
629
612
607
607
631
621
608
609
609
604
618
613
626
605
628
629
610
619
629
616
621
628
609
600
618
613
617
603
624
635
611
623
619
606
622
622
626
617
629
608
609
614
618
631
613
620
617
620
631
610
615
606
625
621
632
613
625
630
605
614
627
605
623
617
609
604
620
620
626
610
627
611
617
615
615
630
614
617
605
625
613
618
608
617
610
632
616
616
614
623
632
616
620
620
611
603
625
610
612
619
630
601
622
615
603
618
628
627
613
604
624
616
632
620
613
603
608
625
619
608
639
629
614
607
615
628
607
605
617
636
599
618
610
604
609
617
605
613
619
627
607
614
614
619
609
618
631
609
632
617
632
617
628
613
636
622
617
610
602
616
610
626
630
603
622
634
626
623
609
613
628
614
625
618
613
607
622
621
613
608
609
604
626
628
612
619
606
611
609
629
632
623
605
612
625
601
606
605
610
632
628
615
635
604
634
619
624
614
617
614
610
638
623
613
609
605
599
612
609
639
626
625
621
609
615
625
618
606
626
608
610
615
605
624
615
605
626
604
608
610
616
622
609
616
629
611
604
610
627
614
618
617
626
621
634
631
608
609
626
621
614
619
625
605
605
635
607
607
631
608
630
615
635
609
614
639
619
606
607
611
606
606
615
602
632
606
625
614
603
599
609
621
622
615
630
617
604
615
609
620
610
623
631
634
617
617
614
618
614
621
613
628
630
605
609
632
631
614
621
627
609
639
620
606
627
603
622
607
608
631
623
610
629
629
609
617
613
614
628
615
628
619
617
621
631
615
634
609
622
611
621
620
615
612
606
626
603
604
622
617
633
615
633
621
607
603
622
607
624
623
631
614
620
615
626
631
635
627
631
640
627
612
618
612
625
607
632
618
609
618
613
607
610
626
607
617
605
622
615
632
614
613
602
606
633
603
611
627
622
618
614
621
609
631
617
611
612
601
619
612
614
600
613
606
630
634
612
623
604
603
631
604
622
613
609
621
619
614
604
606
612
626
622
623
624
626
627
627
615
615
614
632
619
614
626
633
613
623
614
608
613
608
622
602
622
625
639
611
602
618
620
632
603
617
621
614
612
614
616
606
614
614
628
629
615
606
612
632
615
617
608
612
608
609
608
628
611
626
632
630
625
607
632
617
611
616
626
603
626
625
617
608
607
627
604
609
613
620
617
618
612
613
621
613
622
604
612
635
619
626
611
613
605
609
604
639
632
618
613
605
620
606
629
631
630
628
613
608
612
605
620
618
606
608
618
622
609
613
612
606
635
614
622
612
605
619
631
623
606
619
623
605
620
616
611
631
612
629
613
619
626
628
620
636
613
613
608
612
623
628
604
616
618
639
625
620
631
631
604
617
613
623
609
604
603
617
606
610
607
619
605
621
622
605
613
617
626
607
636
608
609
611
622
606
600
616
609
607
615
623
613
622
617
613
625
599
632
608
618
604
613
617
624
619
636
634
615
626
627
634
604
609
628
622
608
614
602
605
621
614
622
614
622
603
613
602
631
631
621
616
614
619
613
632
603
609
609
608
616
619
630
609
608
603
635
622
613
619
630
613
619
613
625
613
622
607
631
606
627
635
631
623
634
617
611
631
615
630
616
607
619
604
609
607
616
611
608
629
626
600
615
630
602
620
614
602
629
634
611
628
603
626
615
630
611
625
604
604
611
635
618
607
630
615
606
622
621
638
606
629
604
605
612
635
634
605
623
615
604
621
617
615
604
624
614
605
613
626
631
627
609
617
607
618
619
634
631
622
635
622
636
605
605
631
617
627
626
620
613
608
625
619
626
603
635
617
625
628
632
631
615
606
616
601
604
601
605
608
606
631
632
631
632
625
622
612
625
621
606
611
621
631
626
606
613
608
602
617
609
626
607
619
625
635
614
624
631
625
620
620
629
613
608
617
621
607
613
606
605
608
639
631
608
629
619
611
606
621
626
626
610
625
634
639
614
627
618
632
614
610
606
612
623
609
629
608
618
611
623
639
618
617
630
622
618
609
617
612
634
607
630
615
616
619
623
605
617
622
614
609
626
615
607
608
608
610
615
611
614
614
609
629
604
611
636
617
623
619
606
620
630
635
623
619
624
617
605
619
612
613
610
622
611
620
622
622
615
639
622
617
618
612
618
610
625
639
605
614
626
615
630
632
625
621
605
627
619
628
632
611
637
626
622
607
617
623
629
605
619
612
635
639
626
640
608
603
606
614
605
637
620
622
614
631
603
617
609
606
615
604
623
610
625
608
631
618
613
618
619
606
607
609
616
633
617
616
627
618
624
607
616
605
617
605
608
611
634
617
600
606
627
618
604
612
624
610
621
630
613
617
607
621
629
625
629
611
604
603
630
604
606
613
607
606
604
603
608
626
621
623
620
617
625
604
603
623
635
604
624
621
603
622
614
631
614
603
610
617
619
621
639
603
627
603
610
607
623
606
605
631
634
614
614
626
620
616
620
631
618
622
608
612
613
624
623
604
625
629
609
629
615
604
639
632
630
615
631
626
608
608
626
609
607
623
620
621
610
629
603
635
614
626
620
603
626
631
632
622
601
608
623
636
610
633
615
606
615
603
611
614
623
605
625
634
628
633
614
616
626
607
603
622
601
634
623
621
612
626
608
629
624
625
618
620
633
606
608
624
604
610
606
616
633
609
613
624
630
602
602
607
629
625
611
640
619
625
617
623
618
609
632
602
619
611
616
623
620
628
610
613
606
623
605
622
609
608
623
639
613
626
604
605
626
622
613
617
613
618
624
621
632
601
622
613
628
631
618
630
615
618
618
611
621
610
631
607
621
627
611
610
617
630
613
620
602
624
626
626
625
600
635
614
615
614
620
633
615
608
631
603
626
611
610
626
628
609
620
621
609
635
609
626
626
629
603
622
632
614
625
605
621
628
615
612
616
607
612
613
612
635
622
623
625
614
622
619
632
619
625
606
622
616
607
600
617
618
628
604
627
608
610
617
610
628
610
620
611
615
619
608
616
608
626
630
639
616
619
623
609
620
615
611
622
601
613
608
605
614
602
631
608
611
610
615
634
605
609
617
610
599
619
623
610
617
630
613
620
622
611
603
635
640
607
606
617
608
612
608
607
631
629
609
633
619
611
636
625
628
617
604
612
633
613
605
618
623
629
621
617
621
612
618
617
616
608
623
612
615
620
604
614
620
614
612
625
624
603
629
634
623
622
613
607
613
612
629
625
609
624
612
610
632
612
639
611
608
608
631
608
616
615
622
613
617
613
626
625
607
631
604
604
611
621
618
605
611
604
617
606
615
622
610
632
634
631
639
607
632
612
629
604
616
603
622
617
605
612
608
609
604
619
633
616
616
609
610
638
621
622
604
605
634
627
610
614
611
607
618
615
614
608
621
605
604
622
621
612
631
614
617
617
609
616
617
640
603
605
606
627
606
618
606
612
609
604
622
627
615
613
604
617
625
603
614
609
620
609
602
606
607
607
620
622
625
626
611
635
603
619
629
625
629
619
624
622
630
630
606
622
639
614
603
617
613
631
632
618
605
632
614
601
611
608
626
624
619
623
620
614
614
633
630
608
619
607
621
611
608
612
617
634
634
623
639
605
620
620
607
620
633
606
614
604
638
605
631
624
617
619
602
614
617
610
608
628
602
608
619
602
605
614
608
631
621
615
633
607
619
626
630
613
621
615
622
620
618
603
607
620
603
612
632
621
619
602
604
618
629
632
625
615
614
614
609
608
635
614
625
619
622
630
609
617
639
626
609
615
609
604
623
608
608
630
616
623
625
629
632
615
631
605
606
630
629
611
618
620
611
631
615
612
619
610
612
604
625
621
604
614
614
607
602
614
604
617
632
624
621
614
632
611
604
632
625
611
604
622
630
603
614
602
629
631
617
603
613
624
599
621
606
625
634
631
612
607
633
605
607
631
603
626
623
613
621
622
622
625
639
623
618
626
627
639
608
625
606
607
604
620
611
639
622
607
611
608
623
610
621
619
630
624
623
612
635
606
624
612
635
622
615
619
605
604
616
632
623
617
605
619
625
624
631
604
606
628
630
618
613
634
630
629
617
639
621
611
604
619
603
608
609
605
632
608
605
623
605
624
615
607
614
623
625
632
607
629
626
605
605
610
620
629
611
619
607
603
633
607
623
613
626
612
629
603
609
605
603
613
627
608
629
602
623
632
636
619
612
613
640
640
620
623
626
630
627
621
636
616
616
616
633
616
620
617
631
609
608
603
625
619
611
613
608
606
615
617
613
604
619
618
614
631
618
607
618
602
622
608
621
609
614
615
601
616
614
613
618
603
630
613
606
614
609
619
600
624
639
618
632
631
621
605
625
610
631
614
612
629
639
619
622
615
619
607
609
639
622
627
605
615
608
614
605
625
621
623
633
616
619
608
610
606
616
613
602
615
631
624
609
632
607
626
614
607
614
634
601
608
617
625
614
639
609
633
613
617
620
616
613
602
629
613
619
614
632
606
614
607
607
616
610
624
639
615
634
638
603
625
613
630
613
613
619
614
635
601
620
622
604
617
614
604
607
622
632
631
616
623
617
631
615
618
623
622
607
639
609
631
614
632
604
622
608
619
631
612
613
608
609
607
613
612
605
608
611
624
602
613
618
606
629
623
614
630
622
623
603
617
603
631
603
639
615
604
639
610
620
621
607
608
618
619
636
622
639
626
629
623
605
626
614
626
608
609
619
607
617
632
617
632
618
605
612
612
609
623
606
621
620
632
631
615
609
625
619
612
626
636
619
625
599
611
621
613
626
605
609
609
629
629
619
614
621
604
617
619
630
613
626
619
606
621
613
604
611
613
617
603
639
630
619
602
606
613
627
610
634
632
605
625
621
606
608
613
609
628
612
639
633
608
624
615
610
630
612
612
605
630
623
631
639
613
618
621
627
622
611
610
632
613
615
633
602
613
624
604
607
623
604
616
606
608
610
614
610
620
609
601
624
621
606
615
635
635
602
614
618
612
604
616
623
608
622
606
610
615
603
619
618
603
620
631
612
610
614
610
623
620
616
615
622
611
632
630
624
628
615
610
632
609
611
608
614
615
604
610
621
629
611
619
627
606
622
630
608
610
624
612
621
607
625
624
625
607
626
620
615
599
606
608
611
631
627
612
609
617
614
606
631
606
613
636
611
616
606
617
632
618
623
614
608
632
617
608
618
617
616
605
611
624
623
635
625
628
610
615
603
627
626
605
614
608
608
613
620
604
625
639
623
612
608
621
624
615
610
623
614
637
625
614
634
620
621
610
614
622
634
631
611
619
623
602
630
632
630
614
609
631
611
623
614
604
634
634
614
633
626
621
612
619
635
612
612
617
610
606
628
621
604
639
621
607
612
607
603
630
637
610
638
612
625
626
617
619
613
631
629
618
610
614
608
634
624
635
614
617
601
627
629
617
613
625
606
639
634
606
622
633
618
608
612
625
611
605
613
628
616
602
627
614
625
622
615
616
605
614
633
615
617
613
628
639
610
608
610
622
610
626
610
618
620
629
631
622
608
617
622
635
607
612
639
606
612
630
616
632
613
626
613
607
631
606
623
605
631
604
614
622
614
625
610
621
615
620
634
608
610
614
631
611
611
606
625
620
616
627
619
614
632
615
637
614
639
613
614
628
618
604
621
612
634
608
609
605
635
631
638
609
605
629
614
629
632
626
632
622
632
602
609
631
635
626
609
619
625
601
603
613
632
632
610
603
606
614
606
614
609
609
623
605
601
615
606
607
616
618
607
613
612
621
635
617
632
621
610
621
606
605
611
603
601
634
639
602
608
621
614
607
604
614
622
602
603
607
611
610
618
618
617
633
637
621
616
623
615
603
626
608
615
622
623
605
620
625
606
640
623
615
630
632
610
623
619
623
623
629
635
617
612
636
605
608
615
629
629
625
622
620
617
616
603
612
616
605
633
622
624
604
616
605
617
626
608
612
613
604
617
631
628
611
635
616
627
614
631
617
625
631
624
609
629
614
617
603
608
620
626
613
610
613
609
616
614
619
609
611
604
619
617
628
610
627
631
613
640
639
608
618
623
613
629
624
626
627
635
610
625
614
617
623
639
603
613
639
611
603
623
609
618
609
613
620
613
606
608
615
630
638
612
624
626
618
628
621
613
606
599
625
634
626
608
640
607
617
620
626
614
624
614
624
621
621
609
615
606
629
620
623
623
604
608
621
631
616
614
606
614
613
611
635
607
631
608
632
617
611
629
626
622
607
613
616
610
617
606
607
635
625
603
614
623
639
625
626
620
612
609
617
624
611
623
614
619
608
605
614
606
635
618
606
603
604
631
604
610
619
634
626
603
613
611
626
624
604
624
641
610
618
605
611
608
623
599
622
608
611
607
630
619
625
631
626
626
629
626
622
631
614
622
623
639
610
605
613
623
635
620
607
607
631
604
639
623
637
626
633
613
624
621
604
607
615
616
628
612
605
622
613
612
623
623
632
623
621
608
604
609
614
603
624
623
623
606
614
628
624
605
630
610
610
617
617
622
604
613
619
606
619
605
609
613
635
622
612
619
634
612
613
608
635
618
622
602
606
617
634
622
608
603
637
614
609
605
606
613
607
631
639
616
617
617
602
609
639
611
620
608
614
624
628
616
603
613
632
618
632
631
608
631
618
617
618
612
614
623
616
618
634
631
605
620
605
604
629
618
623
622
619
623
633
635
616
608
606
603
609
632
640
618
601
607
606
618
616
614
607
620
609
627
614
635
609
614
622
615
639
603
620
632
604
612
635
631
626
621
620
623
605
632
622
634
625
613
635
620
614
610
619
639
629
629
608
636
640
606
632
606
604
636
621
629
614
612
607
621
603
607
639
619
608
621
629
620
610
612
607
626
626
623
623
617
613
634
615
603
619
639
610
620
615
605
626
603
622
610
608
628
635
624
604
632
610
640
613
603
613
617
615
617
624
623
599
625
609
619
612
610
623
604
615
606
640
634
607
639
613
608
619
607
631
609
608
622
637
603
620
616
606
605
613
629
621
607
626
622
618
605
608
615
606
614
615
606
639
609
608
620
622
609
601
619
609
639
605
625
616
613
603
605
606
616
615
609
609
626
610
628
605
613
617
610
627
635
606
626
604
607
616
622
607
612
611
615
620
604
613
609
633
623
602
612
613
620
622
618
620
617
633
606
614
613
629
623
613
620
607
613
617
607
615
634
629
625
619
607
622
612
602
622
608
619
603
608
635
623
632
629
623
619
618
617
636
603
607
606
626
607
623
604
629
635
623
633
604
635
629
629
633
603
618
616
612
626
615
608
614
608
606
605
612
611
605
631
614
617
604
635
634
613
624
640
624
615
599
601
617
631
635
613
634
603
609
604
604
629
604
631
624
610
614
609
600
625
620
632
606
611
639
611
622
602
609
606
607
604
608
608
619
610
630
635
612
639
626
627
604
611
615
611
634
607
614
617
616
630
603
614
615
615
610
607
614
609
626
615
606
623
625
605
639
629
629
630
606
618
604
625
613
614
605
605
605
619
632
623
608
631
629
606
629
608
610
626
618
634
626
628
621
613
612
603
632
618
629
618
604
609
620
618
609
619
622
612
623
628
615
603
608
627
600
614
623
627
617
630
632
615
608
605
632
606
629
605
639
614
613
635
615
639
615
625
625
623
623
612
627
626
620
604
613
613
609
631
603
615
632
605
623
615
626
631
628
624
623
609
623
608
617
612
624
609
610
609
617
608
617
620
619
614
606
603
617
603
609
611
608
625
623
635
623
615
620
611
628
628
627
617
605
606
613
625
609
621
610
602
610
612
604
615
607
613
633
605
613
623
615
632
616
617
639
617
610
620
615
630
617
608
612
608
639
623
616
617
616
611
607
613
614
606
632
634
619
616
623
622
623
609
632
603
613
624
621
623
604
612
626
615
615
610
632
633
623
608
633
621
639
613
618
614
635
607
604
619
602
602
604
629
616
607
627
624
619
610
609
616
609
632
639
609
622
607
625
618
614
625
634
602
630
639
603
606
602
617
606
614
608
628
609
609
637
611
617
622
609
608
618
614
611
614
618
610
622
612
608
613
604
608
604
622
626
631
619
622
634
627
617
622
604
620
609
614
614
621
603
638
631
616
616
608
608
628
607
616
610
614
611
616
628
602
614
612
617
614
611
607
602
602
603
624
622
633
603
613
617
609
620
623
608
616
610
631
630
636
624
609
613
604
622
606
609
621
630
631
614
607
607
606
604
606
610
623
629
622
607
604
601
615
628
604
610
617
631
611
622
614
614
628
603
625
627
632
621
615
599
618
613
611
622
604
623
632
629
608
618
616
625
637
619
604
627
610
624
615
618
609
624
622
626
619
631
607
617
631
614
603
603
617
617
632
629
607
623
639
606
622
615
620
610
608
618
612
608
630
618
605
617
632
625
627
622
606
610
628
609
623
639
621
621
635
623
636
620
606
605
612
608
631
623
612
616
625
622
603
623
618
621
608
626
621
622
611
620
610
624
614
615
610
631
620
626
608
609
610
626
624
619
631
620
632
611
627
631
627
603
626
629
620
631
621
630
608
639
616
613
608
625
605
606
620
626
603
619
626
603
602
609
615
605
610
632
634
624
624
604
609
625
607
640
636
614
634
604
613
606
617
608
614
609
610
619
614
613
612
618
639
603
629
607
608
625
635
609
603
639
605
615
618
618
605
616
614
637
609
610
614
632
625
602
607
614
622
622
605
639
611
610
617
623
634
606
639
625
620
619
611
613
613
612
627
615
613
608
622
640
625
605
613
603
628
613
615
626
626
634
623
629
610
610
623
613
623
615
621
636
611
605
609
603
616
608
622
600
621
634
604
627
620
608
614
612
611
610
604
632
631
634
630
610
631
603
639
606
623
628
603
629
613
613
604
628
609
632
605
605
620
632
602
624
631
631
619
614
626
610
602
603
607
607
614
620
610
635
628
616
630
615
608
615
639
617
635
618
611
605
626
620
626
630
616
620
620
615
609
607
620
602
631
614
609
613
619
620
614
635
614
606
620
604
613
629
620
613
626
625
611
616
608
623
618
610
632
613
615
625
631
620
625
610
620
604
605
603
614
634
621
613
613
629
639
639
608
623
612
609
603
630
627
631
632
608
616
606
616
625
610
614
614
612
606
629
618
625
636
622
631
609
608
624
621
612
621
609
635
614
620
612
628
631
606
637
611
607
613
608
616
609
607
639
626
622
610
608
603
625
607
612
631
615
628
617
626
613
614
607
604
631
623
617
625
610
619
632
621
601
628
606
632
609
609
610
617
617
602
609
612
612
610
605
626
610
604
610
626
614
601
618
613
626
614
638
619
613
614
633
629
631
624
609
631
638
614
611
611
623
624
626
634
606
629
639
621
631
603
628
609
621
624
611
623
607
606
608
605
630
617
604
611
622
625
610
610
609
603
630
607
627
623
607
610
619
608
635
610
617
609
609
630
636
629
606
632
612
629
623
605
635
625
617
620
626
608
616
635
621
634
620
604
609
608
607
623
614
616
630
609
609
613
624
610
618
610
634
632
611
618
608
607
616
618
631
620
617
627
633
603
635
610
621
609
603
604
616
626
606
614
603
610
623
632
619
608
615
622
607
616
614
602
617
617
605
624
617
606
631
606
634
613
608
606
613
606
621
623
619
611
631
623
619
617
609
617
613
611
614
623
622
606
631
602
614
629
608
625
616
623
599
635
622
639
625
616
617
611
613
607
606
610
608
616
609
602
616
631
612
603
613
610
624
609
621
628
638
617
639
617
603
626
610
604
620
608
608
612
631
611
619
602
629
634
623
620
621
620
607
607
616
617
604
629
617
605
623
605
609
622
629
629
602
628
623
622
614
632
610
627
611
616
611
613
617
632
614
601
611
612
608
611
607
615
606
610
615
635
611
637
618
624
631
626
615
627
620
610
603
621
623
605
613
614
614
620
639
603
615
617
606
628
621
616
621
610
616
627
639
606
610
619
629
620
618
615
602
611
613
619
609
605
610
639
606
621
602
609
620
619
632
614
609
608
614
618
617
633
620
611
622
610
617
631
633
628
601
609
599
629
640
631
612
607
615
632
629
604
617
613
607
618
603
608
608
611
620
625
613
621
603
613
630
620
622
621
620
622
639
627
607
605
631
627
606
615
605
611
605
615
605
626
621
614
617
624
631
635
639
628
622
607
625
623
632
639
607
626
610
608
621
620
613
626
619
618
611
634
613
615
623
618
618
610
604
623
609
636
603
610
613
615
599
623
617
638
620
602
614
617
612
608
627
610
619
623
616
626
623
632
612
618
610
617
622
611
603
634
634
632
607
603
635
618
631
599
604
621
631
606
610
615
624
617
607
613
610
608
620
621
620
603
622
604
634
608
637
640
620
611
602
604
610
633
615
619
613
621
617
614
619
614
617
610
635
604
615
631
634
607
624
620
634
620
631
620
609
619
618
621
607
610
604
632
632
609
617
631
606
621
629
621
614
632
612
618
620
604
634
608
603
619
605
634
601
611
608
630
613
632
615
605
614
600
629
630
629
611
617
625
622
608
611
603
620
625
610
604
622
617
619
604
611
616
626
604
640
632
636
620
616
604
611
626
621
633
627
608
616
632
611
614
615
634
622
604
626
626
607
603
608
635
625
610
599
631
621
610
611
603
618
603
619
609
609
609
617
613
609
619
613
617
627
609
624
613
608
626
618
606
635
608
627
604
622
617
622
605
609
631
639
631
613
610
624
617
611
603
604
635
631
606
630
605
624
621
621
613
612
613
620
604
625
630
617
626
639
610
613
614
626
626
625
611
612
607
639
635
625
612
616
605
629
623
618
630
626
610
609
603
617
637
636
611
605
624
604
613
603
612
612
628
608
604
624
603
615
621
608
610
605
633
632
620
627
621
626
616
617
625
631
613
620
610
619
605
628
639
626
630
615
617
630
609
614
612
613
613
607
616
620
631
624
622
639
623
606
608
605
625
617
620
622
607
615
632
614
632
625
610
612
617
630
617
607
631
610
639
611
637
615
614
632
623
607
611
634
621
609
600
621
622
639
631
614
622
610
608
616
617
609
626
611
611
621
611
631
607
613
606
599
619
613
608
606
610
608
620
617
618
606
636
617
616
603
612
629
621
612
604
625
607
640
631
623
611
628
609
603
620
602
614
613
603
632
628
621
629
604
607
631
619
639
614
613
612
639
610
605
618
610
612
603
607
632
619
605
637
634
620
611
622
625
615
610
626
624
611
607
623
605
612
612
613
628
621
614
615
625
606
610
619
636
617
610
618
609
638
636
627
621
625
621
610
610
623
605
603
614
618
623
639
623
621
620
605
610
604
639
620
613
604
630
619
635
617
599
631
613
614
607
618
631
610
617
611
617
611
631
622
621
616
612
605
623
614
632
613
627
616
608
611
604
631
608
608
631
623
608
622
617
608
640
632
625
605
626
636
621
610
630
622
631
617
631
615
619
615
623
639
602
631
616
621
621
608
623
605
611
617
608
613
632
605
623
622
623
605
620
626
611
636
631
614
620
607
631
614
621
614
617
614
608
617
634
618
627
612
617
631
611
610
632
614
612
614
608
632
608
608
629
608
615
608
606
602
608
614
606
639
625
619
626
611
639
604
613
616
610
629
631
621
613
623
612
604
615
611
631
609
609
632
606
615
614
622
616
635
623
623
614
610
618
606
630
611
614
603
628
627
616
608
608
613
623
629
616
608
618
609
626
626
620
603
626
621
625
613
608
635
606
629
621
611
618
633
619
613
621
620
609
607
609
639
621
609
608
627
620
632
639
632
627
634
606
632
629
621
601
601
609
612
604
613
622
631
625
632
612
624
639
604
626
635
628
616
614
607
620
604
609
617
611
631
624
623
623
629
628
629
631
627
616
630
612
605
614
612
604
617
617
604
605
614
621
604
608
625
623
618
611
609
611
606
636
611
608
617
614
626
633
611
609
623
608
625
626
611
609
625
602
639
599
625
616
614
631
614
624
631
622
632
631
602
609
614
609
630
619
622
616
608
617
609
612
639
624
618
626
617
619
602
619
618
625
632
617
630
622
635
601
612
623
608
629
620
621
603
639
619
614
630
615
619
608
601
613
606
609
610
620
626
629
624
607
606
622
603
638
623
614
632
627
636
610
605
609
625
603
631
631
625
610
618
628
606
606
608
639
625
631
610
613
631
609
610
626
620
640
623
622
621
605
605
614
625
601
624
620
615
625
620
621
612
609
603
604
606
605
631
601
614
627
614
626
634
631
608
616
625
616
623
623
614
616
630
623
631
630
613
632
606
620
624
635
609
603
638
626
630
626
609
623
605
617
615
610
631
604
603
632
610
603
617
616
617
607
607
608
607
608
631
635
610
611
621
627
626
622
614
607
630
628
623
610
608
626
607
636
614
606
610
635
615
610
609
628
630
624
618
635
620
611
635
617
614
608
622
611
609
626
632
620
621
628
621
632
621
631
614
620
606
625
615
615
612
622
639
618
605
628
614
632
617
638
606
604
610
612
615
619
616
623
612
604
630
613
637
626
610
606
621
632
611
635
619
616
606
632
625
622
617
615
604
632
625
632
612
606
604
609
601
638
637
631
614
608
610
611
602
641
636
623
636
629
618
604
605
605
607
610
601
614
633
633
605
634
609
613
630
608
619
639
609
603
633
599
620
613
612
612
623
634
635
632
620
618
628
629
632
618
625
622
616
626
603
604
632
608
612
617
609
636
617
636
619
622
607
634
611
618
631
608
604
630
627
616
616
604
620
604
627
622
603
620
619
625
620
610
613
608
617
639
603
634
632
632
629
613
608
608
617
618
619
639
623
614
606
623
608
630
604
627
625
611
614
625
618
623
616
616
619
632
632
605
623
636
631
604
633
607
605
631
624
610
625
635
617
611
622
639
626
620
623
625
605
610
632
621
615
618
630
622
602
639
623
620
631
604
628
608
613
605
606
604
607
606
627
610
604
602
618
603
640
609
625
620
608
623
630
609
630
616
625
619
615
639
625
609
631
629
620
607
625
625
605
606
619
619
618
603
607
627
609
620
626
615
614
608
627
620
613
611
607
621
606
622
629
612
622
632
628
627
623
630
605
626
617
621
632
607
639
626
610
634
627
626
632
607
609
617
632
610
623
626
623
630
634
611
616
620
618
605
622
606
620
601
607
610
613
632
619
609
631
606
630
618
626
620
640
612
630
618
614
614
606
603
621
640
605
625
617
610
617
601
629
613
606
613
623
607
625
614
611
627
610
608
623
616
612
620
621
613
619
615
628
613
613
607
612
602
621
617
612
611
622
614
617
626
603
608
610
614
614
615
617
629
613
624
632
608
637
608
621
601
614
629
610
628
600
610
628
625
604
608
612
607
606
615
610
612
625
621
631
628
602
614
618
604
626
626
605
630
628
615
611
607
617
607
615
608
632
608
614
614
617
617
632
612
611
607
619
611
623
614
628
619
613
604
623
625
639
609
604
621
608
620
617
609
623
605
619
613
619
626
631
608
619
619
610
625
620
617
639
602
620
614
612
623
621
636
630
636
639
618
613
611
630
610
614
617
614
610
626
608
619
605
621
619
609
610
626
617
605
636
608
606
610
614
629
602
611
630
620
608
629
628
606
639
623
626
618
626
623
628
634
626
618
630
616
606
640
636
605
639
629
626
600
618
608
622
613
605
616
623
639
615
605
613
617
621
626
618
618
608
607
612
622
637
627
604
629
614
615
613
620
621
629
602
623
618
616
625
626
615
622
610
606
605
622
603
634
636
621
613
619
618
602
622
606
631
609
603
611
608
633
631
633
617
602
616
631
626
607
632
607
626
626
635
621
625
602
629
627
619
635
604
622
615
624
617
609
602
632
621
622
606
626
613
632
611
623
638
609
622
605
623
612
604
609
623
608
633
627
609
632
605
603
634
617
611
613
614
616
618
631
622
615
602
611
612
605
633
634
632
624
635
625
602
613
613
609
606
622
616
639
619
610
603
629
624
615
611
613
606
627
605
639
613
611
609
633
606
639
613
604
631
608
606
629
604
602
604
636
603
612
603
613
603
617
627
631
616
614
607
612
610
631
612
607
632
617
614
618
618
613
602
622
607
627
625
608
628
609
639
604
611
609
617
618
620
602
623
639
605
603
634
611
605
639
610
613
638
614
613
634
608
606
602
606
621
602
614
619
606
610
606
604
641
614
622
607
619
608
611
617
604
619
617
606
617
631
610
622
618
619
609
604
613
636
603
620
613
628
603
633
633
631
614
603
632
625
627
629
624
610
610
626
634
604
604
605
605
600
623
603
605
615
607
612
626
628
616
606
605
613
632
631
622
620
628
639
626
629
626
605
604
612
604
614
631
609
618
623
610
612
609
612
603
602
614
617
611
602
617
610
609
634
627
632
614
613
603
617
629
607
631
609
609
623
600
621
628
615
612
613
617
605
613
629
613
606
624
620
635
601
626
605
613
639
610
627
612
616
612
626
615
609
622
639
607
620
613
620
611
608
622
607
616
620
603
607
632
614
619
600
628
609
612
612
633
611
619
621
626
605
614
617
631
617
619
613
613
608
623
604
628
612
612
606
621
620
625
625
603
618
611
613
610
611
614
625
613
622
605
616
613
628
626
613
614
606
601
602
614
625
617
623
625
609
613
626
604
610
626
621
621
631
621
619
628
611
634
606
607
609
620
623
628
614
621
604
614
608
614
609
616
600
631
625
611
606
617
605
634
617
606
625
639
619
619
620
635
605
605
635
635
610
602
629
616
639
625
614
603
631
612
607
633
610
610
619
615
609
629
613
617
613
609
635
634
622
614
625
612
622
614
615
614
604
631
615
623
609
604
607
626
628
620
618
609
632
602
624
632
614
609
639
630
609
605
626
604
622
613
603
615
606
612
623
620
633
625
608
617
601
607
627
614
623
609
613
609
612
637
613
609
613
619
611
617
607
630
630
623
622
602
614
614
603
606
614
617
622
635
635
627
613
602
610
606
618
627
620
623
628
625
602
607
613
608
626
613
620
626
636
633
612
626
606
631
608
633
632
634
608
609
629
614
607
618
603
631
603
623
613
610
607
619
615
619
619
603
620
617
614
622
621
616
622
626
610
627
631
627
639
614
614
625
617
615
615
611
604
612
640
631
608
612
620
622
616
607
625
629
617
604
631
620
610
622
635
603
612
607
608
616
602
614
639
614
613
639
605
615
622
608
608
633
617
616
613
632
625
609
610
622
630
612
602
615
632
610
614
610
605
607
625
611
639
619
608
617
624
632
639
612
605
612
630
612
618
620
610
618
627
633
614
607
635
639
620
613
623
622
604
618
621
621
620
628
630
624
614
599
618
606
610
635
610
611
616
634
604
628
606
614
604
603
613
630
622
630
608
623
619
621
629
623
616
622
625
623
617
621
613
639
616
613
627
629
626
610
609
611
613
619
623
616
608
607
607
619
615
604
603
633
622
622
617
622
609
631
633
608
614
618
609
598
623
611
610
608
609
615
602
618
605
622
605
620
624
604
639
613
632
612
608
622
620
628
620
623
621
607
613
614
618
610
632
609
620
610
604
621
603
610
631
602
613
608
635
606
623
620
603
614
616
633
632
607
626
628
606
612
614
606
621
612
607
624
615
634
618
624
621
623
600
619
611
609
610
637
604
605
620
610
623
627
639
626
631
616
624
623
611
611
629
626
625
616
627
631
616
603
624
625
617
605
620
639
615
621
612
611
637
616
619
610
621
623
618
618
621
610
627
618
614
605
614
622
626
617
603
628
629
621
613
608
615
609
630
624
632
609
621
606
615
606
617
634
629
609
608
634
625
631
624
624
606
613
610
610
622
606
613
613
608
619
617
611
607
628
608
612
614
613
619
613
605
634
631
613
631
624
625
628
602
615
617
628
619
613
619
627
610
604
632
623
632
606
628
619
611
609
620
617
629
606
609
620
620
609
601
636
625
618
602
630
623
601
606
614
621
622
639
611
629
607
639
621
628
604
631
603
608
621
621
623
606
625
639
631
622
623
607
610
639
631
623
616
630
626
610
633
606
620
621
631
605
608
615
629
622
610
614
602
622
623
615
605
608
639
629
603
604
623
624
613
639
618
603
612
622
618
614
604
625
613
617
605
621
615
613
640
611
623
626
608
634
611
613
613
603
617
637
600
616
635
629
625
622
624
640
611
620
628
623
635
605
615
604
626
630
605
605
626
615
621
609
635
603
623
626
607
611
639
629
601
615
614
604
619
624
614
606
639
622
630
621
639
624
635
620
601
609
604
611
604
612
629
611
613
610
613
609
614
616
606
602
625
612
622
610
630
603
606
623
613
605
624
631
628
621
623
626
621
609
633
608
626
620
609
609
622
614
610
638
617
611
639
631
621
624
626
631
605
609
633
610
621
605
625
603
610
625
627
624
613
607
611
633
604
617
606
605
611
616
623
614
637
626
619
624
626
613
631
614
617
624
612
613
604
623
628
605
611
611
625
633
615
604
632
640
613
617
603
623
603
628
603
612
606
609
606
614
639
616
639
621
617
629
627
622
622
615
631
613
616
614
606
607
612
608
602
614
605
612
606
601
621
608
628
604
620
622
608
639
612
613
633
609
610
613
606
608
614
608
604
634
601
607
620
606
606
616
620
632
610
619
616
634
610
614
626
608
633
614
620
606
608
617
615
627
614
629
625
611
621
605
617
605
613
639
607
609
608
606
603
629
629
613
606
632
611
618
629
606
621
602
628
610
603
630
631
612
606
606
617
618
608
624
604
604
617
612
608
634
603
635
622
639
605
606
620
613
637
608
623
623
619
619
606
611
627
634
631
624
621
632
620
625
630
630
623
612
606
639
610
639
615
607
614
612
608
603
612
638
605
617
605
621
610
613
617
609
617
623
611
629
630
632
610
600
606
631
622
608
611
617
617
619
602
625
628
618
623
613
604
631
607
605
621
632
631
631
628
607
604
639
620
618
605
611
632
632
607
632
611
619
617
607
620
606
623
610
611
614
623
618
631
621
620
623
611
622
622
626
608
612
625
617
639
602
615
612
621
628
617
625
626
622
618
622
608
619
627
626
609
616
639
605
605
619
624
621
629
610
621
608
634
630
620
615
603
609
618
612
619
619
619
635
635
627
607
610
634
625
622
611
623
638
630
629
604
612
606
606
611
610
632
624
604
624
631
625
611
621
624
617
613
604
623
609
615
620
619
631
608
610
609
610
614
616
612
609
626
612
629
639
607
606
617
612
605
622
602
604
614
607
610
616
629
623
630
608
610
633
605
611
606
616
602
604
626
619
611
629
616
603
604
622
639
614
610
613
613
606
605
623
629
604
634
626
628
611
599
606
604
624
605
617
608
612
616
622
604
631
618
625
608
620
624
621
619
613
608
624
618
606
622
603
607
639
639
619
620
628
613
625
608
602
634
629
633
606
635
622
603
616
609
620
622
631
614
616
612
613
614
626
631
605
625
632
626
613
605
623
639
628
605
624
633
634
627
609
611
602
631
623
615
611
610
634
631
603
626
608
612
638
613
631
639
606
619
611
622
626
610
616
612
608
615
618
626
613
637
620
629
603
639
626
632
615
601
617
626
602
632
607
609
634
610
613
634
609
639
612
615
607
612
624
612
608
613
605
614
614
616
603
611
613
613
622
611
615
602
607
613
608
619
605
605
604
625
626
608
613
622
630
616
622
639
634
639
617
617
629
603
619
613
621
619
620
606
603
614
634
611
622
619
606
610
614
619
630
640
606
608
609
602
610
634
632
618
614
631
613
617
634
626
608
630
604
620
614
604
620
612
615
613
618
634
616
603
624
617
633
607
626
610
605
615
617
615
639
613
626
629
616
612
623
620
635
629
616
608
619
614
614
602
603
605
623
607
624
611
639
605
620
606
612
610
622
631
637
610
608
617
624
630
615
602
632
607
610
608
613
624
631
626
629
626
616
608
608
613
609
614
623
620
613
611
621
623
635
616
610
635
608
617
617
609
607
609
616
627
606
615
608
617
621
606
630
631
633
619
608
622
633
610
611
637
605
630
617
618
610
618
608
606
626
630
629
617
616
617
603
630
617
624
621
613
608
608
639
622
601
629
609
607
636
601
620
609
623
606
622
630
623
625
636
631
614
609
628
610
635
616
612
613
631
609
624
633
605
608
624
626
617
612
616
605
618
604
616
615
609
629
606
622
608
620
609
625
613
624
615
625
615
619
639
628
639
607
632
604
639
599
611
614
624
609
613
603
610
616
623
602
632
626
624
622
614
625
634
606
632
623
625
613
614
604
627
615
634
608
635
617
617
625
637
626
639
608
614
619
632
639
613
612
622
638
614
623
618
632
624
620
627
639
624
626
606
613
601
620
628
610
610
613
618
620
631
607
616
609
613
609
606
604
609
606
613
628
609
606
604
613
611
622
615
614
618
619
608
612
639
615
620
614
602
618
613
626
623
634
607
614
631
606
624
612
614
635
616
604
608
612
615
631
629
620
619
606
635
620
632
607
605
615
629
621
611
626
608
631
618
612
620
625
606
624
624
606
622
630
626
630
625
623
621
639
627
629
634
604
613
602
631
620
609
635
615
609
616
636
608
626
611
631
618
623
610
621
610
632
626
608
631
615
634
605
616
612
631
626
615
631
635
610
621
633
611
603
626
625
632
628
629
639
625
629
620
603
610
613
612
619
639
632
611
610
635
611
606
639
602
631
635
607
623
604
607
600
623
619
612
603
620
604
631
622
639
608
631
610
623
631
623
634
613
609
606
620
630
613
626
618
622
625
639
617
605
614
639
620
616
623
611
639
636
605
608
613
632
622
617
635
623
607
639
635
619
621
631
614
624
624
603
631
623
609
639
615
628
612
605
605
616
636
615
607
632
615
631
632
600
613
615
625
620
628
611
618
623
627
616
619
615
629
620
635
639
630
603
614
622
605
613
609
609
618
615
611
613
605
619
625
631
607
621
608
621
637
628
611
623
610
622
621
620
605
626
616
630
623
613
603
636
616
623
607
606
602
629
618
605
625
601
617
611
608
628
614
638
622
612
606
606
616
611
611
601
629
627
623
628
619
617
618
632
602
639
606
623
613
635
613
620
611
636
632
619
609
612
605
619
603
613
609
631
621
614
599
618
612
622
618
628
603
603
618
621
614
618
609
612
617
617
616
623
611
613
618
604
630
617
604
609
602
632
621
626
625
617
603
603
630
638
618
601
608
612
612
640
617
610
613
620
630
612
618
622
639
615
611
607
628
608
605
639
616
622
628
608
619
623
623
603
628
605
636
623
612
602
633
604
606
603
635
607
617
622
604
613
613
618
619
606
610
605
622
625
610
622
626
613
602
612
616
603
608
604
608
614
639
629
602
605
608
610
617
616
626
636
608
604
614
613
611
617
608
613
633
622
601
608
619
606
626
631
632
605
626
605
610
622
639
607
611
602
603
611
608
603
603
628
605
632
617
626
621
616
612
625
609
609
612
615
621
616
609
629
619
609
632
621
606
611
612
623
616
614
631
609
607
600
623
612
607
613
631
614
603
639
630
616
627
617
614
625
623
615
626
625
615
607
627
616
619
613
631
604
614
614
632
610
624
617
605
614
603
617
633
612
631
628
632
623
605
626
613
627
616
625
623
616
621
617
625
610
631
632
625
617
625
614
610
621
616
630
623
606
610
614
626
636
605
614
603
618
611
622
625
609
628
639
622
626
620
608
626
630
611
612
639
609
625
613
639
608
609
629
611
617
607
619
623
621
621
604
615
607
628
630
608
621
618
614
617
610
618
626
615
629
627
608
623
625
621
627
607
613
621
623
626
634
610
623
608
604
632
602
608
609
627
610
610
626
603
614
618
626
608
629
613
608
607
615
619
631
612
607
605
615
611
606
601
617
633
626
609
603
618
612
621
606
609
612
631
604
620
613
612
604
604
603
628
636
633
633
620
606
622
618
604
608
639
606
612
610
616
605
623
625
616
607
619
639
633
610
608
635
608
614
609
630
607
628
631
615
622
607
603
604
618
624
619
625
608
606
608
604
613
624
623
606
631
629
608
606
610
626
611
621
618
622
602
627
622
617
613
628
610
610
626
613
639
606
605
619
627
607
639
617
639
629
622
623
612
618
639
635
606
623
631
619
639
619
615
605
605
629
635
629
610
628
622
630
618
606
632
639
609
619
606
613
613
619
602
607
628
610
609
640
611
621
630
624
614
615
610
621
630
609
600
612
613
607
606
633
615
622
620
622
610
608
637
629
610
623
610
608
612
631
606
619
621
609
609
632
620
607
622
608
606
625
605
606
617
623
624
610
611
612
614
624
612
622
621
606
630
608
603
620
623
624
631
613
624
608
621
604
613
618
622
627
608
628
636
610
608
622
625
605
604
624
604
613
610
619
603
607
614
631
626
606
624
620
614
616
608
619
604
610
609
626
631
603
602
603
607
628
614
636
613
618
622
634
618
638
642
623
604
618
606
606
610
620
612
628
620
604
618
630
629
609
609
617
615
611
625
624
620
623
612
616
621
607
609
604
622
616
624
612
635
608
607
617
609
632
603
623
602
606
608
609
634
612
620
625
608
604
612
611
624
639
611
618
624
605
604
603
618
623
624
609
634
603
613
638
615
632
606
625
614
634
618
613
612
625
612
611
617
602
602
619
635
603
609
632
619
622
618
612
621
620
603
633
608
607
617
623
603
632
604
629
603
614
625
611
625
609
622
614
607
623
621
615
626
630
636
642
613
620
617
630
612
605
627
612
634
626
604
608
630
635
635
609
629
610
628
606
625
632
639
612
632
610
640
626
617
616
615
631
631
616
623
618
604
602
610
628
619
632
614
614
615
609
621
614
624
614
602
632
619
630
618
605
623
604
619
620
609
609
621
623
637
611
614
627
602
632
608
626
606
632
629
610
602
602
607
616
608
617
618
628
613
620
621
614
608
618
634
610
630
604
629
624
630
606
626
605
623
620
637
623
617
614
613
624
618
615
616
629
603
605
605
621
628
618
599
634
607
630
610
627
622
609
615
614
629
632
639
631
624
603
608
604
603
612
618
611
609
627
620
631
623
618
627
618
636
622
617
639
629
624
618
612
628
607
608
599
603
606
603
613
620
621
602
603
604
602
609
623
619
607
631
625
639
604
639
619
623
615
610
625
631
614
606
610
605
627
628
613
607
628
609
622
638
633
610
611
613
632
640
612
613
639
617
635
639
623
622
622
629
610
616
625
626
604
605
633
613
603
607
613
623
625
612
608
606
604
606
627
634
605
617
606
625
608
630
610
634
636
603
618
635
605
611
622
612
623
622
619
616
607
622
627
622
619
605
603
614
623
632
601
603
623
619
613
625
625
605
611
629
606
622
626
625
618
614
616
626
619
613
639
612
609
613
608
613
622
617
639
626
620
634
619
625
621
617
623
614
611
607
603
626
603
612
617
617
610
616
609
603
622
617
622
624
614
604
613
634
608
638
621
610
622
619
611
626
627
607
636
602
604
623
612
614
604
611
610
609
623
616
607
623
626
632
624
606
626
631
625
620
606
610
609
616
629
639
633
637
607
606
629
613
625
618
605
614
613
621
627
602
623
604
639
611
623
639
603
620
622
638
606
629
631
629
613
623
631
622
629
605
639
606
631
619
631
603
606
607
605
617
627
601
604
622
617
622
631
634
622
616
631
634
640
609
622
632
610
608
615
635
620
614
618
604
620
632
604
609
621
618
612
618
603
633
630
611
614
616
631
608
615
622
622
614
605
609
626
636
608
601
639
605
611
613
615
638
632
604
632
617
614
623
631
608
610
616
620
627
611
605
608
612
610
610
614
604
625
605
626
615
606
605
611
604
609
632
626
608
619
620
623
614
607
613
631
609
606
635
608
617
618
612
619
606
614
623
627
617
619
604
612
607
609
612
609
637
619
612
624
607
614
631
603
605
623
607
614
608
617
629
624
626
603
604
612
606
604
608
632
602
628
605
614
615
629
628
617
619
618
625
619
609
623
602
613
619
629
622
626
606
624
614
606
616
602
601
614
627
621
628
624
615
619
614
632
606
612
613
630
621
609
623
613
631
627
618
603
611
613
622
610
612
632
629
615
631
610
626
603
612
622
610
623
615
603
617
639
607
631
634
627
620
626
612
625
621
604
613
626
613
604
613
610
606
618
638
603
622
613
605
632
618
617
632
615
639
618
634
615
607
602
608
613
621
614
639
606
623
617
610
627
608
609
627
626
616
626
611
639
607
630
614
615
606
639
635
639
611
622
608
618
613
625
627
617
627
611
609
623
635
627
606
607
606
611
623
605
635
621
614
636
603
629
621
618
630
621
607
635
631
618
631
621
617
639
635
603
617
639
620
631
621
615
632
625
608
636
629
632
614
634
635
602
623
603
611
608
623
625
604
627
626
631
623
608
608
616
612
605
601
623
622
613
603
603
639
630
602
611
619
617
607
628
615
638
613
614
630
629
615
605
622
623
632
613
621
630
635
627
610
613
611
614
609
624
609
625
614
613
602
631
623
620
624
611
639
621
625
601
622
603
606
618
639
610
635
608
618
635
624
613
626
614
612
623
632
621
639
635
614
631
639
614
620
603
601
611
610
639
603
621
604
603
620
608
602
619
616
606
620
626
610
607
614
609
627
614
626
631
611
605
626
611
621
630
606
631
625
616
608
624
612
625
608
629
611
623
608
607
639
618
625
605
611
608
613
610
610
619
609
630
619
623
614
617
614
626
611
627
619
612
603
614
633
623
623
629
618
611
625
608
632
614
607
614
639
609
601
601
606
609
599
614
616
609
635
635
632
614
617
609
616
627
602
614
614
617
606
627
604
607
633
603
612
620
637
610
632
603
608
605
639
632
611
610
616
618
614
610
617
611
612
612
614
614
618
605
606
618
635
631
632
626
622
600
626
631
607
628
618
621
614
610
618
603
620
635
614
623
606
620
619
609
608
626
639
605
602
603
612
635
608
624
621
609
632
609
608
608
620
613
638
614
617
623
627
613
616
613
614
605
613
626
620
623
631
617
621
611
604
622
607
630
609
605
629
604
623
639
602
635
608
612
622
617
607
601
622
632
629
614
638
621
602
629
635
632
617
614
634
604
610
614
639
625
640
619
603
623
609
616
612
623
603
629
609
611
611
631
618
622
626
619
623
626
608
623
620
612
617
603
615
628
619
626
632
630
625
605
618
626
632
620
624
610
635
608
626
628
614
609
610
632
630
611
619
631
626
617
610
637
607
617
610
613
626
640
607
612
611
609
619
611
611
611
627
632
613
634
604
620
613
602
606
608
632
605
632
617
613
602
619
603
614
613
613
614
613
639
611
632
614
622
608
640
624
623
628
607
613
613
632
606
623
616
630
616
634
603
608
638
622
633
622
608
616
602
604
620
627
628
605
634
632
613
611
626
640
610
611
601
614
627
625
631
624
630
622
616
609
619
623
622
616
622
630
615
610
640
605
621
628
601
619
613
607
604
606
631
601
610
630
613
619
617
622
632
627
619
634
621
621
617
630
632
611
602
606
627
605
632
617
615
609
608
610
609
626
607
613
614
606
605
608
614
631
620
626
629
632
605
608
627
610
623
606
621
605
616
610
639
610
607
608
605
619
617
609
603
603
617
600
604
625
632
615
613
603
631
618
613
604
629
609
625
632
619
601
617
604
617
622
635
626
603
613
636
618
638
622
636
622
632
630
628
604
630
600
611
635
603
605
628
604
627
609
620
617
614
610
609
612
609
632
624
624
615
632
622
619
617
610
606
614
621
615
631
604
628
617
614
619
618
618
635
607
603
614
614
621
613
609
628
603
615
615
607
609
614
604
599
609
612
632
605
627
629
604
606
633
623
627
610
607
621
607
621
632
632
606
630
636
617
620
614
625
611
602
635
623
633
631
635
620
640
608
603
609
609
619
622
603
612
614
629
613
616
634
610
604
614
622
616
612
620
619
611
632
640
617
605
620
628
605
634
618
617
606
625
613
617
610
608
633
605
608
615
636
609
630
625
605
634
611
632
620
613
625
613
627
620
606
625
615
629
618
632
619
626
624
639
608
631
639
631
626
619
608
605
608
607
639
618
614
609
617
605
613
607
608
634
635
601
616
636
615
638
612
615
628
609
622
608
607
626
607
628
610
615
639
627
635
614
613
624
623
620
608
607
618
606
629
632
606
625
605
603
620
629
607
613
608
623
639
639
617
615
610
620
608
615
615
638
608
625
622
607
631
607
623
609
610
639
612
607
608
630
623
613
618
618
611
613
626
606
628
618
603
635
623
609
609
614
620
606
631
608
623
617
618
603
613
639
612
631
638
610
618
613
602
612
606
603
607
604
633
614
602
619
639
624
606
617
615
608
615
639
617
617
627
615
611
605
624
613
605
631
616
628
613
617
611
606
618
623
623
611
631
616
614
621
614
608
609
609
626
606
618
616
614
608
610
601
628
632
608
611
613
615
604
630
609
613
611
604
629
627
612
614
604
610
625
621
613
633
605
611
620
612
624
635
614
616
631
608
628
639
619
631
605
606
613
631
609
606
617
607
616
604
610
624
612
613
607
629
614
625
611
623
603
635
626
603
622
619
639
638
612
614
627
611
620
610
625
622
617
605
627
634
614
623
631
621
626
623
629
629
618
639
639
607
609
608
623
616
616
622
604
608
623
624
614
605
636
613
616
612
617
615
624
610
617
614
633
611
602
622
615
623
626
615
632
639
605
620
625
600
603
632
623
606
624
620
614
615
616
632
623
634
623
639
620
605
605
619
634
603
613
623
609
606
623
626
604
624
614
627
609
623
605
608
624
610
617
606
625
606
617
621
617
612
614
609
613
612
631
615
616
612
624
612
632
617
614
607
612
623
634
602
612
636
635
603
609
617
631
612
631
617
633
620
614
618
602
624
611
610
619
634
602
606
616
609
617
624
628
607
610
612
612
615
614
602
614
612
621
623
630
632
601
623
601
613
605
605
624
620
620
624
619
614
610
604
610
617
603
602
609
606
619
607
635
627
613
620
638
609
607
600
634
607
606
626
632
615
606
623
616
618
623
631
632
608
639
634
613
629
625
616
608
618
613
616
605
634
619
618
605
639
615
621
615
603
632
605
600
611
614
613
626
604
610
623
617
612
633
607
609
625
620
619
632
616
606
632
615
621
620
629
613
633
629
614
632
604
626
620
626
607
603
612
604
609
622
626
615
603
616
611
630
636
622
606
607
617
604
610
627
619
605
611
621
615
618
602
639
612
605
639
632
618
609
602
612
622
632
611
607
625
639
621
603
639
631
623
610
619
621
613
634
619
623
614
611
614
619
603
614
639
606
621
612
601
606
615
611
613
627
616
623
604
630
602
608
609
624
634
623
637
626
630
624
604
620
607
611
639
626
619
603
609
609
599
605
609
610
615
601
629
610
608
631
609
613
607
608
604
611
618
618
617
619
611
614
619
614
603
606
605
613
635
631
621
623
611
633
614
623
604
627
604
631
620
609
609
627
622
633
617
609
617
609
603
619
620
610
606
619
609
634
622
629
604
603
617
623
618
609
613
626
601
623
606
614
612
632
603
607
617
603
618
616
634
606
613
609
629
622
622
607
623
629
617
619
607
632
615
622
626
608
637
616
606
618
606
602
617
622
614
625
630
611
615
632
628
614
609
615
610
610
626
613
630
634
626
608
604
616
613
615
612
635
609
623
625
610
620
615
612
603
613
611
613
606
614
615
613
620
631
616
603
617
611
622
626
623
619
606
615
628
609
617
620
619
632
639
621
633
625
635
625
615
627
630
608
618
613
618
608
630
608
604
607
604
624
617
610
618
625
603
605
603
617
626
612
603
616
611
629
623
633
600
640
603
615
606
624
621
616
603
629
625
611
603
609
617
610
634
617
622
627
626
619
614
619
630
613
628
615
602
601
609
601
616
605
608
602
629
609
634
617
602
605
627
608
631
603
607
626
632
623
619
631
615
620
622
617
623
623
619
608
613
607
614
606
602
634
603
627
618
613
606
610
639
624
630
622
613
625
622
604
620
608
610
609
619
622
604
611
621
607
612
632
604
623
630
624
607
629
604
610
603
621
635
628
638
614
623
610
619
611
634
629
605
608
607
630
616
631
609
608
611
610
608
634
607
635
634
621
622
615
629
621
611
603
620
612
606
613
627
617
610
603
602
612
635
624
614
604
612
611
609
613
632
612
607
606
617
613
603
614
614
613
614
600
639
611
636
626
631
625
614
617
626
609
629
618
632
627
611
614
629
614
620
609
614
639
614
615
622
621
636
639
621
603
602
632
610
620
608
631
623
629
624
639
628
606
622
614
628
626
611
622
613
627
603
608
623
607
611
624
635
632
617
617
608
612
626
604
613
628
621
604
613
603
635
623
608
607
605
614
602
614
628
633
608
607
611
603
612
620
620
632
608
616
625
614
608
624
627
612
640
605
622
602
625
626
629
604
619
607
615
629
621
630
620
639
636
618
622
613
612
634
618
618
623
625
604
630
612
605
611
627
639
615
613
623
603
610
639
612
621
627
622
607
613
622
620
618
632
608
626
602
631
606
632
609
611
639
633
617
628
614
616
613
613
609
614
612
635
613
627
609
618
627
626
603
607
611
610
639
631
607
625
602
608
612
630
638
620
603
617
627
639
635
624
618
607
620
623
632
635
612
623
625
633
627
610
627
625
614
611
631
612
604
628
639
606
607
628
603
618
629
617
609
621
611
639
623
606
606
625
603
627
610
610
622
612
635
602
628
604
603
617
603
613
630
622
615
631
622
613
625
611
623
605
610
627
611
607
624
610
627
626
616
632
616
624
612
627
620
621
634
614
621
609
623
609
606
616
620
620
614
614
622
623
634
614
614
612
621
610
603
617
639
610
618
619
632
608
609
608
623
602
614
623
624
610
607
631
621
640
626
610
605
620
622
611
635
624
605
613
605
626
640
617
602
613
614
631
631
614
636
627
624
637
621
614
612
608
634
612
622
625
605
622
625
625
609
607
612
604
633
612
626
613
627
608
604
627
613
611
617
625
617
618
600
616
617
608
620
618
626
604
616
609
606
628
609
616
624
625
616
609
624
628
610
603
599
610
634
619
632
620
626
614
622
603
609
614
619
639
620
612
602
639
616
614
609
612
614
608
625
625
623
606
616
608
626
605
611
636
620
604
624
620
632
623
609
605
602
611
610
614
639
625
615
615
613
619
631
633
609
619
630
612
612
612
625
620
604
613
630
616
622
612
623
612
629
602
606
620
631
620
626
615
611
608
604
614
607
623
618
613
605
610
614
639
608
624
606
621
627
604
622
614
603
610
624
630
640
608
625
618
605
609
614
604
634
623
606
639
614
606
632
606
606
613
632
618
639
628
604
631
630
632
629
609
616
613
614
632
606
611
625
619
630
617
610
613
623
632
630
637
629
619
607
621
615
639
625
620
609
630
626
604
630
607
602
629
628
610
607
620
611
619
614
605
622
617
603
627
622
611
601
636
615
609
612
615
602
610
631
621
612
621
639
632
617
606
627
624
619
613
626
610
603
610
617
639
619
611
629
615
617
600
639
625
608
623
610
631
614
620
617
629
613
624
608
612
619
620
613
636
617
621
606
630
615
613
629
614
613
613
613
621
615
636
607
632
609
629
604
637
619
614
609
619
609
611
622
607
634
621
618
610
635
609
626
639
612
623
607
618
636
639
608
625
600
618
606
636
601
640
611
622
632
612
604
619
609
633
602
612
614
630
619
605
623
617
641
608
626
623
610
635
618
630
615
623
623
632
612
613
609
630
612
611
623
603
613
610
605
618
603
617
631
609
613
635
613
616
629
639
609
613
631
632
639
618
632
623
610
620
632
607
640
631
618
610
603
612
631
620
610
612
604
608
624
612
618
626
625
608
613
615
627
632
616
611
626
619
623
613
626
617
639
608
639
632
630
615
625
618
604
626
620
625
622
607
606
626
609
622
624
615
614
622
611
639
627
624
608
620
624
604
606
623
618
609
614
635
609
603
615
612
612
613
632
622
608
614
615
617
617
606
624
609
630
623
609
614
635
604
620
615
606
621
632
620
609
619
624
624
626
603
608
619
620
603
612
633
608
610
619
625
620
620
631
604
610
621
603
603
632
622
603
616
613
622
624
610
617
613
613
619
621
631
605
606
629
618
606
628
619
620
610
625
622
617
611
631
624
617
609
617
622
628
614
613
608
622
619
610
623
611
614
622
608
607
606
614
624
614
615
619
616
615
615
614
613
619
636
611
603
614
623
608
616
618
632
635
630
613
608
613
606
632
607
632
614
632
609
612
632
608
614
626
603
629
603
627
612
607
627
602
629
639
610
621
613
602
636
632
609
604
608
613
635
628
634
611
614
612
618
611
615
622
621
629
632
620
600
620
613
622
613
624
618
631
630
612
620
614
625
612
619
627
603
634
603
618
623
634
610
613
609
631
627
607
615
622
624
637
608
611
609
629
617
632
603
609
605
616
600
614
610
617
622
629
619
636
602
622
624
607
615
608
612
606
619
626
620
631
623
619
613
618
603
625
615
639
602
609
620
608
621
614
608
613
616
614
614
607
621
612
610
635
623
610
633
629
636
610
612
620
622
617
638
617
629
626
603
616
610
624
623
619
632
617
614
619
632
613
629
622
616
626
612
605
613
623
607
624
636
623
612
606
618
608
619
616
608
627
612
631
619
613
613
613
625
629
630
614
611
632
602
610
629
623
622
613
637
617
606
614
624
623
622
608
626
630
620
628
629
610
619
613
631
608
632
610
625
605
617
610
609
631
629
607
611
612
613
620
626
612
611
623
635
635
626
604
613
611
619
622
623
609
628
607
609
621
615
603
602
612
632
618
622
625
611
611
641
629
611
635
626
617
613
623
608
612
613
609
607
610
615
635
622
604
616
623
640
631
616
614
624
618
607
617
634
606
617
604
603
604
608
614
628
609
614
634
609
607
610
639
622
639
611
612
616
605
612
624
614
623
626
623
615
632
631
613
614
608
628
614
635
612
607
609
617
629
621
601
616
606
618
621
607
635
629
602
608
632
633
617
622
630
608
615
613
610
620
610
621
609
611
639
623
613
621
626
609
615
603
620
635
626
626
602
617
612
618
614
603
640
615
622
623
613
604
614
631
609
615
636
608
615
618
622
608
605
602
635
622
603
635
610
607
622
620
629
608
615
623
622
625
610
605
612
622
604
606
609
634
599
635
604
637
620
617
619
614
603
615
612
635
606
616
615
629
634
611
609
628
627
619
613
631
604
602
619
618
614
615
615
623
614
608
639
602
625
609
638
605
605
634
612
609
617
611
615
609
622
622
608
617
632
631
602
616
606
614
616
609
633
606
613
610
619
616
618
626
603
627
604
623
626
625
628
609
621
631
612
623
615
604
630
616
639
609
623
625
610
631
610
599
605
632
622
630
613
612
604
608
611
620
618
619
622
604
612
611
618
623
608
635
640
624
615
612
639
635
611
620
622
615
613
608
639
608
619
614
607
613
601
604
630
635
616
607
612
631
627
629
628
622
631
612
621
632
614
631
638
634
636
618
626
606
626
632
618
613
623
603
609
625
606
607
622
639
632
624
626
628
604
610
603
621
604
626
625
627
621
639
639
631
620
609
616
633
616
610
608
621
607
619
635
603
606
609
623
607
632
624
617
639
632
629
614
622
623
631
618
613
628
636
604
624
603
617
624
619
613
612
638
618
622
627
609
619
639
602
610
640
617
625
614
625
618
619
621
619
620
629
626
613
631
604
629
625
630
620
604
608
611
616
608
627
611
631
620
610
610
602
604
604
602
607
607
612
605
628
616
612
609
608
605
632
612
600
608
621
628
620
624
608
625
610
599
610
620
622
619
627
605
622
608
623
624
631
632
604
623
613
609
624
632
614
618
609
623
616
607
639
606
617
626
606
606
635
611
610
608
622
614
601
613
639
615
610
617
627
626
634
611
623
622
626
620
612
614
622
630
605
623
604
619
623
627
603
609
620
624
603
625
605
615
605
614
629
622
631
619
615
628
626
608
614
625
609
610
602
627
613
615
620
622
626
621
606
635
620
622
607
618
620
633
610
618
621
617
609
610
629
604
623
613
604
639
601
619
624
634
609
639
610
603
616
619
603
631
609
604
614
636
621
626
605
634
614
617
614
607
618
609
619
628
609
620
616
639
629
626
625
629
608
602
621
624
614
612
621
606
615
618
613
607
615
620
619
612
609
609
634
617
628
608
623
614
612
619
613
601
600
623
608
639
613
604
618
613
622
628
637
604
632
608
614
623
606
629
622
614
604
633
608
616
602
623
614
608
611
612
607
629
631
618
620
618
633
606
604
606
605
612
614
614
610
609
611
606
614
613
614
619
607
609
614
611
602
610
622
604
602
619
613
607
639
635
612
620
605
638
608
630
607
631
614
626
613
604
611
625
605
608
604
619
621
604
614
619
623
628
622
607
622
623
631
631
611
610
622
615
605
614
630
629
612
619
618
612
602
608
615
606
613
620
605
610
610
610
625
611
630
619
623
618
615
610
615
610
621
635
613
620
606
619
622
604
599
606
603
604
639
612
641
606
617
632
617
631
615
628
635
632
622
609
629
623
635
635
601
604
624
614
618
610
613
631
604
599
639
608
610
602
603
624
639
612
634
639
622
614
611
607
627
614
606
632
614
631
626
623
624
601
617
626
607
617
626
605
613
639
605
623
605
609
632
616
605
623
622
632
639
606
624
606
631
621
636
603
621
623
611
615
622
604
604
605
622
636
607
634
635
613
598
604
607
631
607
634
606
608
623
632
608
626
620
606
626
621
632
604
608
624
620
622
616
608
611
609
623
605
603
604
603
605
605
611
639
632
629
623
621
621
603
613
623
622
623
629
611
610
605
606
619
616
612
628
617
606
608
617
604
620
626
633
616
622
619
621
615
626
610
618
616
624
639
623
619
621
606
605
610
602
619
609
632
603
625
609
603
624
623
631
606
610
637
626
611
606
610
604
612
639
614
610
604
614
629
631
626
603
633
632
632
626
607
625
618
605
601
613
626
607
631
613
617
630
632
630
608
625
608
639
614
605
608
625
609
608
606
614
623
618
616
619
614
607
616
608
622
617
613
608
633
629
620
604
613
604
625
621
626
606
608
613
605
608
633
632
607
623
629
625
623
619
608
612
610
626
611
607
625
618
614
621
630
632
608
608
617
620
633
624
611
609
603
631
617
611
608
635
609
603
635
637
623
623
611
639
614
604
632
630
614
617
617
625
609
616
606
603
639
621
626
632
607
631
632
601
606
604
623
639
607
617
611
613
627
631
608
615
603
617
620
616
616
614
626
618
616
610
634
622
614
622
604
609
603
620
619
628
616
625
608
625
618
609
628
622
626
615
623
607
613
613
609
608
609
627
626
627
612
606
613
617
609
613
603
606
608
618
606
605
621
611
601
620
629
635
629
618
624
624
605
628
635
606
625
606
615
612
621
624
619
624
605
631
633
616
631
639
619
610
604
621
631
603
620
608
614
613
610
601
634
608
617
616
610
614
609
607
623
616
636
601
617
628
611
613
613
607
637
614
606
614
612
606
627
619
606
620
625
637
611
615
629
627
622
610
637
613
613
611
626
613
629
638
616
620
621
639
610
639
616
626
639
606
619
608
617
620
638
619
626
620
607
610
613
632
605
609
626
604
627
631
617
619
610
608
603
608
610
603
626
612
608
639
616
616
615
620
640
610
611
607
628
610
606
632
634
619
606
619
606
618
630
634
608
631
622
614
612
629
610
639
631
611
628
613
618
602
623
632
633
632
603
638
624
636
638
615
609
612
609
607
627
615
620
611
630
613
626
607
631
607
624
614
630
618
621
606
633
600
628
626
619
613
621
637
611
609
617
632
633
622
620
617
620
628
614
625
632
634
630
616
612
615
604
622
617
624
612
613
609
625
630
626
607
621
613
611
609
613
634
600
605
608
634
627
609
605
608
605
631
623
630
631
606
630
633
608
607
622
615
610
604
624
611
613
628
613
618
614
611
633
617
610
629
608
614
625
609
632
601
623
610
617
609
630
611
619
618
612
617
609
622
606
609
608
639
620
635
616
620
621
604
616
623
617
613
605
612
614
603
620
619
619
609
609
617
615
609
612
630
613
612
622
606
613
613
629
608
611
611
617
614
620
639
616
631
615
637
632
613
626
605
612
623
615
623
622
611
622
607
630
606
622
623
617
620
631
612
627
611
629
613
604
604
630
608
612
616
609
604
609
609
613
614
612
638
608
607
624
605
623
629
610
617
604
630
640
607
619
610
607
638
629
634
630
628
606
634
606
605
627
606
615
631
631
635
617
606
604
622
629
604
632
611
614
626
632
616
617
631
628
601
603
630
625
604
610
616
604
629
622
613
617
629
611
629
633
623
631
632
606
612
618
603
609
608
614
623
628
616
626
606
610
617
614
630
620
610
634
639
633
605
634
607
604
613
614
617
620
604
631
628
619
625
639
622
611
614
632
622
630
604
639
610
613
614
613
618
612
627
638
620
628
629
619
616
628
632
628
629
632
611
609
612
639
631
617
613
617
616
610
622
626
628
623
626
609
609
601
615
610
625
612
606
615
635
619
629
617
613
616
614
609
614
609
634
618
603
602
605
611
614
617
622
612
606
609
602
623
636
627
619
630
625
631
625
609
608
609
640
628
603
612
604
620
606
624
606
613
626
606
616
614
612
625
618
612
628
627
624
614
622
620
639
610
623
618
629
617
602
623
615
609
621
614
610
617
606
623
624
600
609
617
605
616
626
626
632
625
621
639
614
631
614
615
629
631
615
606
611
611
615
617
620
617
636
616
627
616
609
601
632
613
614
629
618
632
639
619
625
640
609
618
638
620
620
621
632
631
632
613
612
625
612
608
612
622
637
635
631
605
620
634
625
632
624
609
603
634
604
629
627
629
610
606
610
610
634
625
632
622
619
615
603
608
617
617
603
611
611
628
612
620
605
635
604
623
620
607
634
601
627
629
635
630
627
620
630
617
599
614
623
611
630
610
615
614
601
606
611
623
613
622
606
633
607
632
623
609
610
603
611
614
626
637
624
620
624
628
622
625
610
606
603
639
632
609
603
634
605
634
615
625
618
616
607
605
604
626
610
613
611
625
623
632
613
621
631
626
605
613
608
622
631
639
617
615
619
632
622
607
631
612
619
634
603
614
630
603
614
621
602
612
610
603
615
619
611
613
639
608
622
613
615
607
619
632
626
617
613
609
613
617
616
607
604
617
617
617
612
632
617
615
631
623
604
612
621
601
629
604
635
608
601
621
617
614
629
635
610
618
611
623
606
621
629
639
610
619
619
610
612
618
616
607
614
609
603
639
625
619
611
625
639
603
620
617
613
635
630
615
632
605
631
639
618
609
607
610
603
636
625
626
632
615
615
609
619
601
619
627
618
608
640
618
611
628
626
615
617
603
635
616
604
604
639
613
623
625
604
608
601
621
609
616
632
634
608
621
616
639
620
618
633
622
609
626
608
605
604
628
635
613
618
623
636
626
612
628
618
613
608
625
633
625
617
633
614
624
604
605
638
622
631
634
611
616
615
610
603
626
636
608
635
617
611
634
635
609
618
610
617
605
606
599
631
610
610
612
626
614
608
607
614
610
621
639
627
617
604
602
605
617
616
603
607
611
607
613
624
607
611
622
614
612
638
625
615
615
619
621
621
626
615
630
618
618
629
619
605
610
611
616
630
628
625
608
634
618
603
630
608
616
623
618
607
607
626
608
609
621
609
615
630
630
635
606
616
621
613
637
634
627
620
613
602
625
619
617
608
631
612
614
613
617
603
608
609
616
630
613
625
603
606
619
613
601
603
619
635
631
615
607
608
627
607
609
624
613
610
607
604
639
623
617
623
635
630
619
612
619
631
616
637
628
631
626
631
632
610
628
608
604
609
632
606
637
627
621
617
605
609
609
627
630
611
605
624
612
622
607
639
605
606
604
622
639
612
617
625
611
631
612
620
609
600
617
636
610
610
607
611
609
638
623
629
635
621
613
611
632
617
613
609
614
637
615
626
622
608
619
628
614
607
618
610
606
630
622
618
617
616
619
633
615
616
638
617
622
606
607
618
625
612
627
631
613
618
612
618
602
603
605
611
626
608
617
609
608
623
617
605
603
613
625
609
617
603
614
614
639
623
613
617
615
621
626
611
613
609
626
608
627
626
611
629
611
599
635
603
617
611
610
618
627
629
608
639
609
632
626
621
611
623
622
603
613
625
610
623
611
625
601
608
635
608
626
626
605
618
617
618
613
636
614
623
632
601
617
622
616
625
632
618
612
611
612
638
639
616
617
635
617
609
639
620
606
617
617
633
622
613
626
639
639
612
611
615
621
634
623
623
632
610
629
603
613
616
603
609
605
609
622
610
615
622
603
633
618
603
618
614
617
614
614
618
626
627
609
625
608
630
615
623
603
610
617
617
605
600
603
614
601
612
618
615
631
603
616
622
612
605
608
631
616
616
609
631
605
615
619
608
615
607
614
616
607
632
606
629
616
609
623
624
610
602
620
609
613
609
619
609
607
627
601
611
605
634
613
621
607
639
612
618
621
602
613
604
635
609
601
628
636
603
608
605
615
609
612
607
610
606
602
632
608
639
620
618
637
607
608
612
608
603
613
639
611
606
639
629
613
617
639
615
631
610
632
629
617
609
624
615
626
633
611
634
604
633
609
619
607
617
636
610
621
609
611
617
632
612
615
605
623
603
625
612
610
619
622
624
626
606
610
616
606
629
617
639
622
629
624
601
617
603
619
616
629
625
618
614
613
608
617
617
614
603
629
618
632
609
618
634
615
603
621
632
620
620
608
619
609
604
610
604
612
625
631
629
625
626
604
626
616
618
613
609
614
610
624
619
627
609
612
632
622
607
628
608
604
605
614
617
616
619
602
606
639
629
633
632
608
610
615
618
626
632
636
627
606
608
616
605
612
633
621
639
619
610
605
613
632
618
622
632
630
612
608
610
629
605
616
611
628
606
632
602
635
627
615
602
610
608
611
629
602
620
634
627
613
609
623
614
612
605
607
623
632
627
629
616
636
614
607
604
622
612
619
635
615
622
605
617
610
625
615
624
603
609
618
611
622
617
620
625
623
615
618
621
613
619
602
630
623
612
600
615
604
617
614
631
609
610
610
625
639
608
611
625
620
619
623
608
604
623
614
614
611
621
606
635
636
623
631
628
639
611
605
599
606
613
602
612
604
606
614
607
618
614
607
606
620
610
604
632
608
611
634
610
610
622
622
614
603
605
624
614
622
623
639
617
610
621
617
618
622
608
604
607
618
614
630
629
606
600
608
613
632
629
622
615
604
635
632
624
612
609
620
639
617
603
636
618
618
610
609
601
630
607
603
617
623
620
613
630
632
610
608
612
612
625
633
614
608
608
619
620
639
609
608
617
601
613
609
639
611
607
619
606
611
610
625
606
622
613
616
612
612
621
626
610
606
626
632
620
610
611
602
603
636
611
614
635
632
639
632
601
621
632
606
630
605
610
632
623
605
601
622
614
606
602
606
613
611
629
611
630
624
604
633
614
617
611
604
607
607
639
606
622
607
616
614
605
608
637
608
609
637
608
625
614
608
634
622
614
612
613
631
621
619
611
612
614
617
613
628
610
619
614
621
626
607
608
609
606
631
639
619
624
629
603
615
619
612
627
606
618
620
602
606
605
605
601
610
622
639
626
612
615
610
631
630
618
621
622
622
613
629
616
614
613
614
623
609
623
607
625
631
615
630
609
634
613
611
618
621
639
611
612
610
608
630
635
624
613
624
631
610
604
621
619
604
613
633
604
607
634
610
615
625
618
635
606
625
610
605
609
631
632
610
607
617
629
614
618
613
604
607
628
618
619
606
609
608
613
619
610
623
619
617
604
622
630
620
626
623
620
628
606
613
614
612
609
604
618
620
606
618
610
603
604
615
620
613
605
618
610
607
634
603
631
611
612
618
603
602
613
626
617
610
606
604
607
630
610
639
639
621
621
639
620
614
611
628
614
630
608
606
618
618
612
618
605
614
602
612
608
612
621
622
618
620
604
614
629
625
615
604
622
608
616
628
625
621
626
613
605
617
609
623
622
614
620
613
625
605
616
617
615
606
608
607
606
608
617
618
609
613
626
605
608
614
626
611
622
632
614
618
618
629
605
616
614
629
639
617
610
626
621
618
618
629
604
604
617
611
617
612
637
634
635
611
622
610
615
612
624
624
627
623
614
628
628
624
617
614
626
616
615
623
614
614
630
608
611
605
614
633
605
621
603
619
608
622
608
621
635
616
628
614
617
610
625
631
628
610
603
639
621
620
625
628
621
604
605
630
606
633
616
609
609
616
639
603
622
624
633
614
608
602
624
617
625
606
628
620
633
628
625
614
632
601
625
622
613
605
627
625
623
632
623
602
625
628
619
607
626
631
620
618
618
631
628
611
616
628
606
610
615
633
605
607
608
635
609
635
639
623
631
605
614
626
603
611
629
606
604
633
625
622
606
623
623
630
609
630
621
615
608
612
626
608
619
619
609
637
626
608
633
621
614
632
628
634
614
606
613
631
601
606
614
627
606
610
623
610
602
619
620
639
631
610
615
623
625
622
632
608
628
634
626
607
608
606
639
613
603
626
613
633
614
601
630
629
625
605
635
607
609
614
621
622
620
603
608
610
629
624
615
625
617
635
616
632
611
614
617
632
609
609
621
603
608
612
628
611
609
632
619
622
608
623
608
623
628
613
610
615
609
623
621
621
619
605
607
612
620
601
617
611
625
621
628
623
628
616
623
622
610
606
634
618
609
606
613
616
617
633
613
606
603
637
629
603
627
608
608
602
614
609
600
621
617
617
609
602
622
614
624
603
606
611
613
609
601
623
608
622
628
616
618
616
620
613
611
625
607
632
617
610
610
626
616
635
626
620
617
613
611
618
610
633
610
603
619
630
610
630
623
612
612
613
619
606
625
639
623
620
623
617
613
608
616
605
620
608
636
613
613
612
639
605
620
617
607
617
623
621
628
622
622
631
619
605
612
622
617
639
634
605
619
607
610
638
629
611
608
602
640
633
621
610
639
614
619
603
605
618
606
613
623
622
605
624
630
612
617
610
610
617
616
625
626
612
617
612
632
624
613
606
612
612
619
614
630
606
630
611
605
633
602
606
605
620
634
613
610
607
603
627
613
624
611
626
613
613
618
615
617
617
604
615
619
610
609
608
627
623
619
615
615
610
620
635
604
622
617
627
617
610
608
611
613
628
614
616
627
603
632
639
617
618
632
614
617
609
625
615
634
616
604
612
632
626
632
608
602
633
615
615
616
632
614
607
606
633
612
606
626
623
623
608
623
602
629
621
613
603
623
608
608
631
603
607
622
615
610
622
614
609
613
628
608
614
618
603
617
630
619
615
604
604
603
613
608
611
608
615
633
607
617
631
611
623
607
632
605
617
625
615
619
608
611
608
606
614
615
623
619
614
614
620
607
635
621
626
623
623
620
619
632
603
632
621
612
635
605
617
616
610
611
608
622
614
631
629
632
629
611
635
627
614
600
626
640
623
629
635
600
606
605
606
610
639
623
616
627
631
630
613
625
614
632
633
615
614
605
605
612
627
614
611
611
605
610
626
624
609
608
630
610
621
614
614
621
608
612
622
604
620
618
616
610
611
601
628
619
623
623
612
605
614
619
604
632
605
635
629
605
630
610
631
600
629
611
639
614
630
603
622
622
613
637
612
605
601
608
606
619
610
604
629
610
624
611
603
603
616
623
599
614
628
626
637
631
604
633
631
602
605
631
629
616
605
632
615
612
620
617
613
629
617
610
625
624
618
619
623
620
623
612
631
604
613
605
621
607
614
616
618
603
625
617
635
620
607
622
625
622
624
608
604
610
618
630
608
620
617
614
626
615
625
634
604
629
598
627
609
609
614
605
613
614
603
608
624
614
631
632
615
614
605
604
615
637
632
633
603
611
628
632
602
629
610
620
625
620
607
635
610
603
609
611
623
612
611
613
619
611
634
617
615
607
605
639
605
610
606
634
639
621
623
613
620
623
610
625
630
619
629
603
639
620
621
632
606
624
609
625
608
614
626
609
617
614
617
622
620
608
618
612
631
632
610
612
614
614
623
628
618
612
610
607
609
603
615
609
612
607
622
608
614
604
615
632
636
615
618
617
611
620
604
621
614
609
637
632
618
617
612
621
631
624
622
617
608
619
636
614
608
634
614
616
637
601
611
605
623
614
623
628
636
614
621
634
611
613
604
617
614
627
619
607
615
620
612
610
614
605
620
623
625
632
611
620
617
629
624
610
620
620
606
611
608
634
630
613
611
610
631
623
636
625
634
612
605
621
618
615
606
619
609
639
637
620
614
619
612
627
611
632
623
608
605
630
632
631
610
610
603
604
617
622
616
614
613
615
635
631
631
613
602
613
608
625
623
632
633
620
639
618
619
623
609
608
606
620
618
620
615
627
617
631
609
608
607
614
623
617
612
623
621
635
634
613
607
626
617
631
618
619
599
616
638
613
617
611
615
635
632
632
610
614
604
611
622
613
623
605
603
613
604
614
623
605
615
607
634
605
615
604
605
609
605
619
613
639
619
606
614
626
621
632
611
639
605
606
615
625
630
632
614
609
603
630
613
605
613
609
606
635
626
625
621
623
636
613
628
619
603
638
619
612
603
613
622
606
608
604
628
613
633
626
607
629
622
613
620
618
620
618
630
605
609
619
629
639
615
614
604
614
610
632
639
610
626
629
616
611
620
627
616
610
629
619
628
605
632
609
617
604
623
605
609
606
602
606
607
619
608
633
617
626
612
634
614
634
623
614
630
639
614
605
634
610
618
617
613
640
603
628
611
632
619
624
613
614
621
602
631
614
602
623
619
628
617
603
605
626
620
637
606
612
617
631
617
631
625
628
619
611
634
607
626
613
625
627
614
606
618
611
627
617
616
621
619
611
603
631
617
610
629
618
629
624
608
639
610
629
622
635
615
617
627
625
608
640
615
629
618
623
612
614
619
601
630
608
607
607
620
608
621
634
609
628
616
613
602
610
625
619
618
634
618
618
620
607
617
632
612
614
634
607
629
605
632
626
611
614
607
606
608
614
610
606
634
607
614
611
612
619
624
609
624
619
604
608
610
635
613
608
619
606
604
622
612
625
608
621
611
616
623
623
634
631
608
623
623
611
607
625
610
619
614
610
609
602
611
635
632
639
633
625
618
608
615
603
605
609
619
628
610
610
612
626
630
608
619
603
634
602
620
610
613
621
620
630
624
605
607
628
620
604
617
639
634
611
630
630
639
607
613
608
608
603
619
611
611
609
624
619
624
609
610
615
609
624
602
621
607
637
615
630
608
632
612
604
610
622
632
612
622
623
628
617
605
633
611
635
617
622
611
612
632
612
606
605
612
610
615
614
617
620
610
602
626
606
607
608
634
629
606
606
612
606
623
614
625
624
609
611
601
611
612
637
613
615
620
602
607
639
607
613
616
615
621
604
605
639
621
606
607
609
609
629
634
617
632
624
633
608
614
612
614
639
616
631
611
602
615
622
639
617
611
613
621
617
614
626
609
620
619
600
603
599
612
625
625
629
620
633
626
604
632
614
610
603
617
617
632
613
611
618
631
613
613
603
612
603
608
622
604
602
610
632
609
622
633
614
626
612
602
615
615
601
617
606
639
618
617
623
639
605
626
615
617
606
612
619
631
616
631
603
623
612
609
620
606
613
639
636
611
612
624
623
616
637
603
613
639
624
618
625
614
632
603
607
627
621
627
625
617
607
620
633
620
602
608
639
606
620
620
629
614
604
608
606
625
618
608
614
622
624
605
608
617
614
607
613
621
623
630
620
606
611
628
633
613
622
619
608
608
609
617
613
606
607
625
623
616
614
602
611
605
614
629
603
614
616
613
605
613
608
612
612
635
630
630
617
608
606
610
610
621
612
634
622
629
631
638
611
617
614
611
606
614
635
619
615
617
633
605
617
620
609
616
607
605
619
603
619
599
625
606
617
628
631
613
624
617
635
611
622
619
628
614
606
615
619
618
623
625
620
630
626
614
632
616
623
619
604
614
630
605
607
607
618
613
622
616
616
615
617
612
632
625
611
620
615
631
605
622
622
628
623
632
630
620
606
610
614
608
605
612
629
632
636
613
613
629
623
619
619
611
609
626
614
603
617
625
633
630
617
615
624
603
602
623
627
602
634
613
610
620
617
619
611
623
605
603
620
614
626
631
614
608
607
609
629
603
631
605
619
606
609
614
627
604
616
601
610
615
617
615
634
630
623
611
629
636
609
609
631
616
621
639
640
617
624
632
635
628
620
622
603
625
611
604
608
615
613
614
606
616
626
617
605
617
622
619
607
613
628
639
623
612
633
609
609
607
639
613
621
614
604
625
616
639
617
606
626
604
626
636
609
630
612
632
606
614
604
610
617
603
614
623
629
618
626
609
620
604
612
603
636
623
613
610
635
633
608
640
607
603
619
630
609
638
614
630
628
604
628
641
605
621
618
606
624
626
622
607
620
608
615
604
619
602
607
608
612
630
606
626
624
613
629
604
614
612
636
627
639
611
609
607
617
620
609
608
603
618
628
601
606
637
617
617
627
605
604
612
627
630
621
610
620
613
616
617
614
632
631
614
634
608
621
627
606
616
601
614
630
623
617
609
617
604
621
615
622
603
613
603
623
619
615
626
618
628
606
623
630
617
605
609
629
620
631
625
629
627
622
631
614
620
601
621
634
607
603
629
611
600
616
609
629
630
605
622
628
637
629
605
630
609
622
611
629
608
622
611
631
621
632
614
601
612
603
614
604
622
619
608
608
614
609
603
626
604
621
612
608
610
613
614
607
629
626
623
614
632
628
606
630
625
610
620
624
603
623
608
631
636
617
610
606
617
622
620
605
611
610
632
622
621
606
629
611
639
619
603
598
621
629
631
602
613
610
616
617
616
613
622
606
618
625
635
630
603
617
608
617
606
614
623
619
611
607
629
622
632
612
609
609
623
609
616
602
601
639
606
612
638
605
615
631
630
621
618
613
632
625
606
620
609
613
603
610
625
621
631
614
620
622
614
628
606
624
607
610
609
624
607
606
603
619
623
635
625
612
628
616
637
608
623
622
617
602
623
629
605
608
626
627
608
616
603
631
629
611
620
640
617
611
614
613
635
611
611
619
639
631
634
623
627
638
607
626
638
613
608
621
608
630
606
613
616
602
612
623
621
630
623
616
605
606
628
629
619
617
613
603
624
607
627
631
617
608
602
629
619
609
620
626
624
626
615
639
629
600
603
626
621
611
612
618
603
612
615
617
618
614
611
616
608
624
604
617
626
615
617
627
614
617
618
625
629
609
609
620
627
603
610
617
628
606
634
611
611
607
605
608
624
635
612
624
632
612
623
615
603
623
630
615
604
615
618
614
620
606
603
622
622
628
632
622
606
604
607
617
606
610
632
606
609
608
616
613
611
621
617
629
621
617
622
607
634
610
623
599
605
609
613
607
633
623
630
607
639
639
607
610
619
606
603
639
613
610
608
606
611
606
614
622
619
635
633
618
623
608
635
613
600
632
626
624
612
614
627
618
632
626
609
628
624
632
606
600
612
622
612
619
636
614
630
623
624
619
612
609
621
605
606
631
639
607
624
626
614
602
634
621
611
607
616
621
614
606
606
605
606
635
614
614
630
600
624
632
624
628
630
631
635
609
626
607
605
614
622
625
629
631
609
611
632
622
607
609
631
624
616
622
625
618
632
630
617
620
615
635
623
618
613
615
612
614
612
607
611
622
630
635
622
627
623
631
629
613
632
621
616
611
623
609
626
610
627
628
623
613
636
610
610
609
617
617
629
619
614
613
611
608
620
608
610
628
620
606
617
614
621
606
622
639
614
604
629
629
614
609
605
618
614
631
613
632
600
606
621
619
608
609
606
614
630
608
623
627
605
606
629
606
613
624
602
619
612
614
608
605
622
622
628
607
607
607
625
624
612
614
625
604
601
625
639
610
630
624
626
613
624
610
619
635
625
626
615
622
623
617
615
604
605
605
609
616
616
605
609
608
625
625
624
614
632
621
606
626
609
616
634
623
606
617
605
634
623
614
626
634
609
628
615
639
608
630
612
640
632
615
616
605
608
615
607
637
632
632
609
627
619
607
615
634
635
622
608
633
623
619
634
608
608
622
604
625
623
611
616
614
604
631
610
608
623
604
607
616
618
620
604
605
619
619
639
608
635
613
631
620
639
617
638
635
628
606
605
614
609
615
605
625
603
603
630
613
630
629
616
622
624
629
626
605
629
615
615
622
620
608
606
604
620
622
606
625
613
625
616
610
611
617
631
611
613
622
619
603
616
627
614
599
607
601
623
628
615
626
621
603
600
634
632
634
614
604
620
606
608
620
607
620
630
613
629
635
604
609
607
622
601
610
608
615
623
620
639
612
611
608
639
613
609
612
618
638
625
617
635
609
619
605
632
611
617
608
616
615
614
608
609
624
632
626
632
623
610
621
606
633
618
624
614
620
628
608
613
636
639
603
610
619
608
604
609
612
639
635
611
612
624
628
620
613
610
622
611
622
611
610
630
613
613
607
616
603
608
636
617
630
626
612
610
631
617
619
628
621
614
609
614
637
616
625
619
631
620
608
602
605
634
614
623
629
603
617
609
612
637
634
611
612
607
628
621
602
615
636
628
639
609
604
631
620
609
622
617
610
618
606
626
618
628
629
607
618
606
619
613
621
612
608
630
621
635
639
629
617
609
639
613
602
622
620
612
607
615
602
621
609
618
617
622
627
639
619
607
613
605
616
615
624
613
633
633
618
621
602
612
613
614
624
612
613
631
613
624
632
616
612
634
619
624
618
624
625
607
614
632
609
607
613
626
612
636
633
630
619
606
623
632
617
614
618
606
622
619
599
614
626
615
607
607
622
615
612
609
626
609
609
606
611
623
604
619
617
607
607
629
618
606
615
610
610
611
637
613
615
628
616
621
617
606
606
616
621
618
611
639
635
630
616
627
608
639
613
611
615
624
604
612
626
626
608
606
609
619
622
614
628
612
630
607
631
625
608
635
614
611
631
635
606
623
608
627
616
610
635
604
621
614
604
608
614
608
620
632
629
608
628
612
612
612
604
608
606
614
613
624
614
634
605
611
620
613
609
620
632
610
621
622
617
623
606
632
621
608
603
629
602
612
616
605
639
613
606
619
613
607
605
632
608
631
626
609
634
605
629
618
624
608
616
613
619
605
634
617
629
610
617
628
606
602
622
626
616
622
613
623
609
634
605
622
623
630
605
622
603
627
630
632
626
618
618
635
620
610
606
632
632
614
614
639
603
618
605
632
609
635
609
609
613
624
618
607
605
625
615
606
607
614
613
619
633
612
607
627
614
608
616
619
605
626
606
608
615
632
612
610
622
619
602
607
633
603
621
630
625
611
625
639
625
636
606
610
606
614
604
611
613
622
619
599
606
607
631
621
603
614
608
632
622
612
603
622
614
616
625
606
623
628
607
622
620
614
622
614
607
617
610
610
615
612
606
618
635
612
604
603
613
605
617
621
604
614
635
610
611
617
633
604
616
601
627
632
632
621
626
609
619
603
610
609
622
640
629
613
625
628
624
619
621
618
603
636
624
608
611
617
617
622
615
602
631
610
631
608
615
607
602
632
615
614
632
604
611
610
623
605
621
617
628
627
621
614
618
625
617
623
629
605
617
622
633
623
619
614
634
616
614
610
624
602
615
605
639
626
615
618
618
611
615
617
610
614
610
615
629
606
599
614
606
629
628
607
621
607
615
618
628
633
607
607
622
613
613
614
601
615
601
611
617
618
632
617
605
617
625
628
630
612
611
607
615
615
619
640
610
613
619
606
608
613
616
632
631
613
633
616
635
608
613
641
610
602
627
614
628
618
611
640
610
613
615
603
603
628
608
622
611
639
628
617
631
605
616
605
609
619
609
616
611
618
611
631
628
610
613
628
607
622
624
611
608
634
604
629
614
621
606
635
625
608
618
609
607
634
600
612
626
610
623
603
626
616
608
614
626
620
615
623
625
630
607
630
607
617
617
619
622
620
628
608
631
604
630
631
634
606
624
611
625
632
631
609
607
620
621
635
617
623
634
639
618
604
637
619
613
620
609
608
632
638
609
617
619
613
615
613
627
616
604
604
617
621
606
613
608
611
602
603
604
628
605
622
623
602
632
614
617
604
629
606
617
624
616
611
613
630
623
610
613
619
625
618
625
631
609
624
639
624
617
614
604
606
616
625
607
623
613
608
640
611
628
619
607
620
606
605
630
618
628
631
616
615
617
639
610
607
612
619
611
621
618
619
622
608
606
605
616
613
606
613
621
612
629
607
618
625
629
614
618
621
611
619
614
619
609
617
623
625
613
613
614
612
639
622
604
614
631
614
614
617
602
624
611
621
631
611
618
616
605
626
616
627
623
608
613
615
628
632
629
615
612
635
622
618
633
615
619
632
612
614
613
623
627
622
612
629
622
608
632
605
625
639
618
611
632
626
612
605
620
614
632
609
614
631
614
612
630
630
609
624
620
621
635
614
612
605
623
632
611
611
630
637
606
607
628
604
614
631
608
612
630
611
632
617
606
614
625
623
620
619
613
607
614
617
628
633
628
618
615
609
617
623
619
603
618
624
614
617
620
629
621
607
609
617
633
607
614
610
636
640
617
606
601
617
617
618
624
620
634
611
607
614
614
628
613
609
618
626
608
617
628
626
617
603
613
639
614
634
614
634
628
605
614
600
614
629
639
616
625
609
611
620
618
610
610
620
621
623
620
604
609
615
623
627
604
603
612
628
608
617
632
603
603
622
608
607
607
606
631
626
636
614
629
614
615
620
631
617
615
609
626
618
625
611
624
613
606
605
610
606
605
603
612
610
628
610
622
605
609
606
613
606
607
615
616
606
604
614
616
620
605
639
615
629
629
640
604
625
606
628
616
616
610
633
612
609
619
604
605
613
639
614
633
618
608
607
615
602
605
613
603
614
606
618
620
613
629
622
602
635
627
608
633
621
607
605
609
631
633
603
605
611
614
626
605
621
621
627
603
627
610
619
634
617
602
606
613
632
605
613
618
611
606
629
617
607
608
614
617
613
626
632
603
602
607
606
610
628
625
604
610
609
602
639
628
625
606
632
613
615
609
603
611
602
614
625
629
631
617
606
625
617
621
615
624
631
634
632
606
610
630
615
615
611
622
621
617
622
608
623
619
613
606
617
625
633
602
613
601
605
627
613
607
607
610
609
609
620
623
626
617
624
620
604
618
609
602
622
623
624
608
623
613
605
613
623
609
620
614
623
612
608
619
607
618
616
610
624
624
620
611
620
622
620
628
639
630
614
606
615
631
607
639
631
624
604
631
609
618
607
613
615
607
610
619
612
634
613
619
617
623
619
618
609
609
620
609
618
604
631
612
604
604
632
639
603
631
611
606
628
625
610
639
609
632
639
604
632
612
635
623
633
606
611
621
609
622
626
611
617
610
623
639
631
618
626
611
624
631
636
611
625
622
608
609
626
610
630
610
613
617
614
607
609
631
612
613
613
628
618
613
624
607
629
608
625
619
632
623
620
626
631
623
618
631
623
608
632
610
614
618
633
615
605
632
624
616
610
605
629
605
624
613
605
623
608
618
613
632
640
607
622
610
622
603
622
612
607
605
612
639
613
612
632
607
623
611
618
628
608
622
604
615
604
617
604
601
618
629
617
618
614
605
614
610
625
624
608
609
623
626
626
612
606
609
635
629
606
603
609
629
607
603
611
639
603
603
635
625
638
622
605
612
629
620
623
604
621
631
613
608
608
605
613
606
618
613
605
603
616
618
636
631
621
613
614
604
614
613
609
608
622
606
618
617
630
608
611
611
611
603
623
613
635
602
632
603
623
619
615
639
619
613
604
604
619
604
614
608
608
614
601
604
627
614
619
613
612
619
614
610
607
606
635
630
625
615
624
605
624
609
620
612
611
630
622
614
639
639
633
608
626
604
619
609
609
612
625
622
606
607
612
618
619
627
639
613
636
631
615
619
626
629
605
602
615
613
609
605
606
614
632
611
617
616
620
631
604
614
606
614
607
623
610
623
629
602
608
631
637
626
623
603
624
614
622
625
618
623
632
635
636
618
612
621
628
631
608
632
625
618
614
609
618
625
622
622
622
626
636
629
634
615
617
625
607
619
614
616
608
605
614
625
610
639
610
611
630
625
623
614
635
620
620
631
631
625
620
609
622
633
603
620
614
631
617
605
619
606
608
608
611
629
606
606
620
623
628
628
639
614
627
617
627
630
632
614
629
614
632
619
619
631
610
615
607
617
610
607
623
612
630
627
620
613
610
623
608
634
603
618
626
618
609
629
604
602
620
606
608
609
632
613
622
608
606
632
611
626
603
611
623
618
621
608
612
622
621
608
621
610
630
603
617
613
621
639
613
624
614
614
621
606
630
632
607
605
617
605
627
602
630
611
630
631
612
627
602
629
606
634
629
614
631
625
608
622
623
620
609
606
608
635
606
612
610
622
603
616
615
626
621
605
619
617
624
614
626
610
624
601
605
623
617
623
631
613
630
632
616
635
629
600
622
607
608
611
618
623
608
617
610
628
619
620
610
618
614
603
611
632
614
626
632
630
632
621
611
604
609
608
602
630
613
613
621
605
623
606
634
632
618
617
610
617
631
612
611
626
609
625
630
614
627
639
611
619
615
623
616
619
624
631
613
621
608
636
628
617
613
607
607
636
607
618
611
604
609
612
623
623
625
632
629
606
611
625
629
639
621
608
602
603
615
610
607
621
625
609
614
614
608
625
632
635
628
631
622
619
613
606
617
620
608
614
626
631
610
608
607
635
620
623
613
625
608
608
620
612
609
613
617
627
604
620
613
631
605
623
611
627
611
608
610
635
611
618
605
620
603
634
612
624
625
623
626
625
630
611
620
609
633
610
610
629
605
618
622
629
613
634
610
611
618
602
632
620
626
632
614
608
623
621
614
637
634
604
622
633
614
606
619
615
614
623
617
612
611
622
622
636
617
614
628
609
610
609
613
611
634
607
627
631
603
612
610
639
627
626
632
612
614
609
609
603
621
612
616
621
617
622
631
616
602
619
602
618
615
636
606
613
613
608
615
639
630
618
623
603
634
613
617
628
627
624
604
603
639
629
625
625
609
613
603
629
614
608
630
626
612
611
600
622
626
608
625
617
625
628
619
623
626
639
623
615
606
614
617
604
632
610
634
640
620
607
626
617
611
629
599
606
620
613
609
610
609
622
620
609
613
617
625
626
624
608
622
630
611
608
615
619
613
612
615
610
612
632
607
620
620
639
607
632
619
606
610
610
613
617
631
608
607
631
599
611
614
614
605
623
610
629
615
606
622
619
609
610
626
615
603
613
612
609
609
639
627
608
605
623
625
620
621
605
636
606
625
614
615
609
628
606
625
608
615
612
626
612
602
614
606
615
614
625
612
614
627
610
631
626
619
630
639
606
606
619
622
614
621
606
627
602
606
624
625
616
627
613
626
623
627
618
630
626
615
633
609
632
611
604
613
610
614
611
625
606
618
615
609
617
630
611
613
609
623
604
635
634
637
614
612
616
610
611
631
622
604
614
614
617
627
606
634
605
626
603
605
608
620
625
632
621
616
610
606
608
608
603
632
605
617
621
615
608
635
632
622
611
614
612
616
618
601
620
608
617
605
626
621
625
636
614
630
632
613
604
612
606
611
613
620
624
624
605
610
605
608
612
606
608
620
603
615
614
621
617
624
635
619
619
623
623
618
625
617
628
636
624
617
629
618
603
606
608
623
628
610
631
614
601
618
608
631
618
623
624
614
607
606
611
615
602
613
607
614
614
618
609
616
624
610
616
605
615
625
607
607
607
608
610
617
628
619
636
623
616
604
626
614
606
612
613
606
626
604
608
630
607
605
632
627
630
619
604
639
635
631
611
623
604
617
610
604
627
606
626
605
635
616
613
604
635
606
620
638
615
616
640
626
618
626
639
625
635
618
621
624
631
618
616
616
630
608
616
608
604
620
608
608
617
616
623
639
612
625
611
631
608
631
608
613
615
616
608
610
626
602
604
615
631
629
614
623
634
610
606
605
613
625
640
609
616
631
609
616
614
612
610
622
633
609
610
619
606
611
614
628
602
609
610
610
634
605
609
614
608
607
617
611
632
617
612
611
608
617
609
616
632
613
604
609
614
602
609
623
617
608
623
609
616
629
639
620
606
617
619
611
619
611
608
639
604
617
622
604
613
614
607
637
615
609
614
635
617
607
624
614
638
614
613
608
605
617
612
622
603
618
623
613
608
619
621
612
625
620
618
618
605
617
617
613
616
620
614
621
625
615
622
624
621
611
613
623
631
609
615
618
626
606
609
602
617
629
618
629
632
624
619
604
615
617
611
623
605
625
610
613
617
609
624
615
608
603
622
607
614
621
606
623
619
614
618
632
617
611
625
629
614
620
627
620
608
617
621
623
607
605
620
616
611
618
620
614
604
631
620
628
631
601
614
614
622
599
630
620
617
631
599
616
603
625
619
606
639
631
615
617
629
612
602
630
631
621
638
613
614
623
602
636
613
621
622
616
632
632
605
625
604
604
603
608
602
614
622
616
632
615
617
616
622
630
639
632
607
609
624
605
639
613
612
613
615
608
613
612
632
626
613
608
606
612
620
604
628
623
621
605
618
616
632
636
611
640
607
633
603
614
614
639
636
635
602
608
627
626
632
603
609
626
612
618
602
635
613
620
623
613
609
628
623
606
604
622
614
617
632
610
606
619
613
624
635
618
611
609
616
632
615
618
608
622
623
614
608
611
639
605
616
619
631
613
624
613
613
613
613
616
617
623
611
613
635
619
627
608
603
622
608
602
622
601
614
603
603
629
623
607
638
629
620
613
638
617
600
614
619
640
613
606
606
631
627
617
632
612
603
626
621
635
610
621
626
611
607
610
608
624
620
604
630
616
609
609
622
617
627
604
618
637
639
613
622
604
616
632
611
623
621
612
629
631
614
613
606
630
611
600
615
613
608
603
606
607
607
629
611
604
618
622
619
634
608
615
612
613
633
633
607
603
613
615
605
609
608
635
629
630
620
630
628
613
606
631
616
627
632
635
614
611
624
606
618
625
605
607
613
613
616
605
605
628
626
614
608
635
622
615
630
609
618
615
626
621
610
616
623
629
609
624
626
617
605
626
625
624
607
612
639
612
632
634
629
624
605
617
604
607
605
625
635
603
622
631
618
620
613
625
619
626
612
622
608
612
637
632
620
621
609
622
607
613
636
617
611
605
622
625
623
604
614
639
619
605
621
610
619
621
630
605
624
626
609
623
602
608
607
604
630
625
623
605
611
610
615
631
619
623
608
629
614
612
604
629
614
604
626
612
617
605
612
622
611
603
606
611
613
607
622
621
607
635
610
621
605
622
605
608
617
618
639
626
606
621
615
608
623
630
631
608
620
608
621
616
619
607
623
607
631
623
613
620
619
608
615
614
635
624
605
607
614
607
634
610
612
627
630
613
635
621
611
611
630
622
622
632
616
632
619
623
607
609
617
607
603
617
632
608
603
614
621
605
615
606
629
627
609
603
610
623
614
628
608
617
624
632
635
602
618
625
617
600
604
631
611
603
604
632
606
623
613
610
611
608
615
619
604
624
612
611
634
603
611
606
620
639
632
620
604
618
608
621
639
621
623
625
639
619
628
602
602
628
626
604
611
622
629
607
604
612
603
613
626
606
617
610
610
625
608
615
606
611
627
626
615
624
611
639
620
603
632
640
618
633
608
623
624
607
616
605
620
624
607
613
609
603
633
626
621
617
617
605
607
606
623
618
632
631
618
605
617
623
617
622
605
618
605
615
610
617
608
617
616
625
618
626
612
634
617
625
624
612
603
610
607
634
628
614
612
612
609
627
626
628
622
606
602
623
615
606
617
611
620
617
629
602
634
613
613
609
604
630
631
633
629
612
620
606
625
613
619
625
607
612
614
624
615
599
625
618
631
628
622
632
604
636
607
618
610
618
631
610
617
634
613
618
628
608
626
627
605
631
615
635
614
605
602
617
625
616
608
623
620
631
614
626
631
632
633
625
617
634
601
627
609
605
617
623
605
617
616
608
619
639
630
609
622
626
609
617
607
608
604
629
628
618
606
608
617
612
633
618
622
615
633
609
620
625
632
606
624
611
614
622
622
611
603
605
625
631
617
622
637
631
620
609
607
612
631
629
605
607
617
623
637
629
603
612
606
621
613
605
634
624
639
610
631
606
623
635
623
612
611
610
612
612
608
619
613
632
624
611
605
624
624
628
630
613
605
619
631
618
616
614
621
630
604
633
618
620
623
639
610
602
631
628
612
620
622
604
616
610
622
619
625
622
620
627
630
617
607
618
630
616
612
609
609
616
609
627
632
613
610
604
613
627
616
610
627
603
604
622
605
624
634
625
622
616
623
619
614
618
611
615
615
637
611
634
609
625
604
619
627
619
630
619
626
609
607
607
613
628
612
629
625
611
603
609
602
616
638
627
631
627
638
617
613
624
609
608
607
616
618
619
629
627
620
613
606
614
619
617
622
609
635
609
616
605
623
626
630
620
640
634
604
613
619
616
621
601
618
609
600
623
631
616
618
634
608
617
630
622
619
632
614
608
639
602
617
602
623
620
617
629
617
623
609
618
608
614
639
607
605
619
604
611
626
622
610
610
614
618
624
623
609
617
613
633
630
628
610
615
605
615
629
608
622
627
604
611
622
623
610
604
631
629
620
619
614
614
617
621
614
609
610
626
614
614
615
609
622
621
609
622
603
622
605
622
609
605
610
628
602
631
630
608
621
605
623
639
629
612
623
635
626
629
608
640
630
604
633
624
609
612
615
603
622
618
632
616
635
614
629
624
639
634
605
612
619
635
615
605
613
618
610
609
615
629
626
607
619
621
615
626
629
622
604
627
610
603
609
610
630
604
616
632
601
627
632
609
619
607
627
622
614
618
620
616
625
615
623
629
607
605
608
606
631
631
636
616
605
619
621
622
640
627
626
618
634
622
607
634
614
611
636
611
639
614
631
637
606
605
610
622
612
639
610
610
608
631
639
618
622
611
631
605
604
625
631
604
603
623
611
606
628
617
637
621
609
632
632
609
617
620
602
608
600
606
610
624
610
608
617
615
606
617
632
608
637
613
625
618
609
619
614
624
612
617
613
609
631
604
604
611
604
624
629
603
639
604
625
635
605
613
617
604
622
616
607
621
606
612
604
631
605
639
613
615
613
616
605
610
640
608
613
620
636
606
613
632
615
623
619
635
630
637
608
613
624
617
614
612
632
604
622
626
626
609
621
618
629
618
632
629
639
622
604
617
610
606
629
610
640
626
625
614
631
611
609
630
624
632
609
614
626
606
604
615
631
605
608
614
606
614
620
609
607
628
636
622
617
630
622
639
610
617
634
623
608
620
625
627
609
606
610
608
621
630
606
604
623
614
605
603
629
622
604
602
621
622
608
610
628
627
613
623
617
636
615
622
635
613
613
609
632
611
606
608
614
607
614
609
612
620
633
634
635
612
617
633
610
613
632
628
630
634
631
608
634
614
624
613
635
623
605
622
629
606
620
623
613
603
611
614
620
639
609
619
603
604
639
610
623
628
607
603
635
623
622
610
605
620
610
635
632
623
620
622
608
611
608
617
630
620
608
626
607
621
632
609
609
614
617
615
603
621
630
641
623
628
629
639
619
611
604
614
616
612
607
631
607
632
608
605
605
605
639
613
612
602
608
609
624
639
607
622
623
608
603
623
619
602
628
616
617
619
614
622
631
639
613
639
618
623
634
609
603
628
639
623
608
605
611
628
617
615
626
615
612
616
612
617
614
613
610
619
625
604
611
615
614
628
608
613
606
632
617
620
617
614
608
615
616
615
614
606
609
623
627
605
606
631
606
623
623
611
608
614
606
609
617
613
613
614
609
632
624
612
613
635
625
620
618
625
614
616
620
624
614
616
610
635
623
623
612
614
606
613
610
621
609
620
611
614
625
612
629
619
613
617
605
610
636
604
631
637
613
619
604
631
613
610
609
630
620
606
608
628
627
613
628
631
626
607
606
612
604
615
632
619
625
614
625
610
603
620
616
604
617
634
613
609
611
609
630
616
613
607
608
632
614
605
604
634
606
606
614
603
621
621
630
614
611
631
609
606
616
615
633
606
623
619
609
614
619
617
626
616
617
608
615
604
630
605
626
609
624
605
622
612
633
606
613
623
612
621
618
624
615
608
606
639
606
612
611
601
603
633
605
616
632
621
632
622
614
623
634
608
614
607
626
629
624
611
614
613
635
610
618
610
617
616
635
635
610
611
607
624
629
634
612
608
616
611
639
616
639
627
628
615
606
613
625
619
614
608
609
605
624
627
609
621
613
611
629
614
631
619
603
609
634
611
612
629
614
620
626
631
619
608
621
627
617
613
639
616
607
605
622
604
611
624
621
608
619
614
606
620
614
604
616
617
613
621
639
609
615
604
602
609
621
614
608
611
633
618
608
614
614
604
614
619
629
627
605
602
625
624
618
602
622
603
608
619
624
611
610
631
605
637
616
613
618
631
607
615
625
604
618
612
600
626
616
614
616
622
608
614
614
631
605
607
617
608
616
620
615
617
613
623
601
619
609
606
638
608
606
605
612
604
639
624
624
632
620
611
638
635
613
628
621
627
612
620
608
608
603
640
607
620
631
608
612
612
633
626
609
625
609
607
610
620
614
627
622
603
626
628
625
615
626
625
606
625
627
632
625
610
633
619
620
636
630
605
634
608
626
617
615
619
606
609
603
619
639
619
622
623
609
616
608
611
606
629
639
616
607
623
612
627
612
632
621
615
623
633
625
621
615
609
610
603
632
634
608
611
612
618
622
605
604
611
632
609
611
621
608
631
616
624
613
607
602
619
631
609
633
608
602
623
629
622
622
612
613
607
605
621
608
602
606
615
632
623
632
605
614
604
631
627
617
610
618
621
609
620
605
621
609
613
639
614
614
629
619
630
605
628
603
612
614
617
606
631
605
614
627
639
607
626
630
632
610
621
620
622
632
614
608
624
614
606
607
639
614
634
629
607
631
615
605
616
621
619
606
629
639
612
604
622
625
632
610
622
627
602
615
623
606
608
626
630
605
609
623
607
639
632
605
624
621
607
611
602
613
617
623
609
612
606
606
604
626
613
623
624
606
625
632
615
635
610
623
626
623
609
630
608
612
625
625
626
632
611
623
609
609
632
609
632
611
621
630
636
631
627
616
609
618
602
608
615
604
606
611
617
604
639
615
606
614
610
639
606
636
618
629
621
635
618
627
625
633
639
619
622
608
614
608
607
621
623
633
613
637
620
625
619
605
611
627
639
605
629
614
609
621
630
610
611
640
629
612
616
608
613
637
614
618
606
609
605
630
631
614
604
630
633
608
606
611
603
613
629
607
613
609
603
617
629
608
614
618
632
628
617
604
633
632
621
631
607
621
608
630
613
603
634
627
621
622
621
624
631
629
623
629
617
611
608
613
611
622
603
621
634
626
627
634
624
608
615
606
611
604
624
614
636
609
636
614
623
617
613
629
631
607
627
614
602
624
611
607
610
620
618
604
623
626
615
609
615
631
633
610
632
612
606
604
629
639
608
608
609
631
612
609
607
610
610
615
622
602
610
626
608
626
630
606
631
630
621
620
606
614
639
604
610
641
603
626
620
624
604
612
610
621
629
617
623
614
616
627
618
623
619
630
625
612
613
630
601
606
622
610
614
614
611
604
615
623
615
611
611
631
613
629
620
616
609
618
606
616
619
639
611
620
631
608
611
608
626
631
619
613
613
615
614
631
631
608
604
612
613
607
612
608
639
607
622
625
623
621
618
618
612
605
608
619
622
608
614
609
622
622
624
616
639
610
635
608
611
620
639
609
607
611
604
611
600
614
604
613
626
635
629
617
614
608
602
628
610
612
609
606
612
612
609
633
632
610
605
611
625
631
609
635
607
637
634
612
621
607
635
619
620
614
614
622
610
620
637
607
608
625
628
614
614
612
621
617
613
617
609
608
633
607
603
604
601
615
629
634
602
632
606
640
626
604
606
617
611
607
628
628
605
639
630
621
608
623
625
612
606
614
630
632
609
609
622
617
639
603
618
608
622
602
613
617
624
603
621
606
615
608
621
607
629
611
606
612
635
635
608
617
609
615
623
614
607
630
614
619
612
610
614
607
623
615
617
609
627
606
626
623
629
635
622
615
626
622
602
605
626
619
619
608
628
631
632
639
630
631
611
633
629
618
616
613
609
612
616
612
619
609
620
619
619
626
636
602
621
607
606
614
602
616
619
620
604
604
615
607
634
612
622
618
629
606
612
629
618
607
630
628
611
603
638
610
611
622
617
617
632
627
611
620
624
632
617
618
613
604
619
605
621
639
612
603
625
626
612
601
602
627
622
612
610
619
604
614
605
607
608
603
619
626
603
616
608
610
617
602
618
613
611
608
623
604
620
619
614
614
623
626
606
637
605
633
622
625
613
623
628
636
617
625
613
626
623
620
615
619
631
611
614
621
609
611
629
634
612
605
631
609
635
610
619
615
626
630
605
613
606
612
602
606
613
632
635
615
610
611
624
613
629
627
605
631
631
623
618
625
617
614
618
604
632
624
604
611
623
600
609
626
632
612
634
617
630
605
624
631
626
617
603
626
607
613
614
610
638
632
608
634
609
620
613
602
613
601
617
610
606
606
601
626
606
617
634
612
624
609
639
603
617
613
603
617
610
606
623
616
605
620
631
612
631
608
639
616
631
606
625
632
605
625
615
603
609
606
611
607
603
632
620
629
614
620
630
608
605
603
600
632
610
612
621
625
601
631
628
623
639
609
609
613
601
607
605
639
615
606
624
629
622
606
623
611
609
639
602
603
613
632
602
613
617
622
612
606
620
615
636
620
606
632
613
607
611
610
638
628
631
623
631
627
630
614
616
611
633
619
601
605
614
633
619
611
624
627
636
627
603
606
633
611
627
601
619
601
610
603
611
611
613
613
604
612
622
614
639
609
623
638
620
605
632
606
637
624
621
629
609
618
623
609
639
607
602
614
619
618
603
615
617
630
629
626
630
625
621
612
619
613
620
609
618
620
615
607
626
616
624
627
604
614
607
616
609
603
613
610
631
604
606
610
613
639
613
608
623
614
606
605
622
617
639
614
625
623
610
618
625
630
625
615
604
609
634
613
625
617
630
614
626
605
612
621
616
607
619
637
614
604
617
609
608
626
605
634
604
631
637
626
606
614
608
623
608
639
630
639
613
619
609
604
611
623
623
631
608
603
639
626
605
605
615
615
623
635
632
611
608
607
605
615
611
639
622
631
618
613
603
612
616
606
631
616
623
605
609
607
604
614
634
615
636
605
623
614
613
604
622
618
621
624
612
608
603
621
607
619
617
625
613
605
606
625
613
614
619
627
611
608
606
616
605
604
615
605
619
614
608
606
609
620
612
632
605
637
606
625
627
613
618
619
627
640
639
613
605
614
606
637
623
639
625
620
609
622
612
607
619
635
608
632
622
625
616
634
612
605
632
602
611
635
613
604
607
632
607
608
604
613
610
611
617
623
614
614
615
613
631
606
606
606
611
623
604
623
630
612
616
620
609
609
616
623
616
614
623
609
613
625
607
639
616
639
603
621
632
631
607
626
604
613
602
627
613
634
638
613
603
632
632
620
628
630
622
604
623
623
609
609
633
631
613
632
618
639
613
632
627
627
627
621
601
611
606
617
619
617
622
628
612
630
616
621
628
616
615
622
607
630
607
622
623
640
603
603
610
614
606
612
620
617
635
632
630
616
602
611
617
638
631
606
601
619
609
635
607
620
639
625
637
618
609
604
613
635
630
622
613
622
610
633
607
632
629
628
623
606
621
615
606
615
611
637
619
604
612
605
621
626
629
605
609
624
604
628
639
604
616
603
607
616
605
612
620
633
617
626
610
612
628
617
620
624
623
619
601
606
619
609
621
623
605
614
611
634
619
603
634
607
610
632
609
633
621
612
620
612
608
635
628
618
610
611
614
624
614
634
616
606
604
615
625
617
623
626
612
626
612
614
621
617
624
608
633
614
628
610
630
610
613
604
612
602
614
615
620
609
603
624
613
614
602
601
629
610
626
620
618
622
620
614
613
613
622
627
639
608
604
635
621
605
609
604
611
630
639
619
609
615
617
608
617
632
614
623
631
607
626
605
634
634
609
610
632
638
619
614
624
634
609
607
612
627
610
613
630
626
610
604
631
615
606
612
624
637
620
612
611
618
639
635
607
605
607
633
611
605
606
607
608
634
605
634
613
634
633
639
608
603
602
626
603
627
627
630
623
608
625
630
607
627
632
630
628
627
624
626
632
607
611
617
607
636
613
627
611
617
628
630
634
630
611
604
613
608
630
621
607
607
639
605
622
628
609
608
605
608
617
627
605
614
604
615
632
630
619
615
614
603
630
614
603
612
632
619
639
623
608
609
617
624
631
603
618
608
617
631
639
639
616
605
626
603
614
636
614
609
622
610
608
613
633
612
622
631
610
621
624
620
635
622
617
615
635
618
625
614
605
608
633
623
614
606
614
612
611
627
611
611
615
608
613
625
623
629
616
628
631
619
608
631
624
616
623
618
619
611
633
609
608
620
626
609
605
629
637
616
618
622
613
605
629
605
632
630
621
635
608
623
609
605
613
637
623
605
604
620
614
613
631
638
609
612
604
621
620
614
614
605
636
607
607
601
619
634
614
619
625
620
633
610
620
625
607
614
604
613
604
618
623
610
627
627
636
605
631
631
630
610
615
603
614
631
607
617
635
627
626
612
611
605
614
623
628
612
621
608
609
606
625
620
605
622
625
618
619
605
628
613
624
609
620
622
613
634
620
614
640
619
620
614
625
623
639
614
610
626
634
616
604
606
629
613
631
613
606
635
614
614
627
613
609
608
611
617
609
614
607
610
610
605
621
620
609
629
623
608
623
623
634
622
618
631
602
612
622
602
603
624
612
607
623
624
623
606
609
610
618
615
632
629
604
613
611
622
609
603
609
607
632
615
610
613
607
611
610
614
606
611
617
631
622
608
602
633
632
622
612
611
619
632
619
621
628
615
604
602
625
608
611
612
602
605
633
611
612
616
614
614
630
615
629
630
603
621
616
610
621
635
603
639
639
623
613
622
610
631
611
609
640
624
607
628
609
626
613
629
620
617
613
604
609
632
620
613
610
603
623
635
607
610
629
614
615
637
604
611
610
613
602
622
601
618
611
625
621
631
605
626
624
606
625
623
606
631
619
629
609
618
614
609
619
603
613
610
612
627
627
606
619
629
631
622
623
626
629
603
618
617
632
604
622
619
620
606
601
630
605
607
607
609
612
613
629
613
619
617
605
603
621
614
623
614
632
618
629
640
617
628
608
601
628
639
621
623
610
627
623
608
607
625
607
622
615
615
613
621
611
613
632
619
626
618
621
607
612
606
606
625
611
623
619
625
614
627
615
612
630
605
622
606
607
609
639
605
630
622
613
620
614
622
612
602
614
610
614
603
615
632
618
639
617
618
602
622
623
634
604
612
603
617
613
624
627
605
608
614
618
619
604
623
623
618
608
608
617
618
616
615
614
606
622
615
611
621
619
639
629
639
617
639
614
632
625
608
610
621
612
618
620
612
629
624
630
636
610
614
610
625
604
607
607
625
618
632
608
609
603
614
602
630
615
606
612
632
605
631
635
620
620
626
612
612
608
623
611
626
632
628
633
613
609
628
629
605
610
606
627
614
622
605
632
604
620
622
629
631
615
632
632
623
606
603
617
608
616
611
623
623
614
627
609
623
603
611
628
616
605
617
623
636
618
631
621
613
607
625
630
635
618
622
619
608
624
634
606
624
615
627
624
605
610
629
613
635
603
625
628
617
602
604
609
607
618
607
624
613
617
605
615
639
612
610
620
610
625
613
614
617
633
622
600
610
609
632
622
620
622
626
608
634
608
619
632
617
619
603
628
635
617
607
609
618
607
614
606
609
632
623
624
607
620
629
608
632
603
616
608
632
627
631
626
604
629
617
611
606
612
622
620
606
606
610
619
622
630
612
605
607
631
628
614
621
615
623
633
610
617
622
613
613
625
610
632
636
613
628
624
608
629
617
626
612
607
615
613
625
614
631
632
625
621
607
622
621
610
605
630
618
629
608
627
624
626
622
614
606
609
603
608
609
616
629
623
626
609
606
637
609
629
636
614
623
626
632
631
613
614
607
613
603
626
625
639
602
622
616
640
608
605
628
622
613
639
620
637
615
629
623
601
609
632
604
618
631
623
614
607
631
622
613
605
610
605
610
620
632
620
606
606
618
612
605
632
622
639
603
615
612
630
621
605
610
617
604
626
626
609
606
606
608
627
626
615
639
639
608
609
622
626
610
627
620
632
632
626
613
623
608
631
606
619
629
629
621
606
621
610
639
613
607
619
630
608
619
614
628
612
617
606
614
623
625
618
628
604
617
611
624
619
625
615
612
625
632
620
618
612
614
621
617
631
626
632
611
603
599
604
608
626
626
632
602
617
611
628
599
629
630
610
632
616
607
604
609
627
607
602
630
614
613
606
611
635
623
608
632
623
611
632
632
636
615
631
627
608
611
633
627
610
614
620
607
617
633
638
607
602
611
628
613
618
615
607
613
612
606
607
602
608
633
629
618
619
627
627
604
631
620
606
626
629
639
606
632
625
622
610
614
606
622
626
619
627
613
608
605
611
621
609
624
628
629
612
634
605
615
606
626
631
613
633
627
632
615
623
613
605
615
614
634
615
626
622
613
632
601
614
612
601
605
624
616
627
603
613
639
617
622
617
606
614
627
631
618
610
616
607
621
611
624
618
626
600
626
609
618
606
603
613
624
623
600
634
613
625
608
620
611
626
632
617
605
617
601
622
615
631
634
606
623
628
603
603
609
605
622
632
606
605
606
634
626
604
621
621
624
614
605
614
601
617
614
613
626
632
618
615
635
613
631
630
618
605
622
635
619
615
629
603
604
629
618
639
606
626
623
608
628
616
624
610
609
627
605
606
614
615
625
604
615
616
606
614
608
613
616
622
608
606
611
604
621
626
611
619
625
614
605
603
608
623
624
631
615
609
627
629
612
612
633
610
617
608
629
611
619
631
613
618
614
606
606
614
620
614
623
619
620
632
613
631
625
613
615
606
639
613
610
611
633
639
610
623
605
613
626
626
610
619
624
622
614
615
609
601
629
625
621
604
613
607
629
632
635
620
626
604
625
605
619
605
609
622
608
617
608
632
604
608
604
602
617
624
608
631
611
602
605
608
629
608
639
636
609
615
635
626
634
604
616
610
614
614
608
634
610
629
611
622
611
615
611
612
617
626
608
635
623
613
617
604
621
613
629
620
621
627
603
617
603
609
608
631
607
614
616
632
610
634
623
614
639
633
612
600
613
615
630
624
625
618
613
633
613
629
609
612
602
627
630
610
626
603
630
628
607
629
603
623
608
612
605
604
610
623
603
625
629
618
629
619
622
607
608
608
614
624
608
632
626
613
624
628
614
617
629
604
608
619
607
610
614
609
626
617
621
615
609
623
639
610
623
603
602
608
632
604
613
617
606
614
638
604
613
610
602
630
622
613
614
623
609
616
615
609
627
614
613
602
606
633
603
615
621
609
621
637
609
632
621
632
614
609
619
605
604
628
610
624
639
634
639
616
621
610
604
605
604
616
630
604
605
620
629
611
617
632
635
629
609
631
616
626
611
613
611
607
605
607
616
605
602
616
604
603
623
617
607
621
616
610
622
637
621
628
634
608
618
612
610
638
608
628
608
606
625
625
639
626
610
604
607
618
620
619
608
623
631
609
634
614
613
633
628
617
621
610
628
612
616
605
628
623
634
639
622
613
620
632
619
614
614
602
627
635
619
640
616
603
613
620
626
629
629
612
625
618
617
609
625
613
608
630
628
620
618
617
632
614
622
620
634
617
609
623
616
618
602
608
622
621
637
629
624
627
611
632
613
603
613
623
611
607
622
618
634
604
610
634
614
617
612
615
631
639
614
610
626
630
617
608
631
610
619
605
616
613
620
636
632
617
632
608
632
623
610
631
631
619
634
622
608
625
613
610
611
631
604
613
602
614
617
631
628
612
622
635
630
613
639
607
605
630
619
607
631
609
604
605
626
639
620
611
614
627
630
640
625
622
634
610
614
613
603
604
614
631
602
624
603
614
619
608
628
626
615
610
617
617
610
614
621
604
626
617
633
623
626
604
623
600
608
604
623
612
621
612
608
607
617
607
610
610
614
628
629
617
623
632
613
617
608
609
625
639
617
635
604
602
603
604
605
617
623
610
616
629
612
622
631
605
623
601
614
611
631
617
610
631
624
605
602
639
608
634
616
627
609
641
631
619
604
609
630
608
605
627
628
609
610
629
604
609
603
613
618
615
606
604
622
621
616
606
617
601
610
621
610
616
605
626
625
618
621
615
630
617
620
615
607
609
612
606
613
628
641
608
617
613
620
627
616
613
610
612
603
605
639
611
622
609
634
612
618
613
615
612
611
616
639
621
634
604
632
622
622
617
625
609
605
623
613
629
635
614
613
627
604
613
618
619
605
628
639
603
621
632
608
616
629
609
622
632
633
606
626
632
603
613
612
628
606
607
633
625
637
610
613
618
628
630
615
616
621
612
621
611
634
617
607
618
620
621
628
631
610
607
625
612
612
630
606
614
625
628
619
604
608
628
634
625
619
631
632
639
610
608
616
630
604
603
628
614
629
624
600
615
632
639
606
617
622
611
610
607
616
608
635
624
625
602
632
623
620
625
617
609
620
613
614
630
608
628
609
633
615
603
619
608
599
605
622
601
606
620
603
609
601
632
602
608
623
635
609
614
613
608
620
611
612
607
607
611
626
635
627
612
613
602
604
612
606
609
609
622
606
623
611
605
617
602
634
637
610
617
614
628
609
612
632
619
636
635
638
607
630
603
613
635
619
640
632
608
631
614
623
630
605
627
603
603
607
636
615
632
612
618
640
617
604
626
625
613
617
614
639
622
618
617
616
625
610
620
632
609
617
636
621
617
612
611
618
618
618
602
626
630
614
629
620
629
616
631
615
618
621
615
617
639
607
612
612
617
603
628
608
639
611
608
612
603
616
605
625
611
612
617
613
604
630
625
603
624
617
624
618
614
604
612
639
608
608
610
626
630
624
626
614
625
619
601
639
609
612
605
619
626
606
604
608
619
603
625
629
609
626
606
603
620
632
615
619
634
613
603
617
624
606
609
612
622
612
629
623
610
608
615
622
603
610
617
609
607
604
605
629
604
609
603
613
609
627
613
619
604
610
630
614
625
618
606
604
602
615
610
615
601
610
601
615
623
621
629
627
608
604
607
609
625
621
619
631
625
605
613
627
614
622
615
621
610
625
629
623
626
631
623
612
605
622
606
609
612
604
615
612
607
626
608
605
611
602
621
622
626
635
613
635
615
635
610
617
603
620
615
628
612
609
611
632
608
609
619
619
622
633
615
605
603
611
606
605
639
609
632
626
621
618
631
626
630
615
623
632
622
613
617
610
608
617
620
606
623
621
604
629
622
607
607
621
633
629
613
612
613
618
605
614
613
615
615
630
622
609
606
604
618
613
626
621
614
614
618
613
612
622
630
617
607
611
630
607
632
621
609
602
609
601
601
599
624
618
625
625
606
615
617
613
616
615
607
613
617
611
606
604
614
628
613
610
620
611
629
613
632
605
626
613
605
608
619
633
611
604
628
606
610
617
619
613
610
619
632
632
627
617
639
608
632
619
612
613
614
603
615
625
604
614
634
608
623
628
612
614
635
617
624
619
613
622
608
611
639
612
614
638
634
619
604
608
616
604
609
611
611
611
609
605
610
616
621
632
614
613
618
612
611
627
614
632
623
615
626
620
615
607
608
604
605
607
622
611
613
626
640
616
616
611
636
609
605
631
626
611
613
606
625
633
639
626
617
608
609
615
614
626
606
612
613
614
607
621
604
613
630
621
631
605
604
621
633
603
623
621
605
614
620
623
615
631
639
616
624
613
602
619
604
620
613
604
629
617
632
608
611
618
626
609
632
601
619
619
613
610
617
632
607
603
613
634
633
612
614
604
613
625
609
610
620
618
618
615
621
638
636
612
613
635
609
630
608
631
638
610
634
610
620
605
621
635
610
604
627
632
625
632
603
609
626
631
618
609
604
617
622
629
605
606
613
613
634
630
608
603
610
608
606
635
631
635
630
625
624
619
623
631
602
604
613
635
619
630
602
614
625
607
626
610
603
605
611
620
632
613
632
613
627
628
623
617
613
628
610
615
621
610
610
622
617
609
605
618
604
608
617
605
620
608
622
613
611
637
621
614
624
625
609
609
630
618
624
605
634
614
612
637
603
625
617
617
610
614
632
639
610
625
624
604
639
628
631
606
603
610
602
631
622
624
613
617
613
608
618
629
623
632
612
620
633
614
629
622
613
604
632
617
639
627
608
609
621
603
610
608
628
624
634
609
613
619
623
630
609
618
622
607
617
606
613
624
621
606
611
623
620
606
608
609
621
614
621
632
630
623
613
635
635
617
610
618
611
615
608
605
611
622
623
623
635
604
614
607
630
613
614
614
604
612
622
609
601
619
606
604
604
632
613
607
609
600
620
607
603
608
629
608
612
599
610
632
618
633
611
605
628
620
629
609
625
630
612
611
611
613
610
614
629
610
617
612
619
615
620
606
626
608
601
605
607
607
621
606
621
605
612
604
604
623
630
600
639
602
622
608
625
614
615
639
628
629
625
614
614
604
627
622
611
628
614
603
623
631
612
619
635
606
615
635
603
604
637
602
612
612
605
612
631
627
613
639
614
605
607
634
623
619
619
624
630
619
608
627
619
623
616
606
631
609
621
629
628
614
609
627
617
611
603
623
603
627
614
630
602
632
622
618
605
623
622
610
617
614
602
603
624
625
605
611
623
616
620
620
614
631
635
623
603
640
604
611
614
603
637
625
634
639
615
609
617
620
633
617
631
639
625
618
620
614
631
610
603
625
624
606
614
621
636
614
628
603
627
635
626
614
617
633
625
639
605
626
608
629
630
622
612
618
620
626
608
624
620
639
608
616
632
629
617
622
610
608
634
625
615
611
606
612
618
622
612
622
623
604
611
610
614
613
625
602
613
633
639
601
613
624
623
612
614
617
617
613
613
607
609
623
614
610
608
639
603
600
615
627
635
609
612
636
622
617
628
639
614
603
599
616
629
619
608
639
607
624
629
611
624
603
626
629
611
632
614
605
600
620
632
617
609
619
618
617
614
623
637
626
632
628
618
615
618
613
607
611
629
609
618
618
639
603
632
610
621
627
613
621
625
620
611
620
635
606
607
609
613
603
613
632
618
623
626
639
609
615
622
604
605
621
606
632
609
626
609
607
610
620
608
632
606
623
626
607
639
608
611
630
606
606
614
617
616
628
619
622
609
608
612
617
612
634
631
635
634
624
605
605
618
609
613
633
602
628
611
607
616
604
613
613
608
632
605
615
614
611
629
632
614
606
615
608
639
616
614
639
619
632
627
630
622
606
632
611
614
623
605
620
607
601
623
626
613
610
613
604
604
635
634
613
620
631
638
614
600
613
627
610
619
607
613
631
622
623
626
613
613
608
616
612
610
615
617
612
635
626
612
636
625
618
622
637
626
620
614
632
634
629
611
615
609
619
631
613
613
613
617
616
606
626
628
612
609
635
615
624
609
622
612
628
629
632
623
637
629
607
632
605
617
608
617
615
625
634
611
606
617
606
626
611
629
619
617
615
632
617
609
632
626
610
606
628
622
606
609
613
616
619
627
635
609
611
612
624
637
619
622
622
628
609
600
599
628
602
614
616
614
618
604
640
613
604
604
635
623
607
635
612
613
634
619
612
613
604
614
620
611
617
608
614
608
631
616
615
605
630
621
633
611
620
619
629
625
604
605
628
631
602
614
619
621
626
632
639
619
629
630
629
617
608
612
612
613
636
630
611
639
615
630
618
617
635
608
626
631
626
624
608
604
634
608
620
614
614
624
631
626
639
614
623
614
614
616
628
608
631
623
610
602
612
623
611
631
629
620
603
630
600
622
623
613
607
617
611
610
625
617
613
629
606
628
639
607
602
610
622
608
632
606
613
606
618
630
609
609
621
606
612
607
633
607
619
631
618
625
610
604
604
613
613
626
619
614
622
606
605
628
634
618
604
639
609
612
604
621
618
619
620
622
622
635
618
635
613
614
607
606
627
603
610
613
626
605
622
604
608
616
609
602
630
635
621
610
604
603
629
606
605
623
616
624
613
634
627
615
639
639
620
621
626
633
608
609
622
629
613
613
634
616
601
631
601
610
611
625
628
620
607
622
613
614
609
632
609
605
625
620
637
613
618
614
616
622
615
613
608
606
617
607
639
626
609
621
622
606
628
618
621
631
623
634
631
614
631
607
609
608
609
606
604
613
616
622
616
626
610
629
614
606
630
616
615
619
609
626
619
613
612
608
604
616
612
632
639
639
620
622
615
608
634
639
619
621
611
609
621
609
619
608
631
622
624
603
600
606
608
625
627
605
607
630
613
636
618
609
614
622
617
606
603
604
604
617
618
616
614
634
620
616
629
621
614
618
622
632
623
611
614
631
618
618
612
602
610
632
623
637
608
612
620
616
613
613
639
618
612
627
617
628
605
608
610
605
623
614
613
617
634
608
623
632
632
614
639
608
625
609
607
612
617
607
608
616
609
620
629
625
603
627
622
628
607
621
613
617
617
630
613
606
600
632
617
615
602
603
609
621
621
606
624
632
620
639
625
628
606
614
615
604
638
622
615
623
604
634
609
631
623
609
617
632
614
631
627
615
603
612
610
616
617
613
604
613
609
632
611
610
626
610
604
616
621
619
619
625
608
637
632
620
605
623
604
621
608
607
631
625
612
601
625
609
603
629
602
603
619
602
617
607
623
633
629
622
621
619
624
623
611
608
605
633
614
609
604
628
639
623
640
608
603
617
606
602
607
614
635
627
620
612
611
634
619
619
639
633
635
615
626
613
608
609
603
617
630
630
617
631
620
609
606
623
604
614
612
604
640
622
630
610
626
609
633
617
604
611
619
614
607
626
632
605
611
610
603
639
608
626
615
623
614
617
627
604
606
614
621
610
639
629
605
618
613
616
622
632
619
610
609
628
616
626
604
629
616
613
614
631
636
634
605
618
609
614
603
620
632
608
612
612
614
632
609
610
623
632
624
621
611
634
615
631
608
613
636
605
615
603
619
609
605
610
608
604
616
636
633
611
623
622
611
613
617
624
620
618
630
638
632
630
603
613
606
623
626
627
621
622
603
621
620
623
612
620
614
604
612
636
617
617
616
611
629
620
620
619
631
615
606
636
606
625
640
628
617
625
620
613
634
618
629
615
618
628
631
605
620
635
621
615
611
619
617
639
631
613
633
608
634
615
629
609
631
614
613
621
621
608
626
608
609
609
605
629
639
606
620
608
601
627
613
615
614
607
628
610
611
602
619
637
624
605
623
620
609
608
622
612
607
608
630
603
603
601
606
634
617
605
613
607
628
608
607
604
631
610
622
611
611
605
625
628
625
609
635
613
623
625
608
610
639
632
610
614
632
608
602
607
622
626
599
614
635
620
628
623
617
606
632
635
626
614
616
635
611
609
614
630
609
610
620
635
606
611
609
612
609
610
626
615
629
613
616
621
610
627
613
601
635
607
605
625
619
618
614
623
624
616
622
604
606
606
617
632
607
614
628
617
632
619
621
608
608
603
608
616
623
601
617
604
610
623
605
626
624
632
619
626
625
634
626
612
639
608
615
621
617
609
639
622
613
607
631
610
608
607
622
633
617
609
630
623
608
632
612
612
604
622
613
609
639
623
614
628
616
628
625
613
604
630
611
633
610
636
610
605
605
614
610
624
630
606
613
633
606
622
600
628
626
620
622
609
611
615
624
605
614
615
619
626
627
618
615
607
622
612
621
628
612
611
627
602
601
620
624
609
608
631
634
615
602
621
617
611
619
603
627
604
603
617
614
606
620
623
614
629
632
602
607
618
621
622
617
620
610
619
604
613
621
624
617
639
607
619
616
601
613
610
618
617
605
633
603
604
637
611
615
604
608
609
605
626
600
615
638
623
613
634
609
608
612
635
619
611
616
615
614
624
622
612
607
619
618
604
612
610
632
617
615
632
627
616
607
602
608
603
604
622
635
615
615
628
601
611
606
609
628
615
609
635
610
627
639
627
622
610
606
621
612
614
605
606
614
617
608
613
626
613
616
605
623
608
605
602
609
619
621
631
617
614
613
620
614
625
608
627
617
627
623
622
617
610
629
610
624
617
614
604
619
620
614
632
632
632
599
623
620
623
635
604
602
612
620
617
616
623
631
619
634
610
639
639
605
599
625
629
619
616
625
634
623
624
622
609
610
619
614
628
620
626
614
629
613
634
605
603
614
629
605
623
623
598
626
624
604
610
622
628
609
618
633
611
617
631
605
612
630
633
624
622
617
623
619
604
602
604
618
603
627
610
629
631
614
618
639
604
636
604
603
620
626
619
606
619
614
609
617
619
623
613
616
639
604
620
617
608
610
603
620
624
607
611
614
605
606
611
619
616
625
612
606
632
606
623
629
601
609
613
603
626
627
619
604
620
613
614
602
608
603
609
613
618
608
640
617
631
617
602
615
614
629
622
628
621
612
610
613
625
640
607
625
632
630
637
607
623
616
609
637
610
615
618
614
623
635
635
617
639
603
616
610
623
608
627
611
639
631
616
610
605
619
618
610
610
635
618
622
606
618
625
603
640
614
611
619
604
628
628
624
627
614
614
620
610
628
626
608
615
606
609
636
606
601
610
612
623
622
639
611
605
623
625
617
625
625
634
613
625
607
619
618
604
632
614
624
623
639
635
611
624
602
623
639
631
616
609
617
605
619
612
620
632
613
617
625
620
629
629
610
620
607
631
606
614
600
632
619
623
617
608
611
625
617
615
609
620
620
625
602
633
614
613
607
602
603
609
626
617
634
622
608
621
613
621
613
626
630
630
622
611
615
612
603
609
631
626
619
607
622
617
626
614
617
618
608
628
603
611
606
605
615
639
625
624
616
631
609
606
608
612
611
639
632
624
626
609
613
614
618
613
617
620
607
618
614
627
623
630
603
606
628
617
617
606
610
603
607
603
610
606
613
628
626
612
612
638
630
626
604
608
639
613
632
640
610
604
634
616
617
639
635
613
619
608
625
611
633
599
628
632
615
630
609
620
616
625
611
619
621
618
604
632
621
620
615
619
610
606
616
610
623
611
639
610
617
615
614
625
620
616
612
632
621
614
608
607
619
622
617
632
631
625
606
633
609
628
605
617
626
608
607
623
607
623
620
610
640
623
623
616
618
631
604
639
623
621
604
616
617
613
617
610
603
619
606
616
620
618
607
601
616
608
609
602
628
608
604
612
622
623
613
617
609
632
605
620
628
622
612
622
617
615
605
605
627
611
622
615
614
611
629
629
612
605
639
614
623
632
607
626
634
631
600
636
621
603
609
620
632
604
627
640
625
621
606
639
638
619
622
606
619
617
639
619
603
612
623
615
605
634
634
607
607
609
616
635
604
629
608
628
609
631
614
606
609
622
612
606
620
619
630
626
606
610
639
630
607
609
612
611
606
632
639
622
621
622
608
614
616
612
622
640
628
634
609
611
632
618
627
614
611
614
610
609
608
616
623
606
608
633
615
631
627
607
608
620
617
608
613
610
608
603
609
631
614
632
604
605
621
619
638
631
605
601
617
606
608
602
603
623
625
609
614
614
604
603
617
639
624
610
609
607
640
612
605
602
599
619
611
609
609
616
615
631
622
629
618
619
622
605
609
609
607
617
624
611
629
619
607
606
626
605
620
633
605
613
638
617
639
609
610
633
640
621
608
631
620
632
620
629
626
639
628
618
604
630
616
639
620
632
616
627
602
611
631
624
615
623
603
623
617
613
621
627
610
626
635
619
620
617
601
604
623
630
617
607
601
621
613
614
629
625
613
611
610
621
603
609
620
602
638
628
616
625
632
614
604
606
631
623
610
602
623
634
632
625
621
604
622
631
631
613
614
626
622
609
606
631
602
617
631
621
614
629
632
611
627
631
620
623
626
619
638
622
628
621
601
623
616
609
603
631
610
630
620
602
610
620
608
625
610
617
623
616
611
619
623
622
634
631
630
613
629
627
607
622
622
613
629
630
614
609
610
617
604
605
610
619
623
622
610
608
602
614
623
608
604
622
604
635
622
611
605
614
609
631
631
626
606
619
628
619
606
620
629
621
636
634
625
610
611
612
616
619
609
612
625
614
620
631
629
627
603
626
615
634
623
610
621
631
601
604
615
626
626
618
613
631
606
627
614
629
623
618
626
609
608
606
614
620
603
607
639
604
614
623
602
619
603
619
620
624
618
627
609
600
611
623
607
609
619
606
624
609
608
605
613
610
635
612
631
614
619
639
611
616
608
625
617
606
611
611
631
601
604
626
632
619
639
630
614
635
609
626
629
606
609
609
608
622
619
635
610
635
605
631
618
639
604
619
609
617
620
609
613
632
604
603
614
602
609
616
620
622
630
603
604
629
608
603
628
611
639
617
628
611
622
623
613
608
617
605
610
610
619
609
615
639
636
639
632
623
612
619
618
633
623
621
618
611
623
631
630
622
617
605
622
606
612
619
610
613
606
618
613
620
609
623
619
604
622
611
614
634
617
622
628
611
629
617
605
608
614
626
622
604
627
622
622
638
607
615
603
608
616
608
605
602
632
607
610
639
623
631
615
635
603
603
603
621
636
634
616
623
625
629
614
631
609
604
610
612
622
627
626
623
615
629
620
609
623
617
615
632
618
603
614
620
610
631
609
603
611
619
623
602
615
618
618
619
621
618
617
619
607
626
616
613
613
614
614
621
608
610
629
631
634
620
608
607
620
610
619
626
613
610
618
601
627
619
617
617
607
614
636
609
639
613
627
619
622
623
624
608
639
618
613
614
606
603
604
639
611
632
630
609
625
608
611
602
632
605
624
611
608
608
635
613
605
622
622
610
623
612
604
617
630
617
633
627
615
627
603
608
619
616
622
629
623
610
615
618
606
629
612
613
639
639
625
625
608
625
603
614
618
613
623
624
611
634
632
620
608
622
624
629
618
609
615
629
606
619
603
619
631
639
614
615
606
621
622
615
611
632
614
616
629
624
625
607
610
636
623
603
623
634
615
602
619
635
618
622
620
620
620
606
613
613
603
604
627
603
615
639
611
625
632
618
622
635
603
613
630
623
614
606
613
632
617
632
621
606
606
607
617
623
613
634
614
609
639
604
610
616
618
623
613
612
617
625
613
604
620
608
635
633
607
624
603
613
614
622
634
607
603
613
639
632
609
623
632
635
616
606
623
637
628
626
621
629
606
605
623
606
623
609
602
623
613
628
606
614
634
638
618
603
619
608
640
621
615
618
612
609
606
608
605
605
616
624
620
615
611
623
640
626
623
609
610
613
609
613
605
611
613
623
624
627
628
625
603
604
623
627
612
625
604
627
619
634
605
622
617
624
608
628
609
639
611
614
637
605
618
626
609
612
618
621
608
611
620
629
623
638
608
612
639
625
603
616
609
618
605
610
603
618
626
620
635
608
626
614
606
610
611
602
621
611
632
633
607
639
613
636
637
609
616
624
631
612
629
614
617
626
611
634
610
620
632
620
616
623
614
609
623
607
611
607
612
639
617
610
629
610
625
622
610
621
624
605
606
608
612
627
614
618
618
617
616
604
623
611
608
623
620
631
621
612
603
633
618
617
625
623
608
611
610
603
630
637
604
625
618
639
623
623
622
609
619
619
629
608
610
613
611
610
625
606
617
606
609
623
625
612
626
621
629
617
623
623
638
639
610
617
613
619
625
614
614
608
603
628
610
626
635
631
619
614
619
610
624
608
611
626
603
616
639
611
603
611
604
623
609
623
608
609
619
613
625
623
623
612
611
637
610
631
621
632
605
610
611
607
605
613
621
610
628
631
626
639
608
626
609
611
617
613
607
622
614
606
626
623
631
610
624
613
631
617
629
604
608
629
612
625
626
639
617
628
622
609
609
630
606
610
606
618
623
609
627
622
616
611
610
625
625
602
626
633
618
613
611
612
619
614
629
639
630
605
605
631
610
619
613
606
630
612
606
622
604
606
619
602
610
615
611
635
609
612
617
612
619
633
613
618
606
613
614
616
605
631
615
608
626
613
608
603
609
608
615
624
622
628
609
627
630
607
607
624
611
622
631
628
605
620
639
613
602
611
614
613
616
635
606
617
625
619
614
607
618
622
623
619
615
621
622
636
634
614
606
609
611
605
602
606
632
609
615
604
616
606
609
606
612
617
609
604
604
622
623
619
623
623
607
602
623
615
604
630
609
630
611
609
607
629
620
638
626
615
635
612
608
616
609
609
606
629
639
626
625
621
605
630
610
612
622
638
616
607
631
632
608
609
635
609
609
616
608
616
608
612
610
606
631
621
635
617
635
636
635
619
606
628
606
613
612
610
621
627
623
608
608
601
608
634
611
611
620
631
614
613
630
604
622
609
612
604
632
613
613
621
618
602
639
617
632
631
623
609
610
636
632
632
623
639
635
614
608
609
603
630
635
603
603
604
618
606
636
623
614
610
613
618
603
624
606
634
616
616
618
613
622
610
607
625
627
613
640
623
606
639
632
626
619
628
608
613
615
604
629
615
635
619
608
630
622
631
635
614
629
622
628
631
608
605
636
625
623
623
613
605
614
632
606
621
621
616
604
635
639
613
609
613
639
626
609
610
611
613
617
608
616
618
612
626
639
605
615
617
625
637
611
603
632
623
616
624
626
605
632
621
625
629
625
606
608
617
614
613
613
609
635
603
624
612
611
611
619
627
604
629
610
626
608
622
627
622
602
632
633
616
616
620
631
616
609
625
623
604
612
603
615
608
602
622
625
620
612
607
606
626
619
614
619
611
634
608
609
617
615
605
601
611
632
621
623
632
605
609
613
612
625
626
621
636
612
605
615
632
635
615
615
621
622
629
609
623
639
606
626
613
606
603
632
631
631
623
634
612
627
608
625
612
633
612
617
610
610
608
609
639
623
631
605
613
613
611
621
620
634
606
607
629
621
614
617
609
619
635
610
606
621
617
637
610
639
622
631
609
636
608
616
615
611
603
612
609
615
619
605
613
622
617
609
609
616
618
627
632
603
632
636
622
635
610
624
613
612
608
624
631
638
616
616
617
609
604
604
617
608
619
639
605
624
618
606
617
609
606
605
613
613
616
632
605
626
605
606
632
613
621
632
611
605
605
621
630
640
620
638
606
604
628
609
610
635
609
627
618
631
617
631
617
608
614
617
604
632
622
627
608
613
625
614
626
606
631
607
620
632
622
632
625
618
631
607
605
625
625
631
631
610
619
616
609
631
609
625
614
614
618
604
613
607
630
615
628
622
603
616
623
630
639
630
631
603
639
613
614
623
603
626
614
608
627
621
610
623
625
607
606
605
626
604
629
620
634
608
628
630
623
631
635
623
640
632
626
614
622
626
612
628
640
614
639
611
624
628
614
622
606
622
609
616
625
611
612
604
606
607
615
622
606
625
625
611
602
616
626
604
621
639
603
640
615
631
613
611
623
621
635
615
633
603
604
617
617
639
610
612
611
623
621
625
627
623
640
610
605
618
624
620
616
617
633
604
617
625
616
608
621
606
617
634
620
609
608
629
618
620
612
623
625
614
618
607
608
603
619
610
619
605
635
637
613
625
612
640
605
639
613
620
628
638
618
613
612
607
635
613
617
628
608
607
620
630
603
627
623
626
609
628
623
608
620
621
610
623
605
603
621
626
635
612
618
607
603
607
609
609
608
610
631
608
602
610
614
622
629
617
617
628
609
620
622
604
615
612
605
620
605
639
611
619
613
603
615
609
622
619
611
606
630
610
604
632
621
632
625
623
608
629
628
619
634
639
618
610
602
639
617
607
613
612
613
614
612
607
639
619
615
619
609
634
628
609
603
631
621
627
623
614
609
613
607
620
609
632
622
625
609
614
606
639
626
622
613
622
622
612
607
608
614
617
602
608
632
632
636
617
614
614
631
613
613
618
605
636
631
610
607
616
617
604
602
610
617
615
612
610
609
613
609
609
600
633
604
629
631
626
612
621
610
603
609
606
607
610
614
604
639
610
600
609
613
606
614
605
606
625
617
631
610
606
622
607
621
632
624
639
623
621
626
622
623
607
632
629
622
622
625
633
609
608
616
617
605
621
608
615
629
618
608
613
614
618
613
616
626
630
609
606
614
636
606
619
626
609
633
639
609
621
628
623
620
608
609
618
610
620
618
620
608
609
614
609
605
625
623
609
633
620
603
617
621
629
611
621
635
604
614
622
607
606
607
615
621
629
616
634
625
628
632
623
617
610
621
622
605
605
611
628
628
638
622
622
619
625
624
617
604
615
632
628
621
632
623
611
605
626
609
635
615
619
635
612
639
630
640
607
629
626
614
611
622
617
619
630
620
609
607
610
613
608
617
623
606
615
622
630
613
622
611
611
606
607
627
610
607
608
614
618
632
602
634
621
602
619
625
618
633
614
618
608
609
617
613
620
623
613
639
626
629
611
617
625
605
641
620
619
604
616
626
603
617
616
613
617
603
615
621
616
632
604
609
625
615
625
635
615
622
604
605
626
608
609
618
625
612
604
615
624
605
629
608
616
603
630
631
623
634
619
609
620
622
620
605
610
624
622
610
609
633
617
609
637
610
612
635
632
610
614
631
614
631
626
605
601
617
606
619
627
602
632
622
631
617
623
639
605
623
606
604
638
605
624
608
636
603
638
619
607
608
635
616
620
635
602
617
616
608
631
619
607
609
627
610
606
629
626
609
606
613
605
609
629
609
619
609
607
614
621
605
622
611
628
614
615
633
628
629
610
628
604
604
625
617
634
624
606
619
618
614
608
625
631
615
617
637
615
608
610
625
615
620
622
629
617
611
614
622
611
614
617
622
604
634
615
639
607
611
629
605
614
622
626
608
609
612
621
623
608
606
607
628
624
639
611
606
618
601
613
619
613
640
620
614
613
611
615
606
639
633
616
634
614
622
616
618
610
632
616
624
639
616
614
613
604
611
623
609
625
616
617
619
613
609
613
628
617
629
605
613
639
603
625
622
614
620
601
626
614
626
635
609
622
615
623
602
623
627
623
614
613
609
613
620
608
619
633
609
614
605
611
608
611
610
613
632
629
612
617
633
603
608
610
628
640
628
615
631
623
616
640
625
624
631
613
623
619
622
618
605
613
632
625
627
626
612
611
602
609
612
622
614
625
613
614
622
616
632
615
604
612
622
623
604
619
626
614
603
613
617
625
618
615
622
626
614
628
629
638
621
634
605
632
611
607
618
619
619
603
615
621
612
611
617
639
633
607
616
628
609
625
629
611
619
623
602
607
608
619
617
639
608
618
612
613
609
614
623
602
622
622
618
603
614
621
614
611
603
619
622
603
612
616
617
606
605
631
632
602
603
607
614
603
619
633
632
630
627
637
615
608
608
629
622
619
613
623
614
611
631
604
628
620
630
626
611
621
639
614
628
627
609
627
622
605
608
635
610
632
618
608
625
629
611
627
606
632
603
628
620
626
615
603
612
626
632
619
600
630
613
617
625
605
613
609
609
636
612
623
619
621
616
639
604
612
608
615
613
617
619
613
613
605
609
602
607
611
609
632
632
609
613
614
630
634
602
616
609
614
615
620
622
621
617
627
616
622
608
629
609
617
626
611
611
609
617
606
639
604
609
613
610
602
624
613
631
615
619
618
638
610
631
625
637
634
629
610
624
624
620
637
617
603
616
620
623
620
616
606
610
609
629
611
622
628
605
635
632
628
619
631
634
631
614
618
610
630
610
625
611
619
628
624
633
625
625
626
608
616
631
619
616
610
609
604
638
620
618
609
611
639
630
608
606
627
599
611
622
627
615
613
604
628
610
638
628
600
601
607
624
626
618
603
609
606
606
604
606
610
622
631
614
629
607
613
613
605
632
621
613
629
621
613
608
607
631
619
608
616
621
608
603
630
605
613
632
631
603
619
617
612
608
607
606
602
601
611
617
631
615
618
609
619
620
614
635
606
632
618
606
622
624
636
615
604
616
614
629
610
616
619
639
625
625
631
610
608
602
607
630
616
625
639
610
608
613
618
610
639
605
605
617
614
616
620
605
614
610
613
618
638
619
625
613
625
631
607
629
635
621
615
614
607
609
631
623
615
624
611
628
629
609
601
623
617
613
610
617
614
604
625
610
623
639
607
612
606
633
612
640
617
633
626
633
626
603
635
635
609
638
633
604
623
621
620
639
617
617
617
613
613
620
616
618
608
606
634
607
619
603
613
608
605
611
610
603
607
617
616
611
631
610
609
620
601
622
634
616
608
614
617
610
606
631
610
615
629
630
613
609
614
625
618
635
630
629
609
602
604
639
635
625
634
626
616
603
607
639
633
606
636
612
628
619
618
622
611
616
624
632
609
617
613
613
606
625
617
616
617
605
624
605
618
614
632
639
623
627
613
614
608
603
623
619
639
609
617
620
632
609
626
629
628
617
617
611
618
603
619
620
635
614
604
615
639
603
599
614
610
617
606
628
613
609
609
602
635
608
617
603
637
630
625
627
619
600
607
615
610
617
631
614
611
621
617
606
612
635
603
611
619
627
611
622
611
639
615
618
604
631
610
626
601
613
634
610
607
615
602
609
621
603
614
610
612
636
639
606
622
631
623
613
608
612
626
624
617
609
618
623
639
617
619
609
611
604
623
623
611
606
620
603
619
635
628
630
617
629
613
611
627
604
602
612
607
617
627
609
611
614
629
615
602
611
618
639
631
607
641
619
610
620
619
627
614
603
631
625
603
626
629
617
624
626
613
615
632
603
620
615
639
610
604
603
632
617
629
612
609
611
621
613
621
631
616
637
628
608
609
613
622
622
603
634
626
616
603
625
635
617
604
611
612
632
614
629
609
631
625
605
605
607
621
615
603
629
620
613
619
604
606
610
610
630
616
617
608
609
607
607
607
608
620
614
631
613
613
607
610
610
625
630
628
604
614
611
614
608
606
631
606
631
620
600
623
623
629
609
616
608
623
631
615
612
608
622
612
614
612
606
622
606
610
606
611
631
614
613
604
614
627
609
619
620
621
610
624
610
610
613
611
626
608
623
606
614
623
613
633
625
635
615
613
610
606
609
603
601
611
603
606
614
621
620
630
616
617
605
623
634
616
601
606
625
639
632
604
614
604
622
626
618
639
639
618
616
619
610
613
615
610
613
605
620
603
609
621
612
605
603
606
636
614
614
614
626
606
618
622
619
619
626
608
607
609
614
624
605
639
608
624
604
614
613
609
611
609
623
605
610
625
622
610
604
636
625
631
609
606
607
621
619
619
609
617
609
621
636
608
632
626
624
622
614
615
639
614
606
616
638
639
621
639
617
628
606
621
620
615
608
613
639
627
605
639
630
634
615
623
606
622
625
610
619
609
633
606
607
611
610
639
635
609
612
622
611
606
617
605
614
617
630
630
605
616
619
618
614
608
609
616
618
632
639
624
620
623
608
622
625
639
625
611
634
632
639
613
630
614
639
626
609
635
604
611
629
635
609
609
639
613
616
623
616
610
606
629
618
635
614
608
617
614
606
639
613
622
617
609
613
606
609
615
621
612
614
629
631
606
615
610
610
601
613
613
615
615
639
624
619
631
616
607
606
606
618
611
622
608
626
619
617
613
612
635
619
611
608
614
639
626
608
609
608
613
610
637
620
629
615
639
600
605
620
608
604
623
609
607
604
613
632
615
629
628
632
630
632
609
629
602
631
625
620
609
607
601
617
620
620
615
630
617
613
630
613
635
604
626
608
602
612
627
631
604
625
620
637
623
614
620
627
622
613
605
617
606
639
608
639
627
609
616
613
639
612
612
617
639
626
623
605
617
614
639
619
623
601
608
622
625
602
633
617
612
621
621
625
620
618
627
629
613
606
611
604
630
607
611
619
608
599
609
611
602
614
610
634
635
615
603
608
623
614
619
633
611
607
625
620
613
616
626
608
639
622
610
616
620
627
609
622
636
610
608
620
608
622
607
630
620
623
613
613
617
624
617
606
635
618
639
628
614
609
621
616
608
618
610
639
613
616
613
626
603
611
623
607
615
614
610
610
623
629
619
610
607
631
603
634
626
639
609
617
629
607
613
604
623
628
605
633
614
613
614
613
605
611
618
623
609
617
605
622
615
616
613
623
620
631
602
607
609
612
617
610
617
623
614
626
604
609
626
621
618
610
611
622
626
629
609
612
619
599
605
613
625
630
621
632
624
625
607
625
623
618
608
613
605
603
608
639
625
604
602
623
629
640
612
606
612
623
630
626
602
627
608
613
613
622
608
616
632
605
610
632
615
622
614
622
612
619
608
631
603
630
629
622
623
605
611
611
622
606
619
603
627
626
632
609
623
639
627
625
634
634
605
617
601
617
621
626
624
611
614
614
603
625
608
623
618
609
613
615
608
626
617
611
625
615
626
609
629
608
613
609
619
606
618
619
626
626
624
626
639
636
639
608
631
618
635
603
610
634
630
613
617
609
604
632
625
617
627
608
632
622
608
616
613
621
619
617
623
628
618
612
606
619
614
606
609
615
619
605
612
622
639
630
636
624
626
636
629
618
639
606
611
625
623
628
601
612
607
625
604
622
626
608
613
615
629
614
618
634
609
635
632
607
611
608
622
613
616
639
604
635
611
622
638
635
621
633
600
612
617
614
624
609
617
610
617
614
630
608
619
621
617
613
617
603
625
606
612
628
631
609
623
633
610
611
625
604
634
637
620
614
639
610
606
621
610
625
632
623
639
606
620
614
613
611
606
607
629
605
633
617
632
624
627
635
614
604
622
607
601
638
606
623
620
623
636
632
631
616
629
608
605
625
609
632
603
623
614
630
625
639
600
613
618
603
626
631
614
617
612
625
637
616
606
608
619
617
610
625
620
603
633
615
607
615
630
603
607
611
640
605
631
620
610
628
634
606
620
623
612
632
613
627
604
634
612
618
607
612
629
612
607
629
628
620
613
606
616
603
632
607
617
611
612
613
613
625
614
623
623
610
606
618
606
615
614
619
635
625
613
606
610
618
632
606
611
614
623
608
605
621
613
619
614
612
604
602
626
622
609
631
631
629
632
602
607
632
616
615
608
610
614
610
620
626
626
633
634
607
628
631
624
608
639
613
619
607
607
627
613
603
608
604
603
604
612
607
625
612
613
625
602
638
630
625
612
630
622
613
617
624
604
615
608
627
609
616
613
605
619
619
616
603
617
604
625
621
613
604
625
607
622
608
622
610
631
609
623
621
632
603
620
639
625
605
618
603
609
610
614
608
634
615
616
609
623
613
629
617
612
609
615
612
606
607
616
634
624
633
610
607
635
621
617
620
633
630
623
618
634
629
608
614
617
610
616
613
606
608
605
615
631
632
619
608
620
615
625
626
606
622
608
606
603
605
609
606
606
603
608
612
606
617
632
618
629
625
638
614
604
611
623
634
620
621
639
611
614
621
636
629
637
631
613
634
609
621
618
612
622
617
639
610
618
609
635
611
619
630
607
633
620
626
619
605
618
608
613
625
612
634
601
617
609
609
616
606
612
623
626
620
610
605
622
622
615
619
614
606
639
636
625
622
607
611
618
623
623
609
609
617
619
604
632
615
613
616
614
606
629
637
626
605
625
613
603
618
615
629
623
631
611
609
611
618
618
606
614
634
605
613
601
624
635
606
618
614
637
622
629
609
614
616
640
608
604
614
607
609
616
616
609
604
619
627
610
608
603
609
613
603
630
605
621
625
614
629
600
607
622
606
607
615
606
619
623
633
640
634
630
609
604
631
628
603
622
634
613
604
620
615
614
619
619
623
616
603
607
604
603
637
614
616
605
631
613
606
629
612
606
607
615
611
608
628
632
607
611
608
602
620
600
627
609
611
627
608
633
605
625
603
611
613
614
613
624
620
610
618
635
613
622
613
624
602
616
629
630
612
624
632
615
614
608
632
635
604
605
612
633
618
631
630
637
604
630
633
615
609
608
619
608
629
618
603
615
607
614
621
623
609
619
607
613
620
606
624
631
616
615
612
621
603
619
617
602
611
639
632
632
621
617
610
610
613
603
631
629
612
627
617
602
622
616
609
606
631
627
623
613
608
606
613
603
633
609
606
611
633
623
635
618
612
617
621
605
608
618
611
613
625
626
627
610
625
619
631
636
628
630
617
606
614
611
619
636
608
614
603
606
608
639
632
609
607
604
612
600
617
611
634
612
602
604
615
639
617
617
617
629
600
617
608
608
616
629
633
637
609
614
612
612
626
613
607
606
604
617
636
613
611
628
622
636
620
614
616
620
611
629
640
613
615
614
609
631
635
627
610
622
614
623
632
623
622
608
609
610
632
608
625
604
625
623
613
610
615
608
603
624
618
620
639
613
633
605
632
624
614
629
609
634
611
608
601
609
607
640
606
630
602
629
617
617
615
639
632
613
629
605
639
622
623
609
613
611
631
639
610
609
628
610
613
619
614
609
612
609
614
626
608
626
618
607
640
602
607
613
623
626
607
619
620
620
610
610
612
619
608
609
620
608
603
635
620
628
602
618
612
627
625
611
632
622
633
610
629
640
633
604
602
626
614
608
623
614
604
631
626
608
611
613
622
609
614
620
638
622
610
608
630
621
624
617
631
623
603
629
618
623
611
624
613
610
620
623
621
639
631
626
610
606
607
611
603
635
602
613
631
604
613
610
613
630
609
620
608
632
614
618
628
609
602
621
617
605
608
602
609
613
609
628
610
606
625
618
625
625
609
602
620
619
632
626
619
619
623
631
613
614
632
629
621
614
607
623
618
627
620
629
628
639
603
606
617
603
619
623
608
610
611
615
618
609
604
603
618
609
611
619
622
622
610
620
620
625
625
602
619
639
632
634
639
625
609
608
631
635
622
623
624
624
617
618
612
611
631
638
611
621
618
635
632
617
627
605
626
630
606
611
615
632
639
625
620
627
606
639
602
625
613
604
612
609
620
609
610
609
615
607
611
617
613
616
617
605
610
619
616
605
619
611
617
605
606
602
621
604
617
605
613
607
606
632
632
603
613
608
602
606
618
607
609
609
607
604
610
606
630
632
618
614
604
615
622
613
625
609
607
608
603
630
620
634
622
619
615
628
613
606
611
635
603
610
636
632
625
611
615
602
610
620
616
605
614
614
634
613
625
621
610
623
617
621
639
627
609
619
613
609
605
627
605
613
619
614
604
618
619
607
618
624
614
627
618
607
622
627
629
608
629
605
619
615
613
610
613
607
608
622
623
612
609
613
616
623
613
615
628
612
624
626
632
622
607
618
610
603
606
602
605
623
633
602
628
636
627
634
630
605
639
609
604
606
624
626
605
603
634
622
614
602
609
622
619
629
610
628
629
627
610
625
617
607
610
613
636
627
615
630
618
614
611
613
629
622
620
639
632
623
623
617
641
615
623
612
608
628
607
620
619
615
615
604
617
605
601
608
615
607
624
609
602
616
639
615
620
618
609
604
628
612
621
616
631
634
626
622
610
639
622
623
624
619
618
634
619
619
614
620
635
602
632
604
625
617
612
612
614
631
620
615
621
604
623
608
613
620
604
610
627
603
614
628
622
628
639
610
614
638
635
622
618
626
602
602
608
621
632
629
633
617
618
612
618
604
601
615
625
618
616
635
608
613
614
615
622
638
634
630
620
608
633
609
622
627
623
624
607
625
618
617
604
603
613
613
624
611
629
613
603
607
628
625
603
635
611
607
612
630
623
607
626
608
613
614
620
615
622
607
609
618
629
604
622
639
630
627
622
635
615
629
614
628
620
619
606
610
615
632
632
620
607
604
603
608
614
639
611
621
613
627
617
622
603
615
626
631
611
602
601
640
628
621
605
619
609
618
624
622
610
609
606
604
616
613
603
635
610
622
613
629
626
632
603
608
603
628
624
623
605
608
609
611
613
603
619
617
612
626
639
611
625
628
614
637
600
611
623
611
608
632
623
610
605
614
606
624
606
626
616
608
608
619
630
612
623
604
604
632
616
634
604
631
603
601
610
608
607
617
608
625
603
622
614
632
617
613
602
604
605
632
610
623
635
630
628
621
608
625
619
626
609
623
626
613
614
639
609
617
609
609
610
610
606
629
610
611
609
623
619
612
624
604
634
614
622
625
613
617
633
632
607
620
611
610
605
620
617
621
629
608
608
613
611
605
603
630
618
614
603
621
609
602
613
620
616
603
606
602
611
606
610
629
621
616
639
605
626
610
608
620
637
622
615
628
623
615
604
602
604
622
618
605
612
606
617
620
617
612
600
610
618
623
614
617
603
614
619
636
604
627
623
608
633
609
624
615
617
608
604
620
614
635
619
601
614
609
625
640
634
628
620
640
620
631
608
630
619
604
615
611
621
637
604
621
609
613
604
612
623
622
632
604
603
603
627
625
630
606
623
626
626
620
608
617
622
621
612
617
623
622
614
611
615
622
632
606
604
639
615
627
611
614
617
634
613
608
610
616
607
609
607
621
617
610
611
614
605
619
604
630
605
639
605
623
626
637
608
609
608
618
611
622
607
611
615
632
602
606
620
620
625
630
626
617
616
639
624
628
610
614
603
611
625
623
606
609
614
617
608
621
612
639
612
604
623
629
604
622
616
603
621
611
628
623
610
635
629
603
622
613
627
619
616
630
638
629
615
603
614
617
619
618
628
614
634
604
608
605
609
611
607
607
624
618
614
624
608
609
624
617
625
621
603
627
606
621
639
605
627
616
614
619
614
608
613
618
639
615
613
627
623
633
637
612
613
612
611
609
620
604
606
606
614
626
627
624
622
613
629
607
613
615
609
609
618
610
612
635
603
617
624
630
635
632
612
615
629
602
623
613
625
604
623
628
623
611
637
606
622
613
619
632
619
627
613
600
620
624
626
608
614
613
614
626
635
629
603
610
606
617
617
630
613
619
606
622
607
617
616
616
607
618
611
613
626
617
623
613
608
608
609
609
617
623
613
623
626
603
630
622
609
626
605
604
639
630
616
623
605
616
638
606
625
640
613
610
603
619
609
639
610
612
610
611
626
608
626
607
618
611
600
632
621
609
634
605
610
614
609
611
636
609
621
622
627
605
614
610
612
639
620
611
611
606
616
609
612
618
621
635
626
634
618
639
614
623
625
614
614
605
634
616
623
612
630
615
603
611
615
632
605
613
617
615
635
638
605
623
623
622
608
607
609
619
616
612
622
610
624
623
632
623
634
616
617
606
637
618
637
619
639
618
606
612
622
622
616
606
611
626
621
606
620
616
640
617
615
631
622
613
607
621
632
605
603
629
639
622
624
631
624
619
633
631
615
618
610
625
626
623
625
615
615
623
617
603
625
619
624
614
619
620
614
628
629
639
616
618
625
611
614
618
602
629
620
608
623
610
611
603
610
604
602
609
611
625
635
632
616
632
610
630
620
607
631
629
621
632
628
600
618
635
629
608
606
623
637
609
628
626
605
604
632
603
619
623
629
618
605
604
628
607
619
606
608
608
620
607
613
636
625
610
609
627
609
623
613
635
613
613
614
602
626
637
609
620
623
620
614
623
611
604
632
605
629
604
606
625
613
604
613
603
609
611
619
607
606
605
633
610
622
608
605
628
609
631
626
608
607
617
610
634
621
620
628
634
608
609
614
635
635
608
620
614
626
605
626
620
634
625
623
613
632
608
609
632
624
613
616
624
614
613
621
634
606
629
613
629
612
611
628
617
604
614
624
620
626
634
639
604
639
618
610
609
613
610
636
634
635
626
614
606
631
632
635
631
620
610
603
613
619
632
619
614
616
619
635
623
611
627
623
616
604
604
634
607
617
619
609
610
611
624
629
634
629
624
621
623
621
624
619
620
603
617
608
614
623
616
628
619
623
627
609
625
610
631
617
609
621
602
606
620
611
602
630
617
613
607
615
604
627
635
615
604
609
631
607
613
627
632
624
614
625
623
606
618
610
632
609
621
622
627
620
603
606
615
635
623
615
620
611
601
607
627
617
619
636
610
599
633
608
611
612
608
613
632
630
622
621
621
618
607
606
614
624
618
631
635
638
604
602
635
631
619
624
610
612
615
623
628
612
602
602
630
613
619
630
623
629
626
626
608
612
602
629
622
632
609
611
613
619
601
614
634
606
613
632
626
609
632
621
612
617
617
612
613
615
605
611
611
616
612
626
632
631
604
602
619
622
618
628
622
613
610
609
612
630
632
617
603
615
632
616
634
614
612
638
630
620
610
632
607
611
620
614
614
630
612
611
605
619
608
614
617
623
615
621
611
607
609
603
605
620
635
614
604
614
623
629
611
625
625
607
631
622
616
620
602
625
614
614
632
629
621
639
626
618
616
606
618
635
623
610
631
628
611
639
615
631
639
632
615
627
613
637
601
613
620
615
620
602
599
623
611
632
621
609
621
607
615
611
605
619
616
608
625
609
630
621
629
604
609
603
609
608
626
620
623
627
639
606
609
637
634
603
615
625
630
602
622
614
604
620
626
610
608
626
614
632
611
604
606
608
634
628
609
606
635
633
639
605
609
605
608
605
616
639
632
618
622
617
623
608
614
606
606
610
602
610
613
623
630
612
621
622
621
614
623
608
618
631
626
601
623
611
617
608
605
616
622
628
608
606
626
631
609
609
623
622
622
633
611
618
608
613
608
604
608
605
623
621
638
607
608
603
611
622
611
603
608
612
631
603
625
610
606
632
629
620
616
605
615
608
609
627
608
611
620
604
618
611
608
605
605
615
611
609
626
613
620
610
617
611
612
610
608
614
604
612
627
637
608
603
605
614
609
610
621
620
635
613
623
616
603
621
632
626
614
634
605
623
606
604
625
617
623
622
614
623
610
609
631
636
619
622
616
635
611
612
613
611
602
612
617
608
614
617
600
608
606
604
635
614
629
605
631
631
635
614
613
622
631
610
635
625
636
630
637
601
609
631
632
619
615
608
619
613
612
628
634
611
620
617
607
613
631
606
623
609
604
607
603
610
627
602
639
609
609
640
610
631
624
612
614
634
613
621
620
616
608
625
613
622
621
623
605
638
629
621
618
625
603
623
629
612
605
607
635
627
626
611
632
639
604
617
609
608
602
629
630
621
620
603
628
609
613
615
609
610
603
622
623
605
610
631
611
628
631
606
620
629
610
634
626
625
610
603
613
602
610
616
613
606
615
606
629
604
626
620
607
603
622
630
616
619
609
605
612
616
613
609
611
617
639
623
606
639
621
602
609
628
631
625
626
622
607
617
603
614
611
615
608
629
622
614
610
607
634
605
612
606
621
617
627
613
639
618
608
608
621
639
613
612
613
604
628
611
629
617
605
639
635
605
614
609
633
617
617
637
631
626
613
619
602
614
613
623
608
626
616
631
610
608
626
631
611
632
631
607
629
610
606
632
615
639
613
618
612
639
602
628
617
623
638
614
608
626
622
626
619
602
627
624
616
632
616
610
612
637
635
633
629
625
617
631
612
608
624
613
634
611
630
602
626
622
625
608
613
622
635
602
628
610
611
618
612
608
609
634
634
611
639
600
607
606
603
622
623
618
606
623
630
613
609
610
608
607
622
621
621
628
616
631
627
634
609
608
606
615
605
624
623
609
630
628
599
625
610
627
606
606
623
603
625
608
639
603
622
611
625
608
604
611
623
612
611
617
608
621
611
640
608
613
633
609
634
613
614
603
631
614
628
630
606
627
631
612
614
606
607
609
615
634
614
625
631
617
621
619
623
630
613
621
616
616
621
608
604
610
610
632
612
612
626
608
620
639
616
630
600
616
603
625
605
623
609
606
635
611
605
606
623
610
607
614
615
618
603
605
639
617
613
629
608
621
601
633
611
626
604
635
611
632
611
623
607
625
610
606
612
639
632
624
625
609
639
601
606
602
619
610
617
625
607
602
632
611
617
625
618
625
612
612
610
604
617
613
599
610
608
624
629
621
605
608
615
609
634
612
632
609
613
606
623
619
633
623
632
639
621
614
611
621
620
616
613
628
609
630
623
613
619
623
619
632
611
606
611
618
602
625
613
639
623
609
622
626
604
603
614
607
616
617
633
625
637
619
630
606
604
609
601
619
608
632
634
627
610
609
627
621
610
624
602
614
611
614
604
626
611
603
612
609
612
613
616
605
629
610
619
599
614
613
610
614
606
623
608
612
627
609
614
622
605
628
629
639
605
605
629
615
622
617
621
628
606
612
614
611
603
639
623
622
605
616
611
615
609
609
616
617
608
610
631
632
609
603
614
603
611
617
604
628
608
629
602
620
639
623
631
620
610
612
617
606
610
616
632
612
612
610
609
618
610
620
611
614
619
608
623
611
628
615
629
605
614
623
639
617
629
614
615
619
624
623
614
610
611
631
632
639
621
607
615
636
617
614
608
623
619
601
632
603
620
619
612
615
601
605
606
610
626
612
631
609
625
602
616
614
609
629
605
622
626
630
639
620
634
613
604
620
616
625
630
607
628
622
608
625
621
635
620
629
639
636
619
599
629
636
633
618
611
604
628
611
631
604
619
627
606
621
612
608
619
623
609
612
614
627
635
603
605
635
609
610
628
632
603
614
615
603
604
622
614
615
639
609
602
601
618
635
619
615
612
618
602
627
606
604
608
615
630
626
606
617
609
623
623
626
635
618
633
630
621
624
632
611
616
611
617
605
635
608
608
619
604
608
611
636
605
609
618
623
608
632
612
605
611
627
618
639
605
630
626
603
610
622
619
616
619
607
634
609
616
610
636
620
606
632
630
631
628
614
623
606
610
625
603
611
613
626
606
635
604
620
613
603
614
619
627
617
619
621
639
614
614
623
619
631
625
608
617
629
604
613
604
610
606
620
605
614
636
623
617
613
607
609
612
634
607
632
609
639
607
612
611
614
631
604
607
634
617
625
628
639
617
630
629
604
603
603
623
619
616
617
623
619
613
625
623
632
609
630
626
608
604
623
616
623
612
609
626
609
606
628
622
608
622
610
621
605
608
605
618
633
609
630
614
611
623
615
600
615
636
620
624
630
622
625
606
607
606
613
625
632
615
620
605
608
627
630
614
614
607
613
633
632
633
628
607
610
626
610
607
609
602
617
604
623
616
633
617
615
629
612
604
605
619
625
608
628
613
614
627
608
604
619
630
615
618
604
602
632
614
610
625
628
625
623
605
626
623
618
612
613
615
610
626
620
632
602
611
608
629
627
604
612
631
605
605
624
609
620
620
628
639
613
614
604
608
616
619
623
633
602
617
603
620
614
639
601
611
610
608
632
618
630
621
604
639
603
631
620
612
634
612
634
607
619
606
623
617
628
614
618
610
622
627
618
611
603
620
628
611
616
621
611
631
619
631
617
614
603
604
616
625
618
614
618
615
617
628
605
632
604
635
632
610
607
625
634
620
635
612
630
623
613
627
632
613
609
606
629
614
635
632
628
606
619
621
605
605
620
609
626
639
626
606
606
613
626
626
602
613
613
607
609
624
618
620
613
620
626
619
617
622
632
626
608
628
614
629
634
619
619
638
620
616
635
612
610
633
610
616
615
607
623
621
605
616
609
612
639
610
607
605
627
609
618
618
628
632
633
609
607
605
630
613
630
614
606
628
618
609
608
610
614
606
626
636
630
619
627
627
608
605
623
633
631
628
601
630
626
615
625
606
624
615
613
603
610
604
615
618
624
624
610
612
632
635
628
612
632
614
609
628
620
639
633
624
622
604
608
627
619
604
640
630
612
605
617
604
605
609
607
623
612
609
625
609
612
608
622
617
606
605
621
615
614
611
623
604
600
617
625
625
610
627
628
608
618
612
620
622
632
623
632
635
613
609
625
610
617
622
619
619
618
611
606
618
613
605
629
606
640
603
634
630
630
610
639
605
609
619
612
624
619
634
620
619
625
612
605
609
639
639
634
601
616
609
636
624
615
612
625
604
631
632
623
639
611
632
622
604
632
607
639
631
615
609
613
610
627
619
613
608
611
607
608
612
617
607
611
622
617
614
631
604
611
614
636
607
608
635
609
617
611
638
631
613
604
610
613
620
629
619
632
611
609
614
623
608
630
618
621
629
621
613
605
627
613
613
613
620
604
602
605
618
608
613
609
606
616
605
609
626
616
606
635
613
603
630
622
620
630
615
612
608
616
624
635
610
623
617
606
620
610
639
606
626
605
607
623
613
609
639
620
614
613
620
619
604
612
604
631
636
640
613
607
621
617
629
639
628
639
621
603
620
619
610
603
607
621
620
627
603
617
610
633
614
630
620
617
619
626
619
623
620
613
621
620
607
628
606
612
634
639
620
626
633
603
610
639
604
623
610
632
611
617
634
602
639
617
623
624
621
637
622
610
623
608
607
631
609
623
607
620
612
608
608
620
603
619
633
612
620
621
631
617
639
614
613
610
625
604
629
628
618
620
606
616
635
614
614
623
611
615
639
631
610
632
607
615
612
631
607
606
619
639
616
629
623
613
625
610
603
633
603
616
632
611
633
612
611
633
622
630
609
614
630
610
602
619
635
614
620
613
629
626
628
606
621
620
604
606
604
619
608
612
607
629
622
614
623
615
632
618
613
602
617
622
621
623
610
610
628
623
634
612
616
619
611
618
629
619
622
630
632
619
619
614
608
624
632
610
624
626
624
621
623
633
609
632
625
626
608
603
616
623
617
612
604
608
622
626
606
618
608
610
617
612
603
609
622
613
626
624
620
609
616
619
621
632
629
632
625
607
608
602
627
627
622
615
615
625
604
629
617
621
623
610
606
631
623
618
635
630
612
613
610
604
616
607
612
620
622
608
626
612
606
617
612
604
607
623
604
628
634
638
608
619
604
624
620
616
630
612
620
626
614
633
619
627
613
626
619
603
615
633
609
624
612
615
619
612
618
628
624
608
625
609
607
614
613
606
633
602
622
622
610
609
633
611
615
629
619
633
623
609
610
632
604
607
637
625
632
635
625
603
639
631
610
619
609
611
613
607
634
639
610
622
630
602
603
609
616
633
616
639
611
611
633
610
613
615
610
603
603
622
613
603
608
610
605
610
631
609
604
621
622
631
616
620
605
625
625
629
611
609
609
604
615
612
623
612
603
605
623
620
614
631
610
611
607
617
635
622
610
609
609
632
626
619
622
631
603
606
603
614
608
626
612
619
631
635
639
625
614
605
623
613
603
639
608
606
631
608
609
608
619
608
605
605
620
620
617
612
614
640
613
612
622
622
608
622
607
626
623
610
602
639
633
605
620
605
626
630
622
619
609
634
618
629
610
626
610
611
613
614
612
609
604
608
621
608
622
632
617
610
606
605
610
625
614
613
639
607
609
617
624
632
616
620
602
637
606
632
628
626
605
627
637
635
604
619
617
639
603
613
622
615
622
608
639
603
621
639
618
610
634
638
639
629
602
633
613
610
617
615
628
609
628
613
608
612
607
603
631
630
617
609
628
605
613
617
606
616
629
610
620
609
617
623
632
622
628
606
609
613
616
608
610
610
630
604
612
612
601
630
623
620
615
615
610
602
603
633
618
631
618
613
607
629
621
620
623
615
625
608
609
626
626
617
623
614
608
623
605
611
602
620
625
635
620
607
610
616
606
604
610
617
622
633
626
621
606
621
614
626
612
617
627
624
604
618
613
608
623
627
623
603
617
616
634
611
631
622
631
611
622
602
627
630
631
607
632
632
624
632
609
624
623
638
614
629
614
609
634
620
614
623
639
623
630
612
608
628
631
625
631
608
608
607
613
606
628
607
619
631
608
639
622
640
634
608
602
631
633
612
625
632
634
619
604
626
628
612
603
604
618
619
612
614
630
632
609
632
609
620
606
619
626
617
623
631
620
611
625
607
622
625
613
618
602
621
640
616
611
619
636
610
623
633
633
632
637
635
625
619
629
618
611
614
618
613
623
628
623
628
606
636
630
612
627
619
619
604
606
611
608
617
609
609
615
626
606
626
602
611
623
613
623
614
607
618
609
603
603
629
604
604
630
629
623
616
629
609
633
611
625
610
625
633
617
616
629
625
610
606
633
611
603
617
602
612
627
629
617
610
634
614
608
626
607
623
605
611
621
630
618
621
621
620
613
619
633
610
621
614
632
606
632
615
614
613
619
629
610
618
620
610
622
632
610
618
613
628
608
631
615
604
635
610
621
618
602
613
610
627
633
614
602
616
604
630
613
634
614
621
639
611
616
629
639
601
609
639
608
613
610
612
609
612
613
622
627
613
612
614
608
613
615
630
608
621
626
624
607
605
636
608
635
632
616
605
602
613
614
622
617
629
634
605
617
609
630
639
626
623
613
608
613
631
610
609
605
619
603
604
632
602
623
610
616
632
608
622
629
604
604
610
623
606
609
623
614
630
624
623
612
604
615
630
617
622
629
615
613
621
632
624
634
608
631
609
610
613
616
609
604
631
620
640
613
626
618
632
615
631
636
604
623
601
614
612
625
610
621
621
616
629
613
603
628
639
623
606
633
622
639
631
604
628
628
612
608
635
617
624
633
640
615
613
615
620
620
601
607
612
639
628
604
609
635
618
603
632
639
609
609
629
604
618
618
629
625
604
633
611
613
615
606
608
620
632
636
625
614
605
612
639
603
619
617
628
613
604
616
614
611
613
604
606
613
604
627
613
602
638
605
616
632
639
623
606
617
623
604
617
621
604
610
603
612
608
606
607
635
607
603
633
609
618
603
603
614
621
615
603
612
611
627
627
633
605
615
620
613
622
630
612
632
619
607
620
631
639
603
622
605
610
613
611
612
610
618
615
605
616
629
608
609
622
611
639
618
606
606
612
632
614
606
620
609
604
630
618
625
612
620
631
610
625
627
611
612
605
634
604
613
609
623
603
612
625
632
618
610
616
632
604
618
604
613
609
617
606
619
613
635
623
604
629
617
632
610
625
617
605
617
618
616
616
631
622
611
631
631
639
612
620
622
626
607
618
626
619
626
619
614
604
605
624
604
614
614
607
629
604
609
632
632
623
605
638
606
616
607
602
604
606
613
613
634
609
614
632
633
614
618
603
639
623
610
611
625
606
624
641
611
632
620
611
629
609
619
607
623
612
639
607
610
613
604
615
629
611
611
613
606
606
609
625
619
629
633
612
603
617
606
611
606
604
628
631
606
609
608
634
608
606
604
610
633
617
602
603
615
613
616
612
608
621
631
603
605
631
612
630
604
606
625
634
613
622
638
618
617
631
602
605
617
625
619
624
606
623
626
614
629
632
603
625
616
615
613
618
626
627
613
625
603
613
629
625
603
615
603
626
632
636
615
616
602
617
604
626
608
604
608
619
614
634
605
625
623
602
623
632
623
639
625
614
621
628
605
615
613
606
626
639
623
606
619
622
631
633
613
607
614
612
619
639
607
612
622
622
629
618
614
621
615
616
622
610
611
616
609
607
619
612
624
608
619
609
602
620
632
605
608
625
603
607
635
613
606
622
616
632
608
618
625
614
634
611
631
604
613
611
610
607
634
627
610
616
615
605
610
636
614
628
633
639
621
610
637
635
620
608
637
620
613
615
618
599
608
604
626
624
628
632
615
605
629
632
617
623
633
632
609
626
604
607
608
639
612
615
608
624
620
618
635
619
619
605
621
620
605
609
611
630
632
626
612
605
605
609
617
607
618
602
621
627
617
610
624
630
620
635
619
603
604
623
626
617
605
636
602
612
614
616
623
604
625
616
623
607
631
613
608
623
607
614
607
626
613
607
603
613
628
617
620
614
615
635
620
601
623
628
605
625
610
626
623
622
632
608
639
613
611
615
623
632
615
612
628
626
636
634
618
616
615
610
631
608
630
610
630
608
623
613
608
616
607
610
606
627
606
601
618
640
611
607
612
629
619
625
625
612
609
608
629
613
629
619
625
603
610
619
620
613
621
609
603
626
608
622
607
607
622
603
623
617
615
616
611
610
603
614
604
610
622
629
604
602
608
608
639
604
632
620
610
604
614
623
613
606
622
609
612
630
606
613
625
625
614
631
604
600
604
614
631
616
633
611
608
610
603
625
610
613
609
629
608
613
604
606
639
631
610
636
627
621
618
607
604
609
628
639
616
626
623
636
615
617
608
605
608
609
627
619
614
613
636
612
634
626
631
624
620
631
614
609
617
615
606
623
640
635
606
626
614
639
630
624
615
627
607
623
611
625
620
629
605
629
633
618
626
613
607
624
623
625
605
617
620
620
611
631
612
626
609
608
640
621
633
630
629
604
618
627
606
607
632
610
631
630
605
609
603
616
625
640
634
602
631
635
617
611
614
625
627
610
633
618
608
616
619
611
609
609
609
623
631
633
614
639
623
603
620
619
619
608
614
615
616
615
619
618
610
632
608
614
614
610
604
621
631
609
634
639
613
635
606
616
622
601
635
632
622
616
608
613
621
619
614
629
603
610
613
612
604
625
609
629
625
634
609
603
612
607
620
621
620
611
622
625
603
611
613
603
606
639
610
607
608
620
629
614
639
622
622
630
623
613
608
614
629
613
609
619
613
624
624
622
638
615
621
639
604
602
600
608
626
602
618
606
637
621
617
614
636
625
610
627
612
623
624
602
610
614
609
618
625
610
640
624
610
619
631
606
623
622
632
616
631
639
610
604
629
639
608
620
604
607
617
626
639
631
604
629
605
623
619
634
614
606
621
620
606
607
612
604
622
617
607
620
612
616
620
608
603
614
609
603
630
635
604
606
622
618
610
621
603
614
604
613
603
626
613
634
608
606
635
614
615
611
634
620
616
617
612
613
614
629
620
627
626
632
635
622
619
614
604
639
604
608
618
628
622
622
617
615
618
606
639
613
631
613
614
608
611
608
603
610
619
616
628
606
614
606
612
611
620
631
604
605
613
609
608
607
610
606
616
610
617
633
613
609
610
604
612
608
622
630
612
610
635
604
608
607
621
619
616
620
639
603
604
608
631
609
609
623
635
604
614
626
624
612
612
637
619
604
608
612
611
628
604
632
631
610
607
624
629
616
605
629
634
625
615
607
611
613
613
620
640
610
639
613
604
605
626
621
620
611
634
613
619
634
607
619
603
618
608
610
620
618
605
615
628
606
622
625
607
617
636
614
611
619
609
626
634
613
616
605
617
617
614
602
618
612
631
627
606
606
617
635
636
608
604
628
627
617
603
610
621
627
632
604
624
604
616
607
606
634
638
618
616
611
620
625
608
632
605
609
625
604
606
620
624
639
626
613
607
611
615
619
622
628
632
603
631
606
609
615
603
614
621
610
606
619
626
612
614
615
623
617
612
614
622
609
605
630
607
624
623
622
630
604
613
608
608
604
615
618
623
615
640
629
615
613
617
609
604
622
623
608
615
609
616
629
606
611
623
631
626
623
621
611
610
608
610
634
631
620
600
622
630
616
626
605
610
607
612
613
626
623
605
631
623
611
621
605
633
604
602
635
617
606
612
628
620
607
633
603
612
623
621
627
611
612
621
611
625
633
631
613
616
604
613
619
623
639
620
630
613
610
616
619
614
605
610
613
628
634
639
615
604
634
622
608
615
620
610
606
620
610
603
639
612
616
609
628
619
620
621
635
601
618
611
613
613
602
623
622
610
623
610
619
613
617
618
609
603
626
606
613
623
605
622
608
610
613
610
603
634
616
601
609
623
609
618
638
626
609
623
614
615
632
614
634
639
617
635
623
620
602
623
610
616
611
614
620
625
619
631
612
622
617
610
635
606
617
610
629
628
609
632
615
625
620
632
625
617
614
623
615
624
624
603
610
625
617
612
610
602
631
636
608
617
639
606
621
628
613
623
639
617
612
607
605
625
624
609
629
623
606
617
631
621
617
608
613
605
625
610
614
610
629
617
632
636
625
605
609
605
614
613
608
613
622
607
608
629
617
614
603
620
617
615
606
627
625
622
603
617
606
633
620
639
608
616
618
626
617
618
610
629
617
613
611
602
620
625
614
606
619
635
628
623
605
621
617
628
614
613
614
615
612
632
614
602
613
603
607
602
623
615
607
626
601
621
626
614
614
605
614
607
608
618
618
618
621
608
633
612
602
626
611
620
617
630
626
617
609
623
620
609
612
614
610
630
632
615
606
612
616
632
625
621
608
623
606
603
621
619
621
618
632
605
610
631
604
622
630
622
608
615
603
633
628
626
633
618
607
610
609
610
609
626
606
626
632
626
608
602
629
619
628
615
627
632
612
615
606
606
640
618
631
603
637
614
618
620
613
605
617
618
606
605
621
618
612
626
610
636
613
633
634
605
624
609
606
619
613
620
623
604
632
635
603
618
600
625
639
629
621
608
607
625
608
611
618
633
626
635
612
632
614
628
621
609
615
606
604
627
611
607
617
613
627
629
619
605
604
609
610
607
631
618
613
609
626
620
613
623
617
613
623
609
609
623
620
625
604
623
627
606
604
622
614
631
630
612
604
617
634
631
614
606
639
614
614
618
628
635
600
609
615
634
629
622
614
606
622
621
626
612
622
603
615
634
614
617
626
612
615
609
620
619
600
615
614
619
631
631
635
632
617
611
612
609
604
620
606
609
615
615
624
625
623
618
619
617
640
611
605
639
609
613
613
618
628
600
613
613
606
621
604
629
614
629
603
622
606
625
606
604
623
611
614
603
617
608
601
607
620
611
603
622
620
623
607
608
614
613
623
623
609
609
617
629
639
628
614
622
611
605
622
621
622
639
612
620
617
622
607
619
627
614
603
602
616
622
605
624
626
620
639
618
617
612
612
626
617
604
625
639
612
613
610
615
618
619
614
638
621
625
619
617
612
605
603
612
627
616
631
619
608
631
610
617
610
624
612
630
608
627
604
606
613
607
618
621
610
628
604
614
622
625
618
622
604
603
609
616
613
627
602
603
635
639
612
607
607
621
627
626
618
610
618
630
618
622
603
604
621
635
606
617
619
607
619
606
620
610
622
612
629
611
613
612
609
620
601
630
613
623
626
609
634
602
625
631
611
622
608
610
613
610
628
610
602
614
639
621
609
606
608
604
626
612
620
614
605
627
620
621
623
603
628
624
630
605
617
606
603
600
603
626
609
634
630
620
610
611
621
614
604
626
621
611
624
607
608
621
609
605
634
622
623
604
615
613
628
639
613
632
619
605
607
622
616
606
612
626
618
624
610
604
618
616
610
610
618
613
617
626
610
623
609
631
607
607
620
616
632
609
607
607
626
632
608
606
609
615
626
616
606
632
629
603
633
621
639
630
614
606
622
612
614
601
637
630
631
623
635
609
614
635
600
604
613
635
603
604
610
635
609
611
612
620
602
621
611
614
608
623
616
638
599
639
629
625
610
609
608
613
603
631
626
608
608
628
631
608
607
630
630
602
616
618
632
612
613
640
605
610
630
610
616
610
635
630
612
623
632
622
609
616
634
640
615
603
604
607
612
632
634
603
626
629
615
603
614
640
625
605
615
620
619
617
632
614
609
605
616
611
606
632
621
612
609
629
618
613
616
612
613
619
600
629
626
607
631
622
610
605
633
639
628
623
628
603
622
631
634
614
616
626
619
611
610
612
608
632
611
625
604
631
635
603
626
621
633
609
631
602
631
624
617
609
613
603
622
615
628
605
635
619
633
630
609
624
639
609
631
625
624
605
621
630
623
630
627
610
623
626
627
607
608
626
609
632
608
623
626
621
617
616
636
623
614
625
629
610
609
614
611
603
603
626
602
604
607
604
613
640
608
621
610
611
615
620
603
634
639
625
613
619
610
619
618
617
626
611
619
627
614
639
639
611
639
613
626
616
632
632
613
620
619
605
614
613
609
618
606
628
609
625
633
621
623
605
625
623
618
622
612
626
613
635
610
607
606
614
616
613
623
610
613
614
613
605
625
628
614
627
603
639
606
609
639
614
632
631
626
613
621
639
635
632
613
607
605
629
626
613
605
621
618
610
617
610
617
623
609
625
633
606
630
620
617
617
608
610
611
621
610
635
619
632
611
614
620
631
619
602
629
614
621
631
612
605
630
620
607
627
621
621
623
621
604
639
607
620
614
632
604
617
623
608
611
607
629
613
624
602
632
614
632
609
607
631
613
630
618
624
611
619
610
626
609
632
615
609
632
616
617
623
609
614
608
615
608
605
629
613
630
623
618
609
610
609
628
626
639
609
607
623
623
628
637
627
630
634
617
614
613
624
607
639
624
612
618
630
625
619
618
631
619
626
626
605
609
623
621
610
608
622
605
607
624
612
623
620
613
625
606
639
612
613
621
618
635
623
627
606
631
615
618
617
618
632
627
618
625
627
615
612
603
602
609
623
625
617
607
601
612
635
613
626
615
637
611
624
617
631
608
606
613
615
608
606
617
612
608
609
611
621
637
601
622
625
613
613
608
626
626
629
616
635
613
622
614
603
627
609
603
607
625
603
608
607
614
612
622
634
605
625
625
599
624
607
626
604
613
633
611
619
613
624
617
626
617
633
626
612
613
624
611
606
633
617
625
603
615
632
610
604
618
607
622
636
611
631
617
607
623
614
602
632
619
613
611
607
613
611
611
617
623
635
640
618
609
612
624
628
603
639
618
630
627
603
608
607
605
615
631
614
609
608
622
608
639
607
632
605
624
611
609
615
603
633
615
621
627
618
636
611
619
623
635
610
632
623
631
603
625
619
616
609
616
616
614
627
607
621
612
630
604
620
631
639
609
625
620
608
609
634
639
617
606
620
638
611
608
604
618
612
602
629
609
639
630
625
604
623
619
622
607
631
610
631
626
614
639
604
605
602
614
631
603
613
632
632
614
631
606
626
623
613
618
623
635
607
613
604
608
615
631
615
612
611
611
619
617
604
614
622
633
617
602
611
632
615
626
617
617
609
607
600
630
614
603
638
619
632
639
609
618
618
612
629
622
616
605
628
613
629
611
606
623
616
621
603
635
612
610
613
618
624
609
603
620
623
626
623
631
618
626
639
639
607
617
606
628
606
629
608
624
631
621
618
617
638
610
608
623
638
639
626
610
600
636
619
631
621
622
620
618
602
632
617
627
617
625
630
606
620
602
618
615
633
613
610
608
637
612
607
611
623
617
626
606
626
613
615
615
613
613
611
632
608
622
603
635
607
627
605
616
612
614
604
631
612
615
621
629
619
614
626
625
609
604
623
612
628
623
630
609
604
618
611
608
611
633
610
639
629
625
614
606
620
614
623
614
635
611
606
610
627
617
625
603
614
625
612
617
604
631
630
613
604
625
610
603
636
620
615
632
611
632
624
628
617
613
631
613
619
620
609
632
634
620
604
621
610
614
636
608
609
609
608
635
613
613
640
617
617
607
620
619
620
614
633
625
609
622
619
621
621
636
628
620
625
618
638
618
607
628
611
627
622
610
612
639
606
622
602
631
621
634
615
605
606
625
632
619
628
619
617
603
607
609
632
629
612
616
609
613
639
609
608
635
622
619
627
621
629
614
605
630
632
604
617
611
604
604
614
614
603
628
609
619
606
639
609
620
622
616
605
632
607
625
618
619
629
604
624
618
624
626
614
621
603
612
621
620
612
613
623
614
607
631
604
607
619
606
628
621
601
632
630
624
615
617
612
613
622
618
608
609
639
615
605
621
633
632
607
608
610
636
610
633
618
626
602
614
607
611
627
608
618
628
607
609
615
606
608
624
606
613
632
610
617
609
637
607
603
612
610
608
617
635
629
622
610
603
606
635
604
606
623
611
624
618
627
613
603
612
618
620
619
617
635
636
632
612
611
625
610
613
625
634
619
618
618
622
611
622
613
634
619
615
604
602
613
628
613
610
628
608
606
611
628
638
618
608
611
615
632
602
621
607
625
628
617
626
635
610
621
614
615
616
613
621
624
606
614
625
626
628
621
617
626
601
612
612
611
614
632
630
612
609
623
620
608
628
627
624
611
608
623
634
613
612
624
625
639
632
606
610
619
624
616
624
614
607
639
604
619
608
635
635
626
611
631
628
614
614
630
633
624
622
626
609
606
630
606
607
611
607
613
612
624
607
615
606
620
606
631
625
618
635
619
608
625
614
604
636
639
637
617
630
615
635
610
609
613
624
639
604
612
613
603
628
625
608
631
631
609
611
620
635
611
613
608
609
637
617
617
610
606
617
609
614
622
603
610
623
600
618
617
608
610
629
605
613
605
618
604
618
626
627
623
615
605
629
611
606
625
603
623
627
610
615
617
615
629
605
618
607
610
602
609
635
621
617
617
629
624
619
612
628
625
637
632
622
625
629
606
615
632
630
611
623
626
626
622
614
639
617
619
607
625
617
619
629
621
599
621
610
609
599
620
639
609
620
617
622
633
603
607
610
631
609
618
632
623
607
611
632
619
620
632
619
627
639
623
619
612
600
602
610
603
628
622
622
629
611
606
611
625
614
613
634
607
603
616
606
618
607
612
639
631
603
609
613
608
634
621
639
612
632
613
610
616
610
618
618
626
613
628
625
609
630
602
606
603
625
620
609
640
603
625
631
617
622
617
607
618
609
631
632
610
609
631
620
606
622
605
626
609
626
625
631
608
612
632
611
610
622
613
635
606
630
625
603
611
608
604
609
614
609
607
639
609
639
629
635
625
616
605
608
606
626
612
621
632
620
617
622
613
606
630
612
612
615
619
618
639
634
615
604
610
628
618
610
604
607
608
609
623
617
617
608
630
615
606
631
619
613
626
619
606
632
608
627
632
612
614
606
625
639
626
631
630
621
603
639
609
623
611
614
608
605
621
608
624
614
631
631
603
609
603
628
608
604
609
609
612
615
636
607
603
623
612
602
614
614
606
617
610
611
613
614
618
625
622
628
604
637
622
623
638
631
615
607
628
612
612
613
601
619
615
607
608
611
607
621
632
628
639
609
629
616
604
610
606
606
624
614
628
608
629
611
629
617
630
626
615
603
607
623
609
603
631
625
622
605
615
607
606
632
610
623
619
612
620
627
612
616
635
622
639
623
614
611
626
618
629
631
619
624
617
629
615
613
617
610
624
626
639
634
612
622
607
609
634
627
612
606
633
608
608
609
635
605
616
639
620
623
602
603
629
617
609
623
612
626
611
623
631
624
629
610
627
621
620
634
623
622
619
603
617
639
637
620
603
612
628
639
606
606
639
608
631
614
623
605
625
618
618
605
610
614
633
609
608
605
614
633
612
619
605
606
625
609
603
617
612
639
632
612
635
610
615
622
607
618
635
605
622
608
620
603
640
623
623
621
624
623
632
632
611
607
622
614
638
626
624
629
621
606
609
612
618
605
609
611
608
639
610
622
626
623
614
618
608
609
610
606
632
605
629
632
610
604
629
621
627
615
633
619
612
634
603
624
625
621
628
632
621
623
614
616
630
602
613
639
608
605
611
607
609
629
604
603
623
606
616
609
629
628
619
613
632
632
610
616
615
623
609
630
622
623
619
616
615
619
631
608
606
630
630
624
625
609
619
603
632
622
626
600
606
609
602
603
617
614
617
615
602
614
610
603
623
610
606
616
630
620
610
602
613
609
603
621
632
629
623
635
607
608
638
621
617
607
617
612
617
619
617
606
608
604
623
614
613
602
605
639
614
630
621
603
630
632
605
620
605
603
614
616
630
600
624
630
619
606
631
605
614
629
633
629
632
618
616
611
636
632
639
610
612
618
609
603
631
604
625
611
623
615
627
629
604
608
628
626
607
620
630
609
606
605
624
613
618
630
606
634
639
605
610
612
621
606
618
613
635
610
609
606
622
604
617
614
635
615
620
629
619
623
616
606
623
634
617
628
619
629
607
621
623
631
626
608
614
611
635
630
620
623
614
637
608
613
607
634
605
606
601
625
609
620
608
625
628
617
623
608
611
630
631
638
605
632
621
612
621
606
631
618
613
613
614
605
632
611
615
604
614
630
626
632
623
613
608
632
629
631
606
617
608
607
611
609
621
629
604
639
625
602
616
619
615
610
616
623
623
605
622
601
618
611
608
621
602
629
619
609
608
617
606
613
605
635
609
614
603
615
606
620
614
610
617
608
625
609
621
621
629
609
611
617
606
606
609
628
612
609
639
603
612
610
610
614
615
627
635
599
614
625
608
632
639
609
611
620
611
617
639
635
603
619
610
602
614
623
617
613
625
614
627
617
620
632
610
632
632
608
604
620
613
624
618
614
614
616
611
608
638
620
601
620
615
634
619
624
607
613
626
613
615
638
615
608
614
603
622
625
624
635
638
611
633
612
618
612
609
631
631
626
634
626
629
629
621
621
608
622
606
609
607
618
635
620
603
603
623
614
618
617
605
614
629
607
603
605
614
605
611
631
621
619
633
611
623
617
611
634
619
624
620
623
624
607
621
608
611
628
615
622
617
606
620
602
620
639
626
620
613
632
620
605
631
634
616
614
613
620
629
607
616
605
613
609
606
606
629
632
614
607
625
616
621
605
610
613
606
635
614
631
626
618
607
613
610
639
623
635
620
616
612
606
601
633
603
624
628
608
613
623
614
639
603
615
604
608
613
624
638
618
617
606
632
625
617
621
625
616
622
617
608
606
610
631
612
617
629
617
619
619
625
606
633
611
622
607
626
630
607
634
629
609
614
607
624
622
620
639
606
617
601
635
615
607
613
606
622
611
635
634
615
618
604
604
608
604
610
619
617
610
631
615
610
612
611
610
628
610
619
614
613
609
606
620
619
613
620
632
622
620
618
615
615
621
614
621
623
633
606
614
612
617
604
626
606
630
612
602
610
629
613
632
632
626
613
604
604
639
622
618
613
610
618
620
629
615
623
612
626
639
640
604
631
623
632
604
629
610
631
610
613
608
606
607
635
609
635
620
622
640
619
612
606
612
622
612
613
623
631
631
603
615
606
612
607
637
621
614
634
616
604
627
621
622
633
612
611
607
603
609
618
612
620
604
634
617
615
603
604
629
608
618
599
632
616
616
626
606
603
619
619
603
619
603
608
619
607
604
610
631
623
620
602
631
622
606
634
608
637
629
610
616
625
623
610
609
618
625
614
612
606
614
608
637
639
613
623
613
608
628
634
623
614
618
626
608
610
616
614
618
608
614
611
637
622
602
606
624
603
606
619
613
607
607
625
614
608
632
612
619
611
634
620
606
623
623
605
630
620
634
621
620
621
608
625
618
613
627
622
602
632
608
625
609
605
604
622
618
605
625
604
615
638
626
620
609
617
617
602
639
610
610
626
606
630
637
609
623
625
617
628
612
605
632
622
627
617
608
608
622
620
616
617
617
613
615
614
630
609
627
636
629
613
617
608
607
611
606
618
600
605
640
619
610
633
625
629
624
614
613
629
633
607
607
604
617
629
626
605
611
632
618
609
639
612
612
620
614
617
607
625
632
603
625
610
629
608
604
630
601
630
639
622
599
632
615
602
629
615
608
626
607
619
629
613
608
617
639
615
604
618
612
628
624
604
631
625
602
631
627
611
632
630
626
633
616
606
613
609
618
617
604
620
619
622
626
635
633
625
639
608
607
617
602
604
618
612
632
614
616
613
620
608
605
639
623
631
622
619
619
606
625
621
636
624
613
605
639
629
621
614
608
620
614
639
617
600
635
609
605
620
635
611
606
609
607
614
610
628
625
606
637
602
609
607
604
621
617
623
611
608
605
610
613
606
608
624
619
615
632
620
612
609
605
609
605
615
636
629
630
621
609
635
603
626
605
616
622
614
621
625
609
626
623
628
621
624
624
614
632
603
625
631
626
612
632
631
605
628
614
610
638
607
625
628
613
611
619
610
605
619
635
618
621
625
615
607
629
604
610
624
607
628
612
633
634
631
611
603
606
611
618
626
626
624
622
630
622
624
630
618
629
613
615
631
623
629
620
614
618
615
614
629
614
608
618
622
611
608
607
607
604
608
613
623
628
622
625
632
624
619
628
607
622
607
639
620
608
607
617
630
613
622
621
603
620
627
616
606
613
628
613
614
625
608
607
640
624
627
624
632
639
616
618
635
625
606
607
628
606
622
629
625
625
602
611
622
619
604
628
634
606
602
615
611
622
602
607
608
603
626
614
611
610
608
629
613
611
612
607
632
611
631
625
608
631
609
609
609
615
617
608
608
621
625
607
614
614
616
613
617
618
631
632
632
622
602
624
632
614
610
613
614
629
614
629
627
618
629
625
622
613
607
613
632
632
609
620
606
604
635
618
617
625
623
616
625
634
607
605
608
610
628
615
604
607
601
628
609
613
633
603
620
613
615
617
610
613
629
617
614
630
605
604
606
622
630
625
634
613
620
621
634
615
615
604
639
604
605
613
613
608
624
630
621
603
611
623
630
639
616
608
623
626
629
626
616
614
619
626
632
626
614
613
639
612
627
623
639
606
639
609
616
610
602
605
631
602
622
615
613
606
617
607
609
604
630
604
616
626
605
619
624
605
610
629
614
602
608
631
604
612
604
635
611
639
614
623
624
608
611
615
608
614
627
607
613
610
639
629
608
626
606
613
632
616
613
608
601
620
639
609
639
630
616
614
615
607
607
610
603
609
615
626
613
618
609
615
617
639
610
608
611
620
634
631
613
612
629
614
614
631
616
630
622
620
623
618
631
620
614
629
602
617
625
613
604
606
603
606
609
607
613
606
632
622
616
613
612
625
621
625
609
621
623
615
603
605
622
622
611
634
615
613
622
616
621
631
620
608
624
631
612
614
633
628
624
631
625
609
625
635
626
607
611
622
612
610
619
602
616
634
616
639
612
615
615
614
624
630
624
607
603
620
606
630
612
612
620
610
609
619
630
608
610
634
617
602
602
622
623
629
613
607
602
608
638
617
611
609
635
618
617
608
639
623
622
628
626
621
606
608
610
609
625
608
617
604
625
629
599
607
614
632
623
629
615
623
631
617
608
640
603
617
640
614
614
613
606
631
610
612
604
622
608
621
606
627
629
616
604
612
604
616
609
627
609
618
631
629
618
619
618
618
614
634
608
611
615
608
629
610
626
639
614
623
612
609
613
602
612
633
607
610
612
603
612
605
612
621
613
611
615
611
602
607
614
622
635
607
621
619
632
603
617
614
613
606
627
605
613
604
618
632
614
611
613
610
613
618
634
632
622
609
614
626
623
609
614
631
627
610
603
623
608
608
600
608
611
617
619
608
602
604
611
629
609
621
603
635
608
623
623
614
610
613
623
613
616
620
606
607
615
621
621
620
621
637
608
609
626
617
617
613
610
618
612
625
605
608
604
634
623
612
622
628
615
613
624
617
634
618
625
599
613
612
621
609
622
614
611
608
609
622
618
618
633
603
603
612
628
632
630
632
611
624
623
602
614
608
631
614
607
606
613
606
622
623
602
626
629
614
608
615
616
623
614
635
623
609
620
622
609
622
619
618
623
602
605
635
620
635
606
615
639
614
626
626
630
616
622
613
609
613
629
629
623
617
626
612
618
606
622
603
622
630
603
608
610
602
603
613
599
609
611
614
605
606
605
604
612
625
609
625
623
621
635
603
606
610
621
606
631
622
629
622
639
610
628
611
611
625
634
621
617
625
613
627
608
622
609
631
602
602
623
617
626
635
623
616
612
617
605
610
622
605
605
613
622
610
617
619
628
639
602
609
618
611
632
639
609
614
620
608
631
608
610
603
609
626
612
616
608
615
632
614
608
612
612
617
608
606
630
625
608
614
628
639
611
629
607
610
639
622
604
618
608
639
606
609
619
610
611
604
623
606
612
634
613
615
609
617
616
631
624
618
604
607
614
608
640
639
623
634
628
617
608
615
634
619
636
604
606
604
611
625
622
614
629
607
608
606
626
603
607
632
607
621
625
608
609
602
615
602
617
627
631
631
616
611
625
631
627
608
616
631
614
610
632
612
609
619
614
639
608
606
607
626
604
639
610
610
633
639
610
621
614
625
613
606
613
626
618
606
615
619
605
629
627
604
615
618
605
623
604
618
602
623
613
606
629
611
600
626
629
627
611
612
617
622
622
635
635
606
635
624
603
617
605
617
639
601
630
607
612
620
619
612
626
611
626
620
606
610
608
612
635
603
604
617
616
612
621
634
619
614
614
604
608
617
636
639
623
623
606
622
618
621
604
617
605
634
604
601
636
606
603
626
627
633
632
617
624
603
625
639
604
612
612
608
611
624
613
613
613
601
613
611
601
605
608
614
608
617
618
615
618
601
620
618
640
628
603
611
613
614
599
627
626
633
625
639
620
605
611
622
605
621
632
625
613
620
611
624
612
605
621
620
632
603
622
605
615
603
606
608
620
624
623
603
621
613
608
624
598
616
624
604
604
616
619
618
614
616
608
622
620
610
614
610
616
609
609
622
605
623
630
616
632
604
604
605
616
629
612
611
632
602
602
630
611
608
620
620
630
615
608
613
618
615
619
626
618
621
623
628
608
608
622
632
632
609
608
604
607
605
628
631
630
621
611
605
627
618
622
624
631
625
639
622
613
600
605
639
613
630
635
613
639
613
629
614
619
606
614
618
614
611
629
602
612
618
607
622
631
626
621
628
610
604
607
609
609
618
606
622
604
634
623
605
629
617
633
617
628
612
603
615
607
603
617
607
615
603
609
626
615
626
608
621
605
605
605
621
639
637
615
620
617
607
617
603
621
638
618
629
617
623
610
617
620
605
612
607
609
609
611
605
611
618
607
617
603
635
621
634
607
618
630
615
608
614
613
613
639
631
607
614
615
619
608
621
611
632
626
617
606
632
637
625
620
627
638
606
629
607
608
624
612
635
617
620
624
638
613
602
607
616
623
624
633
603
623
641
609
622
606
630
602
613
605
621
604
613
617
613
608
632
622
604
613
610
613
612
612
612
620
624
617
603
631
606
629
607
611
611
617
603
616
621
610
637
613
622
611
608
624
607
617
625
630
623
620
602
622
610
617
620
613
615
630
624
627
605
631
618
603
622
620
603
601
604
605
614
602
638
606
629
626
606
606
614
612
608
610
603
616
631
622
617
632
610
608
615
635
615
613
603
608
615
613
632
613
602
611
625
632
626
603
613
628
615
610
600
606
610
615
605
609
609
617
607
623
603
619
612
614
609
635
615
614
612
613
610
608
622
611
606
606
632
604
608
617
625
606
601
623
614
620
615
611
616
603
631
604
616
612
628
617
640
622
639
609
613
631
613
603
621
626
600
627
616
623
623
610
609
605
627
611
614
604
619
612
623
631
616
621
638
624
612
612
628
629
615
599
621
604
615
603
627
617
625
621
633
609
619
608
611
600
622
603
632
611
605
608
605
617
604
617
609
603
630
624
614
603
619
620
632
620
625
611
601
610
623
631
605
618
622
605
624
603
604
622
617
616
606
602
602
608
622
610
621
612
610
620
609
615
611
613
619
634
617
606
623
611
614
620
609
614
635
621
624
613
604
619
604
617
609
631
627
609
629
609
619
638
638
606
613
609
610
599
620
613
632
611
610
600
618
632
604
608
614
622
609
620
617
608
604
640
616
612
632
608
636
619
607
609
617
604
614
618
621
617
609
622
637
609
616
619
618
627
620
609
619
606
613
610
615
629
617
617
604
627
629
602
634
610
634
618
609
611
621
606
605
604
612
607
617
639
632
628
631
609
625
622
613
639
617
620
613
601
607
631
633
610
618
607
640
631
635
603
614
611
639
610
607
604
602
612
619
616
627
625
610
603
624
610
629
618
614
624
628
609
617
630
632
613
631
611
622
611
628
628
615
608
609
604
606
636
613
617
623
604
610
634
623
600
604
635
631
612
620
626
620
616
629
611
623
610
608
609
606
631
607
608
608
616
617
630
609
618
619
611
623
611
619
619
613
608
633
626
626
606
613
613
619
628
626
605
635
606
611
605
604
605
608
622
611
621
607
602
633
606
610
619
632
610
618
612
622
616
602
616
635
616
635
616
609
622
624
608
612
619
622
613
622
612
636
621
606
616
614
614
631
623
613
625
606
634
625
618
603
609
606
616
636
618
614
624
628
604
610
623
628
613
639
615
628
618
624
630
614
627
609
623
625
620
604
603
618
627
631
622
630
606
623
610
638
613
606
605
624
622
615
620
615
608
612
640
627
611
638
619
617
613
612
612
627
617
639
608
631
610
621
603
606
619
610
626
632
622
602
622
630
602
608
609
621
639
627
631
605
632
614
614
618
630
626
633
603
603
626
609
606
622
628
607
603
606
612
626
631
622
613
615
623
629
601
617
616
630
621
606
605
618
616
621
629
625
610
624
615
629
629
639
622
616
615
639
618
634
620
629
607
613
626
639
613
629
614
611
628
619
603
619
621
604
623
629
615
617
615
630
610
621
605
632
616
612
600
623
606
612
635
622
603
611
604
625
617
615
620
610
604
610
620
612
614
622
639
624
640
610
610
609
626
615
623
608
610
632
631
629
610
606
631
615
629
608
629
605
639
613
602
629
613
605
631
617
621
614
630
613
631
639
608
623
613
632
625
614
606
617
613
629
617
623
614
631
631
609
624
606
631
615
605
611
639
634
619
614
612
613
629
612
617
613
626
613
612
621
606
629
615
631
606
633
622
604
611
616
614
630
619
605
639
613
617
628
615
615
619
617
624
623
622
603
614
638
605
614
633
618
632
619
610
607
611
610
610
610
607
617
617
623
607
637
612
610
612
611
610
614
613
619
631
627
610
622
605
623
615
612
633
622
617
622
604
629
602
623
609
629
617
608
612
600
617
628
615
624
623
615
636
611
617
622
610
606
610
634
608
614
605
622
607
622
607
612
608
613
626
619
634
615
615
605
618
615
603
616
612
618
632
624
608
607
615
614
608
610
607
627
608
603
619
620
627
617
633
614
615
612
615
625
617
609
611
619
607
630
616
610
613
609
614
633
631
602
603
617
639
605
639
616
615
616
619
605
627
624
632
616
617
611
608
624
620
618
629
624
619
609
615
622
606
614
623
615
636
604
602
613
622
605
610
622
611
615
610
608
605
628
608
635
628
620
610
629
616
606
617
605
606
619
629
612
634
608
618
611
636
635
620
631
614
617
635
626
619
603
614
619
623
622
613
607
634
632
631
604
617
622
611
624
634
616
613
610
612
641
604
618
614
635
617
624
603
623
614
603
616
607
609
620
635
617
632
622
611
627
612
615
623
619
621
605
609
626
628
627
626
608
628
616
632
626
604
633
608
625
611
615
625
630
636
628
623
606
604
621
611
639
629
619
631
636
611
627
628
621
625
613
607
632
637
599
611
639
606
610
610
617
618
624
606
622
608
608
614
605
635
639
616
622
606
609
603
635
608
604
620
616
609
610
616
610
613
617
613
613
623
629
629
624
625
606
634
614
628
633
607
606
613
635
625
608
639
621
618
622
619
624
623
614
637
607
616
614
612
610
624
631
639
637
622
608
616
628
631
621
626
605
633
624
605
617
623
623
623
613
627
601
608
609
615
612
629
613
610
606
635
606
609
632
609
613
610
622
625
631
623
608
603
605
601
621
608
624
606
616
621
609
629
622
618
621
627
608
620
622
620
623
637
635
633
610
623
621
607
616
607
608
610
629
614
618
636
603
621
607
610
635
624
623
607
625
638
604
612
632
615
636
603
639
604
635
619
631
632
603
603
610
629
631
619
630
627
608
615
605
616
610
606
624
618
608
618
623
608
623
621
617
615
618
620
617
614
625
640
620
622
630
608
609
612
606
631
616
617
618
604
636
614
612
606
635
609
625
609
610
633
601
611
623
610
636
619
639
611
626
612
613
615
621
615
616
632
610
633
605
613
622
626
613
622
607
632
606
611
623
613
629
605
617
603
605
614
609
606
620
632
626
620
605
608
613
619
612
625
611
629
616
605
610
613
612
621
618
604
612
633
632
617
630
621
605
620
632
624
602
604
620
620
607
624
614
615
608
603
629
625
633
609
627
622
620
622
610
639
607
617
603
611
614
636
611
638
631
629
623
614
612
640
603
608
622
625
625
630
612
623
628
609
623
615
607
609
614
639
615
639
609
610
625
610
621
602
610
611
613
608
603
624
634
628
609
607
616
610
610
623
610
630
608
623
602
609
615
632
611
621
632
625
604
625
606
601
614
611
623
627
639
603
617
626
631
613
632
622
623
614
634
626
622
622
631
632
624
608
608
610
603
618
635
639
626
613
610
621
613
602
612
617
613
610
616
614
627
616
627
615
629
610
608
627
627
620
612
609
608
603
620
622
623
632
610
627
616
614
630
614
609
608
617
629
606
601
604
623
625
613
620
622
612
606
610
603
616
623
604
616
606
615
614
602
627
610
609
634
613
625
602
622
605
624
602
606
605
629
622
614
631
617
619
607
614
606
624
611
639
617
609
633
634
606
605
634
613
607
620
609
617
624
623
611
631
610
607
616
621
604
611
618
619
639
609
625
624
605
618
632
614
624
629
602
612
619
609
613
609
630
611
611
613
604
605
609
611
612
615
609
618
606
615
623
619
619
636
607
635
617
614
598
620
618
603
605
617
608
612
625
606
605
629
631
613
620
626
607
632
622
615
621
630
614
623
609
621
618
607
607
621
610
615
623
607
613
629
619
604
605
604
625
630
623
605
622
615
635
629
625
615
620
619
601
622
610
606
634
623
616
609
609
620
618
632
608
611
620
605
620
618
632
633
620
614
609
611
630
635
641
607
609
606
613
603
610
626
616
619
605
606
628
614
635
612
616
602
610
631
639
620
622
608
616
611
623
604
616
604
611
632
610
625
601
617
610
613
617
628
605
631
610
611
618
619
618
624
610
624
608
628
611
608
606
612
628
631
607
613
610
617
614
624
632
619
626
626
615
606
607
602
607
621
617
608
604
602
607
607
613
605
606
618
617
622
635
639
621
624
632
609
622
631
614
608
602
617
625
623
626
609
613
630
608
618
623
623
626
613
616
631
617
612
606
620
620
639
618
616
614
621
611
600
617
607
635
629
635
631
632
609
608
631
633
625
622
617
617
623
628
604
626
615
620
617
612
631
628
618
634
636
632
620
633
614
622
620
609
624
614
610
614
614
619
606
606
620
609
631
609
612
626
623
618
613
609
607
621
606
603
614
603
628
601
611
610
628
632
620
624
611
624
639
603
607
609
630
606
611
606
606
632
625
613
640
628
608
620
613
626
613
616
625
622
604
603
618
629
617
623
621
633
619
605
616
604
629
622
611
603
602
625
617
630
630
637
618
616
639
620
633
602
626
639
609
615
610
602
635
632
620
632
616
623
608
609
613
635
635
608
623
611
617
616
630
604
603
621
608
612
610
613
639
613
614
629
608
633
614
622
631
616
611
623
606
606
615
623
605
631
639
623
613
616
611
634
605
616
612
629
633
623
604
613
614
627
617
634
613
639
622
603
604
610
607
614
606
613
624
607
608
610
622
620
602
617
613
626
603
627
615
617
603
614
623
603
621
626
628
603
631
602
618
606
609
616
608
631
617
621
623
604
610
630
619
635
614
604
601
613
616
631
633
628
629
624
624
614
607
615
604
618
626
629
617
615
634
604
610
607
628
631
614
619
604
617
629
623
613
612
632
609
628
624
628
623
609
619
621
618
629
608
606
623
616
620
639
635
628
623
635
623
614
632
605
631
639
632
615
632
607
609
617
612
604
639
623
626
606
608
616
615
622
611
606
613
604
627
603
609
606
606
618
622
614
603
613
605
616
607
632
616
633
604
623
619
617
623
626
613
624
613
606
624
604
607
603
609
606
613
623
624
623
625
639
606
608
608
613
604
614
627
623
628
607
631
635
612
618
635
606
611
614
609
604
600
603
604
627
604
609
619
616
615
614
635
610
630
639
619
633
602
607
639
614
604
632
630
613
611
616
613
611
616
627
632
619
608
613
634
607
614
613
625
611
614
609
622
607
605
628
612
610
631
609
625
617
604
623
602
614
611
618
623
603
634
606
621
619
616
634
618
603
620
630
609
626
631
606
599
604
634
602
614
608
606
610
604
616
633
630
611
634
602
614
610
614
639
627
603
621
629
609
612
616
606
616
607
604
635
629
602
634
611
615
612
611
636
631
620
620
612
632
622
618
628
607
628
616
623
633
614
605
609
625
614
629
631
629
607
624
616
614
613
615
620
613
605
618
610
612
613
610
635
623
608
606
639
615
624
617
619
620
603
622
613
630
632
606
621
628
612
603
622
612
609
609
623
630
631
619
623
639
605
619
623
622
604
624
628
621
625
621
623
623
616
605
601
621
614
624
603
618
634
610
603
607
617
604
611
620
607
599
610
623
634
619
623
626
623
602
611
630
605
623
636
608
611
607
611
606
604
607
623
610
615
605
637
609
623
622
629
611
629
619
639
631
625
614
606
616
604
626
611
611
634
619
616
604
627
621
622
602
614
611
624
603
607
608
619
628
612
607
602
612
608
614
639
612
622
632
610
606
621
621
603
620
618
607
603
617
619
610
622
623
602
605
616
625
632
630
628
627
632
604
623
611
612
618
609
619
623
611
608
608
624
615
606
603
628
612
623
626
631
607
611
609
625
618
605
620
624
622
619
625
606
602
615
610
623
639
609
611
621
608
609
627
616
622
631
633
603
632
625
605
622
611
621
612
636
639
615
604
610
625
604
609
632
633
625
621
631
618
631
618
634
618
612
604
607
624
611
613
609
605
616
604
626
621
617
625
617
632
621
626
627
621
614
616
618
602
616
626
610
613
619
615
609
610
617
632
608
618
614
610
622
608
603
610
602
618
618
607
606
618
633
612
608
601
606
602
627
614
606
628
608
613
614
626
620
610
621
634
605
625
639
613
611
604
609
608
619
602
632
618
622
606
637
633
624
635
606
618
615
603
627
606
620
608
617
610
630
626
605
633
620
624
621
606
617
638
602
622
627
609
613
629
613
631
624
608
618
631
634
627
627
628
618
626
615
615
616
623
604
637
613
623
619
602
621
616
639
616
621
608
633
628
622
618
613
607
617
620
628
604
635
607
613
623
623
611
605
610
618
626
623
610
608
617
604
632
612
613
632
621
612
615
634
626
602
603
616
607
623
639
617
621
619
614
613
630
629
612
605
625
639
614
635
614
608
603
619
613
639
603
611
610
604
611
607
610
606
622
617
626
624
611
615
616
626
636
622
614
606
604
608
622
613
622
613
624
621
608
606
608
614
616
624
632
639
605
634
620
604
605
626
621
626
617
626
622
613
618
610
613
631
608
625
611
611
635
600
623
608
602
616
614
608
630
616
608
614
607
608
606
606
610
614
633
619
631
613
617
606
634
608
616
617
608
604
601
632
612
619
622
605
604
617
625
626
609
607
622
630
628
613
608
608
610
602
611
604
613
634
611
638
610
603
632
632
607
606
610
611
637
619
626
613
619
606
622
615
602
624
614
606
624
613
622
630
628
622
617
608
608
614
615
607
626
625
623
628
614
629
605
611
619
617
602
628
612
634
613
602
606
601
626
602
630
605
615
622
605
610
602
623
619
628
617
614
609
622
631
623
606
619
603
632
626
606
617
618
626
610
628
613
632
612
611
603
623
608
607
633
624
630
609
610
613
608
619
614
620
613
608
611
608
607
606
634
626
616
629
622
624
608
630
628
633
626
613
630
635
608
627
611
608
617
611
603
639
631
611
635
622
610
629
606
621
629
615
609
619
617
611
621
623
631
605
603
613
605
635
604
613
607
613
632
607
631
623
631
606
623
610
631
606
639
602
621
608
605
609
618
620
635
624
628
640
614
627
613
626
621
635
624
613
603
610
620
625
609
607
612
613
620
599
610
624
615
630
613
606
604
621
614
607
611
626
620
623
614
613
630
603
618
619
608
617
612
614
604
631
609
616
609
611
631
608
618
617
628
616
610
624
612
614
613
608
613
616
611
635
632
610
608
639
617
603
623
616
639
623
626
613
615
606
608
600
614
640
618
623
606
618
611
623
613
605
617
605
608
639
607
614
603
604
606
605
605
628
622
604
614
606
619
626
628
606
631
622
610
618
622
639
625
637
599
620
611
629
607
632
623
603
606
635
620
636
627
623
614
613
634
621
623
631
621
600
632
611
616
627
614
604
620
621
605
611
613
606
604
613
609
630
605
610
611
612
624
629
626
631
611
617
609
624
605
621
619
612
627
607
626
639
611
610
603
635
616
623
627
632
611
626
610
617
637
617
626
611
627
632
623
612
608
619
614
609
623
606
619
617
627
599
616
629
617
623
602
611
635
626
616
609
615
617
618
614
630
607
631
623
617
607
620
613
614
623
624
609
619
614
613
610
612
617
635
615
607
635
611
614
631
609
619
618
607
618
616
612
623
612
604
613
625
622
628
610
639
632
627
614
632
626
617
612
612
620
603
617
637
615
605
613
612
625
623
630
616
610
603
603
613
603
611
606
614
606
610
620
614
619
616
606
609
612
613
607
619
622
625
634
613
605
605
617
623
613
627
637
636
622
608
617
613
635
639
626
627
628
631
618
631
607
620
605
632
629
619
613
615
606
629
609
606
609
634
609
614
610
618
618
606
609
606
630
632
621
623
632
624
630
612
612
606
608
614
623
605
606
639
611
622
624
603
624
614
623
609
603
631
617
624
615
614
607
604
614
625
614
605
628
637
606
611
604
617
618
611
629
623
637
623
619
614
620
614
620
605
608
635
629
611
618
603
617
624
610
616
616
625
614
629
614
640
613
616
608
604
627
609
628
614
606
624
604
631
603
614
628
606
620
639
610
607
622
613
619
624
623
620
639
622
616
605
632
627
610
606
614
623
610
601
607
630
602
611
623
635
626
603
605
635
608
622
606
629
604
621
609
623
618
621
615
628
620
604
609
630
626
613
623
606
614
605
604
610
613
622
622
622
614
637
622
619
613
608
631
612
615
629
603
620
610
616
615
634
608
630
625
616
611
616
626
620
621
639
614
621
632
623
629
619
604
606
629
634
617
618
603
622
604
623
612
606
630
621
608
635
608
639
600
617
615
606
625
613
632
615
618
603
634
604
604
632
630
614
615
608
623
627
616
613
613
613
612
617
637
635
620
631
624
639
607
613
610
625
623
626
617
632
627
620
617
609
622
628
611
608
606
614
620
622
617
611
610
612
617
607
627
628
622
601
601
606
616
609
615
618
603
621
633
617
624
612
611
609
633
608
620
615
607
614
639
612
616
634
612
624
614
617
613
627
605
624
620
631
613
623
620
621
607
625
613
617
617
611
611
616
608
631
604
629
612
619
602
603
632
623
622
606
624
604
607
626
626
610
624
622
609
625
609
615
609
610
609
628
609
639
622
621
631
623
621
634
621
614
607
621
601
622
632
630
623
634
607
603
610
627
632
606
609
636
611
639
634
605
609
609
604
629
621
625
616
619
622
621
623
607
607
607
623
640
601
618
606
605
612
635
617
603
618
620
619
618
610
612
612
639
627
616
626
635
604
618
606
608
629
622
624
639
603
611
618
621
606
607
620
614
628
617
603
629
631
604
619
632
615
608
618
609
609
607
610
634
619
614
628
603
616
614
616
600
625
620
621
609
621
612
631
599
611
625
634
621
631
617
617
607
620
626
627
608
621
605
618
619
612
621
609
617
605
613
637
612
621
605
611
609
619
608
615
614
618
621
613
615
624
639
617
629
604
623
603
619
637
616
617
632
612
626
631
613
622
600
606
613
624
617
604
606
615
627
631
619
620
616
639
628
609
608
629
603
615
612
632
624
632
632
603
623
635
626
611
614
610
627
624
630
635
617
631
614
621
618
612
623
604
626
621
628
609
612
616
613
634
617
616
605
616
634
609
624
613
634
628
617
616
615
605
615
634
617
614
617
606
632
605
632
620
607
613
626
621
632
615
606
618
631
611
620
611
616
615
604
609
622
607
622
618
623
634
628
603
634
621
616
607
612
639
611
623
602
620
627
620
613
604
617
605
625
624
624
621
618
610
612
622
610
613
622
617
615
623
639
606
609
623
614
603
614
610
625
609
606
613
614
626
609
637
632
617
602
629
622
631
614
605
622
609
624
611
624
633
616
603
616
607
621
611
620
620
612
617
617
604
622
605
606
603
611
622
607
613
635
608
623
629
604
609
605
625
623
627
628
607
614
602
618
608
636
603
614
606
604
629
623
615
620
604
613
621
630
639
604
610
611
603
619
618
618
613
607
635
625
620
620
608
606
622
599
617
626
604
616
601
619
639
605
608
612
620
606
620
627
627
601
614
627
631
603
629
628
618
614
624
627
602
605
627
626
631
617
612
632
618
609
605
640
611
610
610
615
610
604
628
609
605
631
609
619
632
635
618
612
609
610
606
621
614
613
631
609
629
608
614
604
623
603
632
604
607
618
608
630
608
613
610
636
622
625
632
613
608
623
617
640
620
613
612
607
638
605
609
603
611
624
623
603
607
604
632
635
607
636
616
613
619
631
612
606
611
619
629
622
608
621
617
613
609
627
636
619
607
608
607
611
614
603
608
615
626
632
603
634
626
617
628
610
608
616
619
630
639
625
605
627
629
609
602
615
610
623
632
615
611
611
625
627
619
606
626
632
617
613
626
623
625
628
607
611
621
617
613
628
623
618
613
615
620
625
613
631
603
633
621
604
617
603
623
616
600
632
619
611
602
611
625
624
614
606
615
613
639
609
623
607
607
608
635
608
616
610
608
620
612
618
609
609
636
614
619
622
639
626
601
612
626
626
620
631
624
616
607
609
612
618
619
616
615
617
625
621
611
634
607
616
633
622
631
609
605
618
634
603
628
613
628
608
613
632
603
636
631
618
626
600
603
603
628
610
628
603
631
606
625
614
629
632
602
617
605
639
636
628
604
631
633
614
613
633
608
636
614
605
622
614
620
608
633
609
636
614
619
632
621
609
613
602
639
630
609
614
607
631
623
626
613
623
628
610
617
626
626
602
616
632
628
618
640
626
602
623
622
623
628
625
623
624
626
611
628
602
632
612
637
626
623
628
635
626
603
621
639
616
606
616
605
621
608
625
606
622
632
622
633
618
639
610
610
640
613
617
602
616
609
613
630
609
604
614
620
605
608
627
619
614
615
607
620
614
627
606
624
607
620
607
617
601
605
623
623
614
613
628
608
617
623
607
625
611
626
624
615
612
613
636
633
624
632
617
629
609
606
622
624
599
608
629
621
634
612
607
623
607
618
635
610
614
610
612
639
628
606
624
613
635
614
611
630
621
617
605
617
631
625
610
609
616
617
610
612
617
617
610
614
623
621
626
607
625
603
639
612
615
614
606
637
613
614
603
610
610
612
622
624
625
602
607
608
625
616
629
628
608
640
612
602
614
624
614
639
615
614
614
611
615
614
625
613
606
613
620
623
620
617
616
616
604
624
605
630
606
603
613
610
613
618
627
613
619
615
605
614
631
615
616
604
609
639
626
621
618
630
619
626
603
637
607
614
616
627
626
603
628
615
625
639
614
617
610
613
615
613
609
603
609
639
606
622
624
613
618
607
611
608
624
601
610
622
609
622
618
626
630
607
614
606
619
617
615
611
608
612
613
612
631
636
616
613
628
614
615
615
626
608
618
639
609
630
629
608
609
611
602
606
632
602
604
626
611
617
620
615
605
629
632
629
611
614
614
621
603
614
614
623
624
612
632
612
630
609
628
608
607
617
629
625
624
609
617
625
603
626
622
615
622
626
612
613
633
606
606
629
606
632
611
603
621
612
622
637
603
615
618
629
619
622
618
625
625
621
626
601
633
617
617
622
613
604
626
611
604
622
609
615
635
632
605
617
627
637
607
623
630
608
606
612
616
613
623
609
616
618
625
631
611
626
632
613
622
619
626
632
613
611
612
621
617
610
624
607
622
630
611
617
602
629
620
638
627
606
613
626
610
606
603
614
633
613
602
630
618
613
607
607
608
627
610
623
623
635
631
622
613
613
614
624
629
612
623
625
612
617
618
617
604
622
618
602
605
624
613
603
604
608
621
622
614
623
614
617
609
631
609
604
636
619
633
618
618
609
608
618
627
604
622
608
599
626
626
610
615
607
629
614
633
604
626
634
608
622
634
610
627
625
615
634
636
616
607
606
627
632
632
608
628
608
604
629
605
616
629
614
614
606
615
605
616
605
609
620
612
609
609
613
621
626
639
625
631
629
613
617
617
606
624
630
625
625
618
610
606
601
626
617
605
631
609
614
629
627
623
633
627
610
639
633
627
635
624
606
609
633
608
631
622
604
617
604
613
622
625
627
623
605
609
613
606
608
633
637
617
632
613
608
603
611
615
604
631
639
610
621
623
606
619
625
611
625
626
634
605
622
602
616
631
608
610
639
636
626
608
602
640
628
617
605
623
610
616
622
604
610
617
620
612
623
616
618
636
609
606
612
638
609
611
619
621
611
622
618
611
624
600
615
621
632
609
635
629
610
616
639
637
620
612
606
604
627
607
607
604
604
610
612
621
618
617
607
636
612
603
615
629
605
620
616
606
619
634
628
614
606
621
624
610
613
613
608
631
620
622
614
629
607
612
614
626
631
637
624
629
619
611
615
611
620
635
610
619
608
603
608
632
626
614
620
618
614
603
623
618
626
634
616
623
619
606
614
612
630
612
620
639
628
621
623
608
622
609
623
623
603
613
604
609
607
619
622
608
615
622
604
620
609
632
611
614
629
607
610
602
602
610
630
619
616
607
621
626
607
627
604
604
623
602
606
634
618
607
631
634
607
606
608
605
603
619
620
604
608
615
630
625
608
623
613
618
606
603
607
621
627
620
602
625
615
612
633
622
623
604
610
632
624
637
609
607
606
606
633
609
623
624
617
634
613
619
621
617
633
613
603
604
630
603
639
618
639
631
610
624
618
613
610
626
619
613
615
613
624
613
608
615
609
607
609
632
635
619
631
619
625
608
627
624
622
613
626
617
604
624
620
623
611
619
605
604
603
628
625
628
618
632
638
625
618
600
612
626
611
639
610
611
628
606
637
608
635
616
634
605
638
622
626
625
612
631
635
617
628
613
602
620
604
613
613
640
606
611
638
611
634
609
620
622
598
621
605
614
608
625
615
612
614
613
600
626
610
630
607
623
620
604
610
619
627
607
635
609
603
612
634
619
632
615
608
604
606
611
599
621
631
622
619
639
631
619
616
617
612
617
613
605
617
631
619
606
614
602
619
639
617
632
613
628
633
617
623
613
627
639
637
632
628
632
620
639
623
623
606
606
609
632
606
608
618
615
601
620
626
627
610
636
613
620
603
605
631
611
604
635
611
615
633
610
608
622
610
611
600
611
619
627
610
615
633
614
623
620
607
614
606
632
629
614
621
625
639
621
629
609
604
610
612
617
610
604
615
612
611
619
604
606
622
631
640
603
625
626
630
627
618
614
614
604
603
627
607
613
626
626
603
609
631
623
611
623
614
631
630
622
624
615
613
623
618
607
613
629
623
621
615
635
606
608
601
620
631
606
625
631
621
623
600
629
635
635
616
623
616
632
631
618
605
614
635
619
622
609
623
610
625
613
624
609
619
631
607
629
613
606
625
618
625
610
622
621
612
630
639
626
615
614
610
625
639
612
606
614
623
633
632
619
615
635
630
604
622
627
615
622
603
616
614
613
628
614
611
614
629
629
625
616
606
607
609
608
614
617
613
616
614
630
622
631
616
608
606
613
620
633
621
610
632
616
625
632
608
605
621
615
626
610
617
611
606
603
608
637
619
632
612
639
606
623
624
629
602
628
639
616
614
622
626
611
629
636
615
615
625
632
631
614
622
622
633
607
605
607
627
610
607
630
601
601
609
622
639
610
614
615
622
639
624
627
630
634
621
612
614
604
613
613
622
617
605
620
609
607
614
615
609
620
632
606
622
611
608
625
611
601
606
626
631
609
608
607
622
603
605
609
624
618
629
602
615
629
614
602
610
635
627
622
621
618
606
618
625
610
611
630
639
601
610
609
602
626
613
609
616
624
618
634
636
621
601
616
608
615
614
639
623
603
622
605
604
631
618
614
632
618
629
610
622
618
609
639
618
616
610
627
632
613
620
609
634
609
613
621
613
610
610
616
634
626
627
625
616
610
621
602
613
639
623
619
616
607
612
603
607
623
608
616
607
605
602
609
604
634
608
617
623
612
608
609
621
606
615
603
613
635
621
635
614
618
604
607
619
609
613
626
620
601
610
633
608
608
608
614
623
613
614
622
615
610
623
606
609
633
605
616
618
639
632
603
621
608
623
614
608
609
623
616
606
631
625
614
617
617
619
613
612
612
623
616
613
622
603
605
619
620
614
614
627
618
604
606
609
639
608
634
604
611
631
617
621
607
603
620
611
606
620
618
628
600
617
639
635
606
633
635
629
628
611
621
620
609
613
602
638
632
599
607
612
612
620
616
630
623
601
621
619
630
612
631
620
606
617
605
626
630
603
627
622
607
635
611
613
603
605
614
614
628
631
640
613
624
604
614
611
627
604
618
619
625
628
635
618
599
612
638
625
617
610
602
613
625
624
614
619
609
629
614
605
612
617
630
626
622
608
606
621
612
603
639
633
612
603
615
632
639
621
632
632
623
603
606
607
622
604
610
606
608
606
635
621
608
634
613
617
612
624
606
616
613
622
609
609
615
634
605
617
612
621
626
623
628
639
611
617
627
610
611
634
604
623
610
609
629
625
621
603
618
639
611
625
615
607
615
606
608
606
613
605
623
636
632
604
610
613
613
617
605
620
617
621
620
629
617
612
626
615
629
615
604
602
607
614
607
622
624
635
608
603
625
621
603
625
623
629
619
615
616
631
628
612
623
630
602
616
606
632
611
629
618
604
616
609
621
609
628
623
610
613
622
617
630
614
607
614
616
622
627
634
604
622
618
620
620
617
609
611
611
622
606
613
639
611
611
617
613
624
611
609
629
610
630
632
634
615
604
611
607
606
605
630
621
610
615
606
621
603
628
628
605
603
632
607
607
631
618
610
605
614
611
610
617
630
603
616
603
633
602
617
628
620
624
608
629
609
630
606
614
603
618
611
632
605
635
606
623
628
613
618
609
601
639
612
613
614
604
617
635
621
623
617
604
604
613
632
624
602
615
604
619
607
628
611
613
625
609
625
624
614
627
606
605
609
618
622
626
625
621
612
631
608
618
606
608
618
610
623
627
617
616
616
639
608
607
632
621
623
611
604
606
619
608
609
620
631
600
624
604
621
613
621
610
609
617
611
605
610
617
624
616
606
607
615
613
635
604
603
629
628
620
623
614
626
623
604
612
608
609
622
603
604
619
609
620
610
607
602
610
639
634
604
601
609
631
626
609
614
608
627
610
605
603
603
619
617
626
610
631
619
606
604
612
633
623
631
612
606
614
605
609
620
606
620
609
605
623
626
614
606
604
619
610
609
608
618
605
632
634
608
616
603
622
601
635
603
621
637
625
624
605
631
625
620
619
608
606
619
631
614
605
607
616
620
623
606
620
619
609
613
615
607
619
614
631
635
622
615
623
616
631
628
621
604
603
607
625
632
617
618
601
600
616
606
618
635
615
606
632
623
603
608
612
639
613
616
611
616
605
626
624
602
626
622
639
632
609
619
610
614
615
624
634
618
609
608
637
629
610
635
601
631
612
632
613
621
640
603
608
628
620
619
601
616
630
610
624
625
607
629
608
605
606
623
624
624
603
625
626
604
638
602
624
637
606
630
613
607
606
604
620
624
628
608
609
619
639
623
612
624
616
616
611
627
622
609
615
607
610
610
613
632
620
640
620
624
608
637
617
632
607
608
619
617
623
607
619
617
606
606
639
616
626
620
639
609
611
609
614
614
611
611
615
618
614
605
617
626
630
619
621
622
629
624
630
610
612
603
610
603
616
622
636
632
605
604
616
622
638
615
601
603
622
620
604
606
615
639
621
633
612
630
619
617
616
603
615
627
608
602
626
612
608
628
611
616
606
618
613
609
622
629
616
628
610
629
604
621
632
623
605
612
615
631
635
636
616
601
633
624
618
617
606
609
609
609
627
629
605
609
605
613
618
626
625
609
634
623
608
623
606
607
626
620
635
609
613
608
620
606
624
632
611
609
606
608
602
622
608
633
609
614
603
621
628
639
620
605
620
610
603
617
627
622
619
619
621
618
632
623
614
639
629
607
619
612
614
609
606
605
613
610
610
603
621
613
618
634
613
617
613
605
611
613
626
615
621
629
631
630
616
626
616
632
603
634
622
608
614
618
622
612
617
620
603
608
622
616
614
610
625
620
613
613
613
633
623
626
610
615
629
615
614
609
624
619
633
615
621
607
621
607
606
618
605
605
617
614
607
614
623
632
626
614
621
609
618
615
613
615
626
621
603
628
612
609
625
631
613
601
609
606
614
636
624
637
633
629
632
616
623
626
612
613
632
601
628
634
627
632
604
618
610
631
629
626
612
607
634
603
608
622
613
604
606
606
605
619
618
630
639
624
615
609
615
621
613
626
611
608
635
615
608
604
612
625
607
621
603
609
617
621
631
605
611
608
622
603
629
609
607
618
618
619
607
624
633
610
626
614
632
620
618
608
633
624
619
633
626
608
610
639
620
605
608
622
632
624
603
617
623
639
603
619
618
603
616
629
630
608
618
629
632
628
634
616
618
608
627
607
615
603
627
631
622
617
639
603
604
612
625
629
613
604
617
602
611
631
639
607
622
616
620
609
618
613
606
629
606
603
603
612
621
617
637
620
624
607
604
617
623
629
606
631
617
603
608
630
616
623
610
603
608
613
620
634
628
606
626
621
623
620
619
615
614
620
608
607
613
634
617
628
605
610
611
613
639
609
623
611
617
612
613
609
608
625
611
632
623
611
609
615
612
608
628
614
608
623
618
605
624
617
616
606
623
610
605
628
608
613
611
613
639
606
627
608
614
619
607
608
632
606
620
611
621
631
608
606
610
606
606
617
626
616
619
622
620
622
610
632
608
603
618
608
610
617
609
619
622
611
625
634
613
612
607
620
629
609
607
609
616
605
624
638
625
632
610
618
603
607
609
617
625
619
612
633
618
614
634
608
606
609
606
612
629
605
616
613
612
611
613
635
603
606
621
610
609
637
613
610
607
606
621
620
621
614
610
603
639
616
634
617
632
624
604
610
625
637
604
601
639
617
628
628
609
622
604
629
612
614
634
632
632
625
616
607
625
610
615
628
632
611
639
615
629
631
609
617
625
637
631
621
628
628
609
626
624
614
603
617
631
610
610
606
618
610
632
639
610
614
606
635
610
606
611
607
627
605
614
609
609
622
617
614
626
632
611
623
610
629
614
630
615
604
609
606
623
606
609
617
622
619
632
615
614
606
603
615
617
616
614
624
639
624
603
603
611
614
607
608
611
618
617
626
623
626
628
635
609
609
631
617
636
632
619
609
607
609
629
612
630
611
628
614
609
623
604
632
609
613
618
605
630
609
604
635
623
605
632
617
607
623
618
621
615
614
612
611
608
609
632
623
607
629
608
616
610
616
630
610
611
626
619
632
639
613
614
605
613
612
614
609
616
623
623
609
610
619
622
606
605
613
625
616
621
616
606
613
608
628
616
625
633
631
619
607
626
614
633
603
611
629
623
625
605
613
609
631
619
617
634
632
616
629
639
608
626
602
613
623
627
619
607
613
638
609
625
629
615
609
624
612
605
609
614
623
620
609
606
629
610
627
625
617
604
620
635
631
609
638
604
611
627
629
618
603
631
609
609
619
613
619
607
606
608
607
616
618
610
614
610
610
622
639
606
618
620
610
604
623
625
608
633
615
613
630
617
603
600
611
602
612
621
631
611
604
606
628
620
611
604
621
622
604
616
632
614
604
609
616
609
606
619
623
626
611
623
607
632
626
607
625
609
628
609
609
604
623
610
608
639
610
606
622
635
607
610
603
634
614
616
607
615
618
607
628
615
630
601
623
609
636
618
602
623
624
623
608
605
621
607
603
634
619
621
626
605
626
622
613
626
627
635
626
629
617
615
606
617
628
630
602
599
632
621
615
632
611
607
617
626
609
609
633
620
634
609
626
623
629
617
611
611
621
610
634
613
631
616
611
611
616
603
621
610
613
612
606
612
635
604
607
604
635
606
610
608
632
625
606
625
631
621
621
613
625
610
614
611
615
604
624
609
630
613
629
623
619
605
609
618
630
609
613
619
609
607
611
605
620
607
617
613
615
626
613
623
604
639
623
605
615
611
603
607
621
612
626
617
622
639
603
619
635
605
626
606
608
635
632
602
616
620
616
621
625
615
604
639
640
622
616
608
619
632
603
633
605
607
625
616
622
620
613
639
618
620
612
622
621
611
606
619
604
611
604
618
607
621
613
622
600
615
616
611
614
623
608
637
608
620
609
631
603
641
616
623
599
604
638
625
613
603
607
608
610
599
608
625
630
606
640
618
617
618
609
604
610
621
621
621
609
602
625
638
617
634
633
603
616
608
624
639
609
631
616
612
606
615
619
631
614
635
603
617
610
623
613
617
608
623
623
613
616
641
631
612
615
622
629
602
633
611
612
639
617
619
626
616
635
620
610
639
628
607
607
604
621
610
629
616
622
641
626
605
628
605
603
608
629
605
625
619
606
614
614
604
604
622
606
606
616
612
613
612
625
615
628
616
612
618
615
617
621
614
611
635
607
631
635
607
610
604
615
631
608
604
626
610
613
631
614
635
610
627
602
619
613
611
603
619
618
609
606
605
628
637
613
634
608
618
613
634
609
608
605
610
609
617
606
622
627
617
615
613
618
619
629
607
619
615
617
624
612
606
610
622
609
617
613
618
619
613
614
640
624
632
618
627
621
606
619
625
626
635
611
623
613
607
623
616
628
613
613
602
617
634
617
632
611
605
629
609
608
625
627
625
635
623
618
628
617
604
610
612
609
624
611
618
631
608
604
617
633
623
607
613
620
626
606
616
610
617
602
621
608
617
605
623
614
616
624
615
629
623
622
630
629
619
616
614
613
601
632
612
617
632
613
610
639
611
613
604
615
602
630
607
606
617
624
617
610
619
631
622
617
603
626
602
622
614
605
631
613
600
631
603
621
610
620
607
630
609
626
639
616
612
617
600
633
617
608
635
623
601
621
609
614
614
611
629
615
606
623
633
621
623
629
633
617
636
627
639
624
604
613
623
637
640
614
607
625
620
632
603
603
635
623
604
607
614
613
610
603
605
607
618
625
621
624
613
607
603
617
619
623
623
629
606
609
610
607
634
622
610
614
618
605
610
623
618
612
612
614
618
612
618
605
633
613
603
623
633
608
633
626
626
607
606
631
607
619
606
617
628
640
607
628
610
613
613
608
614
622
630
616
620
618
608
608
624
620
617
621
613
619
610
635
630
621
605
613
612
613
640
619
623
624
612
621
628
606
620
606
604
613
613
629
614
622
635
605
618
612
614
614
626
605
609
634
626
617
625
616
603
624
625
619
621
634
603
623
617
622
608
609
617
610
615
605
616
627
613
623
607
618
613
617
629
618
629
619
621
617
629
635
605
631
608
604
618
601
612
631
614
614
602
614
626
607
632
624
608
610
629
625
619
604
602
615
620
624
609
616
609
620
631
639
632
606
608
606
618
603
618
621
619
620
607
608
606
625
622
603
600
630
612
618
611
615
617
611
631
635
619
621
614
631
618
631
625
614
622
630
615
607
629
613
635
611
618
611
608
602
637
619
613
635
631
639
607
636
612
606
606
603
619
626
612
623
616
614
614
604
614
609
622
623
604
613
611
607
604
608
638
620
616
605
626
613
625
631
604
602
610
627
604
602
625
620
606
631
606
604
622
628
622
616
613
613
628
626
632
621
627
639
606
639
631
615
612
619
631
604
618
608
638
614
608
627
627
606
617
634
611
613
627
607
612
611
604
608
619
623
632
624
639
608
615
612
603
628
639
611
605
624
619
620
605
621
610
623
624
636
621
635
606
603
625
614
612
611
627
604
608
620
631
610
612
609
632
607
619
607
612
609
613
604
635
620
607
624
605
635
621
622
605
628
623
607
622
620
620
613
625
611
606
616
627
607
611
614
632
614
611
610
621
611
629
619
608
620
622
631
635
604
603
608
610
610
610
610
619
620
614
634
640
623
619
612
609
618
632
615
631
606
628
626
607
608
612
635
614
626
607
620
608
621
628
608
619
628
639
610
605
608
619
606
629
606
632
622
615
617
609
617
611
602
619
623
615
639
602
631
614
629
614
614
607
621
625
610
626
609
608
623
624
614
626
629
615
636
627
615
633
615
625
613
627
619
623
610
639
611
607
617
622
625
627
629
618
614
617
623
615
616
624
633
610
620
615
612
630
609
620
603
618
604
608
605
612
614
613
609
604
612
639
630
614
605
623
611
618
640
613
605
610
605
624
602
620
622
609
611
639
614
632
621
605
614
617
626
631
626
603
623
610
623
615
625
633
632
633
616
614
613
629
610
619
613
615
618
614
629
614
608
610
622
628
629
605
608
623
621
623
603
633
621
635
610
626
621
629
602
607
605
632
609
632
631
618
626
614
622
613
612
619
605
623
608
618
619
607
619
632
610
617
634
613
605
619
606
606
634
616
620
631
610
622
610
639
632
617
618
608
631
624
619
632
638
611
622
621
640
605
602
604
605
631
628
621
614
635
608
613
606
619
618
619
611
622
613
621
619
606
609
632
610
621
620
610
631
615
608
621
617
609
609
623
611
613
603
638
629
605
611
623
607
613
629
625
608
617
614
609
608
613
615
612
607
616
615
603
608
620
628
608
612
617
616
608
621
624
627
628
606
606
614
624
634
622
622
613
616
632
608
632
640
603
610
614
632
631
634
614
620
606
614
605
613
610
616
617
612
615
616
611
634
608
631
609
613
608
608
623
629
608
619
602
602
622
639
607
632
615
619
629
614
614
610
613
614
620
609
610
634
641
621
639
623
617
605
613
630
620
607
619
625
614
634
608
615
612
604
619
605
605
605
605
631
631
621
606
625
611
612
633
614
612
614
631
603
628
640
624
624
602
612
613
625
635
608
605
610
632
603
635
630
614
614
638
607
622
626
606
606
617
613
615
619
612
617
609
634
639
613
631
635
625
631
617
628
603
629
604
604
623
627
607
621
631
607
624
605
608
639
634
608
615
632
609
608
612
622
618
626
611
619
631
623
613
604
608
620
623
614
618
623
608
619
640
604
618
615
639
618
632
623
626
613
607
604
612
607
619
630
617
613
608
619
626
620
624
614
616
614
602
639
614
610
616
619
614
608
608
604
631
619
618
602
631
614
607
609
610
628
605
634
614
630
601
614
617
607
609
618
611
623
617
630
629
622
628
639
628
604
611
628
629
617
616
608
606
617
632
613
636
614
603
622
612
622
610
632
617
630
617
603
639
609
617
629
621
623
607
623
613
604
617
606
609
613
631
614
616
613
636
628
635
625
626
622
630
599
631
623
612
627
623
617
632
639
610
622
638
606
628
604
607
611
605
631
611
627
610
611
617
607
613
625
633
629
627
605
603
631
610
608
622
634
613
602
619
614
618
625
608
639
606
617
619
605
617
639
635
624
611
620
616
616
613
633
618
604
606
631
612
636
613
624
610
624
611
632
612
608
633
628
616
612
605
620
623
621
637
615
605
631
604
629
620
610
610
630
622
622
617
619
617
623
615
622
636
634
627
611
631
622
615
628
613
617
627
625
616
601
612
622
628
614
626
632
613
605
625
608
626
607
613
629
610
618
617
623
609
629
626
630
629
623
628
622
637
632
618
640
609
607
623
639
615
615
615
631
610
631
607
610
608
605
605
614
622
636
612
611
618
618
626
620
624
613
628
602
617
624
610
616
615
607
633
619
619
631
602
636
635
602
614
603
621
616
619
612
622
617
615
600
618
611
630
622
611
612
622
630
633
607
606
612
608
614
639
609
607
638
609
626
607
608
619
618
606
611
616
612
615
614
612
622
620
619
603
615
610
610
620
628
607
625
615
637
614
613
609
616
630
612
605
630
609
623
602
628
625
614
608
634
617
615
610
619
635
607
603
635
635
603
635
614
628
624
604
634
622
604
634
620
629
629
621
627
612
607
619
612
611
614
606
611
607
618
617
632
626
622
635
607
616
623
614
611
624
612
623
612
604
626
605
636
622
623
614
611
622
611
634
608
615
618
600
613
619
615
607
603
602
608
614
613
631
601
630
612
629
603
620
617
620
609
612
608
615
618
640
619
609
623
613
605
613
605
621
630
627
615
622
614
610
609
604
622
609
625
632
616
604
611
628
626
607
639
605
613
604
623
621
629
616
626
628
617
617
606
635
624
632
626
605
623
618
606
604
629
612
623
603
610
629
608
622
613
606
629
614
609
606
624
605
632
622
608
624
614
632
613
611
619
600
631
631
611
622
631
632
624
608
609
615
631
603
612
626
620
619
604
614
620
623
609
634
618
632
612
637
618
617
608
626
603
624
611
625
611
607
625
625
621
634
607
608
617
618
639
617
616
627
610
617
612
610
603
605
631
606
603
618
635
629
620
610
605
629
609
611
620
622
612
629
606
605
636
601
613
607
619
609
618
607
610
608
622
609
635
623
639
620
615
618
619
639
618
618
604
615
621
617
632
604
613
625
614
610
607
633
623
606
629
628
610
619
632
608
626
620
608
613
632
611
618
639
618
613
611
618
607
630
606
616
613
614
608
632
622
610
610
636
639
604
617
614
609
628
613
620
614
608
616
623
617
609
611
610
614
632
605
609
603
609
616
605
610
632
621
610
623
623
625
608
618
614
622
612
620
613
609
632
613
611
629
601
624
629
609
619
623
639
617
630
605
606
636
632
635
628
617
602
623
610
633
608
606
602
604
617
615
616
626
611
617
603
608
605
610
628
606
608
626
610
614
617
639
625
613
626
623
622
606
617
613
627
629
626
614
626
606
607
620
614
631
632
617
613
625
618
625
606
613
619
632
613
625
605
609
614
623
607
631
602
615
624
634
614
603
610
619
614
632
608
611
633
609
629
617
600
628
608
623
615
631
623
639
629
616
609
623
604
606
610
630
637
631
633
615
618
612
609
609
609
618
611
626
616
616
616
639
603
622
619
607
617
607
599
615
628
606
635
615
610
616
637
628
621
623
611
614
606
603
611
620
610
606
602
623
607
613
614
632
609
614
611
606
626
602
622
613
623
620
626
638
629
612
612
619
610
619
606
607
610
608
609
623
614
636
605
616
616
618
621
622
623
619
614
612
602
621
606
616
632
630
618
626
609
617
613
635
615
626
631
615
609
603
614
616
633
626
625
610
622
630
605
608
615
631
613
619
607
616
626
619
620
619
614
619
614
610
610
612
613
624
623
610
607
616
615
612
629
613
623
614
607
632
614
615
614
631
606
625
626
633
632
610
621
619
613
625
622
617
626
609
616
609
622
608
629
613
622
606
617
614
638
622
624
617
611
619
625
613
607
622
610
628
603
634
603
602
620
633
602
622
614
602
615
609
624
632
611
631
609
624
623
623
631
636
623
609
631
619
631
634
621
623
613
635
611
633
602
614
608
604
607
626
608
632
604
619
639
621
627
630
623
609
603
610
615
639
617
614
625
632
616
616
626
632
621
612
619
617
619
631
605
621
610
621
605
615
619
616
613
606
610
628
604
617
605
622
603
617
640
605
618
608
631
617
622
608
616
617
625
617
619
631
620
609
624
613
612
622
609
626
606
628
616
608
617
605
627
612
605
612
603
620
610
615
609
638
634
603
607
629
628
623
622
609
632
613
630
626
622
621
623
617
609
621
602
606
631
622
626
609
639
630
605
609
614
621
618
614
637
619
604
607
615
630
609
613
601
609
635
610
623
613
604
623
612
607
624
610
609
623
610
639
614
635
608
610
622
620
605
609
613
627
627
614
611
612
613
636
607
612
604
606
603
600
616
633
606
610
611
612
626
621
607
607
637
618
612
614
625
612
625
626
630
625
632
623
639
619
617
612
613
619
621
620
639
629
628
631
613
609
621
622
623
630
611
603
617
606
624
628
605
613
603
609
623
606
625
619
623
623
606
621
613
603
614
612
606
620
622
622
617
607
613
640
629
614
622
623
618
625
609
629
609
607
603
621
620
610
625
610
613
612
633
623
620
609
631
637
615
626
617
609
617
619
614
609
610
623
611
611
600
602
623
623
617
629
620
632
614
611
608
607
608
615
626
626
636
606
605
626
604
605
626
620
604
603
604
608
610
611
614
629
613
610
608
639
613
609
632
609
618
623
610
622
607
604
623
635
603
614
611
635
613
618
618
620
606
615
610
614
610
628
613
610
603
612
608
620
603
626
606
631
614
607
613
610
626
632
610
620
618
610
602
612
615
605
608
609
603
602
633
614
632
631
613
615
609
612
608
607
606
624
640
620
601
604
614
613
620
616
608
605
605
608
612
632
617
620
616
603
609
626
603
625
602
614
610
619
600
614
612
629
606
606
601
632
625
611
612
613
609
604
617
616
620
613
611
610
607
621
609
615
631
619
603
609
621
617
623
604
606
625
617
603
628
629
626
609
604
612
618
608
617
628
623
618
631
635
621
627
613
618
618
625
606
623
621
614
614
619
632
604
607
619
611
605
614
629
619
618
625
613
619
620
616
635
629
639
636
629
632
607
632
632
601
618
606
617
632
614
608
631
613
628
607
619
616
633
605
637
615
620
614
619
605
614
611
604
619
627
626
616
615
624
631
604
605
621
635
630
599
618
622
608
610
614
639
625
623
614
602
639
622
625
611
618
603
621
620
608
626
606
610
604
617
609
604
612
635
626
610
608
617
624
630
599
633
626
621
609
605
620
610
626
614
632
614
620
614
637
622
609
612
623
615
632
629
621
622
610
610
613
617
623
623
610
614
625
627
620
629
608
613
623
613
614
623
611
625
612
606
623
614
602
609
637
607
608
606
610
614
622
612
627
611
624
622
628
629
621
632
620
614
613
620
626
605
632
610
621
603
617
622
636
623
639
599
611
616
639
605
603
604
630
609
618
635
626
626
624
624
631
607
617
608
610
619
634
635
617
614
613
605
605
621
606
634
632
628
599
624
620
620
631
613
609
637
612
627
608
631
604
633
624
623
614
620
639
623
628
618
630
621
634
605
612
629
634
632
626
614
629
613
620
616
627
634
611
621
628
613
599
624
601
618
617
617
621
626
619
613
604
623
608
603
634
625
617
628
605
632
614
613
609
610
632
628
631
624
617
614
620
619
605
605
610
629
623
622
614
619
603
619
639
612
639
604
617
607
617
610
604
623
623
618
617
607
632
628
607
625
632
626
604
618
630
603
611
621
628
613
615
639
620
609
619
617
610
604
612
602
616
609
635
622
606
622
619
623
636
619
604
611
620
610
615
634
607
608
610
603
602
613
618
631
623
611
627
616
611
622
617
618
616
607
617
616
607
623
614
627
624
638
606
609
631
628
608
602
607
603
619
619
611
609
613
612
604
609
639
622
626
635
608
610
622
623
603
605
638
606
606
609
633
609
627
629
608
619
617
612
615
621
639
623
606
616
615
600
613
619
608
628
611
614
629
604
625
613
607
633
613
619
603
622
617
604
617
630
615
606
602
619
608
604
625
623
614
638
619
600
607
606
607
620
603
620
629
618
606
632
605
631
626
618
607
620
615
635
614
607
611
608
613
614
609
629
617
629
603
639
617
611
632
625
638
630
613
623
605
605
628
625
608
615
618
604
612
613
606
622
616
622
602
614
626
625
609
601
602
619
618
626
617
610
613
604
627
599
604
623
609
634
618
612
613
614
622
609
635
620
613
608
629
616
612
608
608
623
608
624
608
614
627
635
621
608
618
633
623
617
625
617
627
626
611
607
629
602
609
610
637
639
618
619
624
604
607
609
609
637
610
610
612
613
630
611
630
628
631
619
631
607
615
622
613
616
639
628
632
603
622
622
630
634
609
608
639
626
610
630
615
611
607
612
610
635
626
617
626
623
616
634
627
621
631
613
614
625
613
628
606
622
616
639
639
634
610
631
638
608
602
615
629
630
623
602
601
606
627
626
614
613
621
629
623
639
628
629
634
617
622
625
631
608
604
623
612
630
627
610
635
614
609
639
629
639
625
610
630
630
623
631
619
613
613
608
605
612
634
621
609
617
604
618
621
608
623
606
623
606
603
617
623
612
614
618
614
614
612
616
606
625
606
624
618
620
639
629
614
603
608
626
616
609
628
609
612
612
632
612
621
612
614
624
611
632
601
612
617
635
606
616
606
618
612
613
609
611
632
620
634
604
614
622
630
628
604
621
609
610
620
610
631
617
610
636
608
613
631
632
615
613
605
617
608
607
616
609
616
619
628
621
621
628
632
630
622
605
614
626
621
610
632
617
614
614
602
602
608
612
621
624
622
621
609
620
621
609
639
611
607
614
631
614
632
622
619
629
638
637
627
615
619
615
611
618
603
618
611
632
615
602
612
623
613
623
639
635
632
607
628
617
618
639
607
608
608
620
627
617
606
611
611
607
632
605
613
616
603
612
608
605
609
618
623
618
605
614
613
635
637
613
603
613
613
614
618
602
606
614
628
618
617
613
631
632
615
607
610
602
620
616
609
624
612
618
604
624
628
604
638
605
614
612
612
619
608
604
608
632
606
622
613
609
602
619
610
626
634
618
616
611
612
603
610
619
609
607
608
611
611
606
639
619
616
613
614
622
617
617
612
611
604
611
609
606
625
616
627
620
604
612
610
608
615
618
604
624
615
629
639
611
612
623
627
623
604
616
639
619
630
633
604
612
613
626
601
620
622
607
632
630
614
622
621
622
610
609
617
610
616
604
605
634
610
610
604
618
622
621
627
618
609
626
636
609
635
639
606
613
612
621
606
624
606
615
612
607
625
635
616
604
628
608
629
604
622
613
620
623
636
619
622
604
622
612
625
605
613
621
613
634
614
609
639
615
619
613
613
628
604
615
613
609
609
613
632
635
623
604
628
626
623
603
613
632
611
623
626
612
620
618
605
625
603
624
613
608
607
625
608
611
627
611
607
603
613
606
621
613
622
615
625
622
629
634
606
620
626
617
617
626
605
609
625
624
618
599
613
630
636
612
624
618
621
619
632
627
629
627
610
618
632
613
614
625
602
626
633
604
604
626
617
607
618
609
632
609
628
614
611
605
614
639
619
623
617
608
615
615
621
610
618
612
617
610
611
611
617
617
632
609
617
631
626
631
617
639
616
627
607
639
626
638
609
620
632
618
608
610
631
619
604
625
634
610
613
618
608
607
617
608
611
607
635
625
604
639
631
610
615
613
607
628
604
614
614
639
605
632
611
614
605
619
629
630
605
620
630
618
608
622
617
635
620
609
609
622
618
601
607
610
618
623
608
621
623
604
628
615
636
610
602
614
603
601
614
613
619
629
612
615
632
609
632
627
630
611
634
633
628
605
615
608
603
616
611
608
634
633
623
618
611
627
615
613
607
613
621
599
629
604
631
633
633
603
619
605
603
608
608
618
637
606
606
628
613
615
636
632
608
604
624
621
617
610
635
603
610
624
626
618
616
617
625
639
604
615
609
613
613
635
601
626
620
615
621
618
606
607
603
623
632
619
624
624
629
603
613
613
602
612
619
618
614
612
627
614
623
613
604
622
621
620
633
601
620
630
611
629
631
610
616
616
634
612
614
612
608
614
603
627
615
632
602
628
635
605
634
627
639
623
614
619
607
631
612
609
639
613
624
610
620
623
632
633
633
638
614
613
623
625
618
635
611
619
630
608
611
634
605
606
632
615
629
606
632
605
623
613
606
608
619
614
630
626
618
621
629
608
605
619
612
633
608
609
609
610
630
618
606
606
622
626
607
619
613
610
622
630
612
605
628
613
631
626
599
620
617
624
617
606
604
622
608
635
612
634
628
610
631
610
623
639
627
612
614
611
619
613
612
603
603
615
604
626
626
626
628
608
624
640
605
608
612
602
631
611
639
617
619
614
639
612
606
632
615
614
626
626
609
628
603
612
627
640
619
623
618
622
634
609
614
604
623
631
624
614
605
605
613
604
623
606
607
623
623
607
619
613
606
618
622
604
631
609
622
617
602
617
629
607
624
604
604
628
606
605
610
632
640
620
609
608
616
616
618
603
617
628
626
608
606
599
603
609
628
639
634
614
606
637
622
623
606
628
620
625
618
632
608
633
611
612
614
610
612
627
603
616
608
620
615
626
639
617
616
609
613
614
612
604
635
613
630
623
623
603
612
603
621
623
613
639
607
621
602
614
610
613
629
611
622
617
623
611
625
629
626
634
627
612
616
632
613
600
629
616
632
613
613
610
609
630
619
631
617
619
634
620
612
612
606
614
608
613
626
631
607
609
605
628
605
627
639
609
607
603
624
611
617
620
600
608
623
630
621
602
639
629
623
625
617
611
604
624
623
632
637
609
606
625
618
605
616
615
600
633
613
626
632
625
635
605
619
628
622
621
619
621
615
621
639
639
634
615
609
604
604
611
609
617
623
609
614
625
628
622
603
632
615
629
622
616
615
625
624
617
626
611
602
619
612
617
614
614
614
603
622
629
639
617
607
623
614
617
627
619
609
605
637
609
632
604
628
625
615
607
611
611
631
606
623
610
615
620
604
608
623
631
627
628
639
611
616
608
610
614
604
626
612
616
628
606
610
620
626
611
608
615
618
602
607
617
607
605
627
624
603
634
632
640
620
635
614
608
628
628
607
608
636
605
625
606
634
610
630
639
603
604
602
618
615
616
617
609
603
614
639
617
608
620
629
614
603
614
635
622
635
609
603
623
619
628
613
607
619
616
615
611
607
615
621
629
618
619
603
607
614
620
610
614
625
629
609
608
610
608
602
607
619
622
632
613
625
639
602
611
625
634
629
631
621
631
602
626
619
609
634
617
612
610
634
612
627
633
622
634
605
610
612
609
612
617
603
608
623
634
630
615
614
623
617
627
602
616
613
640
614
623
634
611
604
628
618
617
616
614
616
625
615
625
622
623
627
610
622
603
611
603
631
608
605
618
635
631
625
627
632
638
600
632
609
617
628
628
604
629
604
601
631
606
634
627
622
612
614
614
626
627
609
617
626
626
623
614
626
605
613
615
605
611
614
613
612
606
622
622
633
631
613
630
608
609
622
610
629
625
633
610
628
608
620
605
603
628
601
632
609
639
626
620
635
608
628
604
611
618
618
614
625
622
613
620
625
603
617
611
616
605
611
613
623
631
605
609
623
629
621
606
606
621
631
623
632
629
613
640
619
639
606
615
634
606
614
628
631
618
611
619
609
639
613
640
609
627
603
615
610
626
633
616
606
618
629
609
622
615
614
625
631
629
625
627
611
614
604
630
623
609
613
622
615
612
639
630
614
608
608
622
605
619
606
608
611
620
635
627
615
614
618
609
608
603
615
605
620
615
627
611
634
633
606
623
623
603
629
614
634
605
619
631
634
605
608
617
604
632
609
632
612
632
629
620
612
626
605
625
626
613
639
614
614
603
603
602
635
614
608
622
632
605
604
625
602
624
611
639
634
624
601
605
613
604
617
624
633
606
635
611
614
619
615
614
611
614
602
609
609
614
636
615
605
615
613
627
620
611
604
612
606
608
604
605
611
618
623
632
614
639
620
634
620
630
621
608
624
619
623
618
636
603
632
617
609
631
622
606
631
631
616
603
626
615
610
622
603
613
626
623
611
619
604
611
602
613
622
603
614
628
615
602
628
632
624
620
620
626
610
608
630
629
631
617
618
614
632
605
612
629
633
634
623
606
616
635
604
622
632
610
611
622
610
606
603
606
628
608
605
621
604
617
639
616
620
604
625
630
609
620
616
605
610
611
618
626
633
612
620
609
634
621
625
616
628
632
603
614
632
609
618
602
629
627
609
616
622
612
639
612
630
636
632
617
611
607
628
628
622
620
620
616
632
605
609
631
620
605
631
614
619
620
603
617
609
622
609
604
628
623
620
618
631
623
617
610
622
604
626
614
620
622
632
631
626
625
605
634
614
628
620
612
618
628
616
629
622
608
614
615
607
609
617
604
635
615
601
630
608
623
628
608
608
612
622
634
632
619
625
610
625
617
606
619
639
610
629
609
624
626
625
616
623
629
621
613
627
617
618
634
609
632
633
617
622
625
615
607
608
607
610
603
615
629
609
608
636
612
608
613
601
631
623
609
611
628
609
623
637
623
614
617
624
602
609
639
605
627
639
606
617
618
603
622
617
639
602
608
618
632
606
613
612
609
615
617
624
624
609
603
625
606
616
630
609
619
609
610
616
614
621
603
607
624
612
606
620
622
632
602
630
607
621
608
624
623
604
608
639
631
608
615
623
637
605
623
613
634
625
639
622
611
626
613
625
619
623
615
621
609
606
612
604
616
610
634
609
606
608
616
618
629
616
616
601
602
606
617
613
639
615
609
626
620
606
629
605
623
618
615
627
614
606
616
634
605
630
610
621
634
611
623
609
614
639
614
629
631
629
610
603
622
637
610
639
611
612
609
611
623
603
610
605
617
615
618
610
606
624
629
609
603
609
617
624
606
637
622
603
640
612
616
629
615
611
606
621
634
625
607
604
604
623
602
614
607
610
617
616
603
625
611
614
603
603
624
625
634
631
609
616
622
613
614
614
625
610
625
610
613
631
605
623
623
613
613
611
608
639
619
614
632
617
620
599
603
617
621
629
631
612
605
608
618
614
604
616
613
609
622
610
631
629
630
613
613
610
618
614
611
608
628
618
639
617
619
606
609
613
610
621
618
631
607
608
606
601
622
612
603
606
603
631
619
631
633
634
619
639
607
625
614
621
626
614
628
608
604
616
612
605
604
610
618
618
618
625
607
608
625
633
622
616
639
614
628
607
608
607
612
605
621
619
631
614
608
610
629
631
604
623
610
607
611
614
612
622
630
611
611
613
627
640
632
608
637
629
611
619
614
624
622
605
639
610
615
620
613
606
614
605
623
608
609
618
608
632
613
622
631
602
623
607
603
614
628
603
623
603
629
630
623
611
634
603
614
630
634
630
614
633
609
632
604
623
628
603
606
608
611
626
611
612
635
617
614
608
607
621
616
628
640
615
608
602
606
606
613
629
613
612
609
618
615
610
608
619
610
603
611
610
603
623
638
608
610
619
618
608
613
627
628
621
631
627
630
624
606
610
623
608
610
631
606
623
639
627
626
638
631
616
618
631
603
612
615
632
627
610
637
622
636
605
616
625
620
626
628
632
623
634
619
613
623
626
629
639
614
619
607
621
620
620
609
612
609
626
605
607
605
636
609
608
604
613
633
628
615
622
607
622
625
626
632
611
604
615
611
613
635
622
613
624
617
622
628
627
601
621
616
604
609
612
635
618
625
620
621
610
614
633
603
632
619
613
624
610
630
622
608
617
627
623
609
636
617
624
602
628
628
636
623
610
626
603
630
622
625
616
610
626
637
622
607
604
631
611
622
608
622
616
616
605
628
635
625
632
624
602
631
629
605
627
630
621
639
602
603
611
626
613
625
613
626
607
610
601
625
606
620
636
615
639
608
619
621
603
603
629
608
619
609
599
616
638
609
624
606
626
621
608
613
612
622
630
639
610
624
612
603
612
619
617
637
634
613
605
605
607
632
623
627
604
629
605
637
623
615
614
610
616
614
610
624
639
607
607
615
611
616
610
631
603
623
620
628
631
635
606
609
619
603
610
619
631
620
607
607
626
604
630
619
606
621
609
609
631
611
618
622
603
615
627
624
616
602
604
632
625
623
612
611
604
610
618
634
625
624
606
634
616
606
604
622
627
631
621
622
613
625
623
609
616
613
631
605
612
621
624
624
634
611
603
632
619
610
615
604
620
632
607
632
604
619
624
611
633
628
634
607
615
604
614
626
614
617
630
619
631
635
608
628
632
616
623
608
607
621
607
619
631
604
606
612
609
602
603
626
607
624
620
630
612
606
622
623
608
614
640
636
626
614
603
613
620
614
630
615
619
602
614
636
616
624
631
609
619
605
617
611
619
604
617
629
609
623
614
633
605
610
632
630
604
608
631
610
630
610
629
610
622
625
607
614
613
631
623
626
610
619
607
602
614
638
610
620
622
630
631
635
617
631
622
614
615
624
604
631
622
615
619
607
618
622
612
620
612
617
629
618
604
623
616
614
610
631
619
639
605
614
623
603
613
611
613
623
610
603
615
627
628
608
600
618
617
604
613
613
612
610
622
615
622
626
610
621
620
630
620
638
608
605
612
614
602
610
615
626
626
606
612
602
618
629
617
611
605
623
623
614
616
610
625
621
628
614
640
608
632
626
620
625
604
611
625
620
623
612
637
629
625
636
613
615
620
624
604
604
611
603
608
613
604
631
611
619
637
612
623
617
613
604
614
607
639
639
615
617
636
608
605
620
615
616
603
630
604
610
617
622
609
611
628
624
629
614
612
604
629
631
604
609
615
616
625
621
626
611
620
612
616
627
607
612
639
612
606
604
602
604
608
624
640
631
611
619
617
614
621
604
610
617
608
624
609
611
613
611
609
607
635
620
609
604
605
607
623
614
607
605
614
635
613
613
622
627
627
633
622
610
631
617
621
614
613
630
611
631
630
615
609
634
617
627
627
639
620
625
620
620
629
622
623
619
614
614
604
635
626
607
609
618
608
619
604
623
619
604
635
623
629
618
612
616
629
635
632
616
618
632
615
605
620
620
604
621
610
613
622
623
615
611
608
603
611
620
635
611
606
614
622
602
614
604
608
608
622
612
613
603
625
602
626
601
616
603
609
631
632
613
613
611
624
606
636
623
615
623
610
631
629
632
607
632
613
614
609
630
627
613
609
628
639
612
623
605
618
631
639
622
620
608
616
606
623
635
617
608
618
632
631
601
612
606
639
609
605
619
605
632
630
619
617
610
602
616
640
606
622
612
623
614
610
619
630
606
609
611
632
610
612
623
632
615
612
620
634
614
622
608
639
605
622
606
610
624
604
628
635
612
616
629
606
616
616
617
615
613
627
609
627
629
604
628
615
629
613
627
626
622
634
640
609
628
606
609
631
618
629
626
615
636
613
612
618
628
630
613
629
605
618
601
609
621
610
606
613
634
622
614
610
604
613
609
609
639
601
609
607
609
602
606
614
604
635
633
612
616
626
608
612
604
613
632
618
608
615
623
606
620
603
624
619
603
614
619
639
614
613
609
603
623
634
611
625
631
613
613
623
623
627
603
606
609
610
606
607
611
610
612
627
625
622
612
608
605
629
625
606
620
610
604
629
621
623
620
611
601
624
628
621
614
606
621
614
605
610
625
630
611
640
620
640
608
610
621
631
631
608
608
607
603
624
603
602
609
617
625
609
614
626
612
617
622
613
604
616
606
620
612
614
618
639
629
623
639
611
628
618
603
613
617
603
614
608
604
604
629
631
605
608
614
625
620
638
639
629
625
606
631
616
631
610
613
608
635
609
631
604
630
611
611
619
607
612
607
621
611
626
603
623
633
639
618
603
616
606
630
605
631
604
614
603
605
616
615
634
614
626
612
618
613
618
624
639
614
605
616
612
625
623
613
615
626
623
610
607
609
613
637
617
612
613
611
612
602
606
635
620
619
632
612
620
622
606
614
611
621
639
631
609
619
619
611
610
612
604
616
612
618
635
639
608
617
609
604
608
620
603
618
613
607
609
613
611
620
625
615
622
622
611
603
629
634
609
615
616
628
631
641
610
612
633
627
608
621
614
628
631
617
634
625
622
631
610
607
619
634
610
609
621
635
613
623
616
619
626
623
632
611
615
606
613
626
607
611
609
614
624
607
629
614
616
623
614
614
608
615
622
614
617
605
613
630
606
625
608
614
603
629
604
615
624
623
636
625
631
639
611
604
620
610
627
620
612
623
610
607
603
604
603
630
611
632
625
619
609
616
615
604
617
628
600
639
626
609
604
607
639
608
603
602
632
638
614
603
635
628
634
605
639
615
608
615
614
631
626
619
618
626
617
605
605
603
604
612
611
613
619
608
615
631
631
631
606
609
610
609
617
630
604
604
605
603
639
625
621
608
608
618
621
620
609
610
611
629
605
610
618
632
639
609
613
614
628
620
621
629
616
617
629
601
621
623
608
639
610
616
608
606
630
616
623
614
629
610
616
623
627
615
625
620
612
637
626
629
619
600
614
611
611
611
633
608
607
636
603
605
605
628
630
605
613
629
604
611
614
606
607
634
628
614
616
607
622
618
612
617
609
607
635
610
614
614
639
611
625
640
639
606
623
608
602
611
605
629
614
608
609
606
616
620
618
625
614
611
609
618
628
608
614
632
611
607
617
638
608
607
610
622
603
605
625
605
607
638
603
610
617
623
615
606
616
606
627
638
616
612
604
620
607
614
625
603
623
618
634
613
624
620
603
630
605
613
606
623
618
618
614
632
617
615
626
624
628
611
629
599
628
610
640
607
625
604
605
615
630
623
615
626
613
622
630
617
621
620
604
616
607
604
614
626
605
607
604
610
611
620
626
621
611
617
620
634
611
631
610
624
617
604
609
621
609
624
625
623
610
603
612
608
604
614
607
639
623
617
626
639
619
613
603
605
639
617
617
618
614
609
613
603
608
624
619
628
622
605
622
619
613
612
631
604
629
616
614
636
611
606
632
623
636
615
614
617
638
606
603
626
626
624
614
620
622
625
607
614
624
605
611
603
627
614
623
614
618
616
615
614
626
602
616
609
631
617
624
639
608
615
604
629
633
621
630
616
623
614
622
604
615
613
608
632
607
605
621
623
623
606
615
617
618
610
626
622
617
634
607
620
612
619
621
623
605
622
613
619
602
637
633
620
612
628
616
625
613
608
636
626
608
637
621
629
625
631
610
638
608
632
631
619
614
613
612
623
612
613
625
625
611
612
625
618
628
608
622
614
630
608
631
616
620
636
628
639
617
606
626
607
618
622
613
626
620
623
610
626
629
639
635
604
631
614
608
611
604
605
620
608
603
607
612
608
623
619
609
624
617
605
610
631
610
612
630
615
632
625
613
618
625
622
613
620
613
604
613
618
613
622
604
608
615
613
635
612
617
611
624
613
626
609
611
621
639
616
619
611
614
614
614
613
623
603
617
617
630
618
614
617
626
613
631
606
635
606
619
611
634
632
609
607
619
611
608
610
629
637
629
622
609
611
608
634
600
609
628
614
602
626
625
639
623
613
611
603
619
633
613
609
625
623
634
618
604
617
626
625
607
611
623
609
632
604
621
628
616
620
631
624
623
620
628
610
613
615
615
629
608
602
604
606
619
606
625
608
629
632
606
613
613
631
613
607
607
603
622
616
608
621
639
628
619
610
607
606
606
611
623
630
608
603
614
623
617
603
609
608
623
610
603
632
606
606
616
630
604
604
631
628
611
618
612
617
613
639
612
639
639
614
620
640
613
609
619
631
608
622
622
611
635
628
627
609
623
612
615
628
607
631
623
631
605
615
631
615
627
623
620
608
629
613
614
629
619
612
624
628
631
616
603
613
615
626
636
607
611
632
607
607
617
628
631
614
621
631
614
609
605
612
639
614
626
611
608
626
604
622
605
630
616
616
633
603
619
622
616
614
625
611
613
629
625
625
605
621
613
619
629
610
629
612
605
626
624
612
614
622
617
638
604
619
620
620
627
617
624
615
607
621
624
635
608
609
610
628
605
607
619
612
628
614
609
619
602
614
627
632
634
616
605
620
618
609
631
611
624
605
605
617
618
626
614
600
631
622
630
604
616
634
617
633
614
629
616
614
611
626
603
612
629
618
620
617
613
632
631
604
621
616
623
620
603
630
608
631
612
620
629
619
615
620
615
619
612
606
625
618
608
633
623
608
623
617
635
618
609
608
632
635
602
623
606
607
624
607
606
613
612
614
612
622
623
609
607
606
627
632
608
615
621
610
605
602
612
631
617
629
635
628
613
626
613
611
608
616
610
623
613
616
634
634
614
618
606
629
634
609
617
631
618
629
614
608
610
623
639
626
634
631
619
629
621
601
610
606
621
614
618
615
613
616
623
603
606
623
632
640
600
608
620
638
609
618
629
605
605
634
604
635
618
605
623
627
607
623
610
608
623
616
607
611
617
626
618
621
622
613
618
639
608
631
622
610
636
614
614
605
609
633
608
625
606
610
615
613
611
610
610
612
607
614
612
621
629
639
627
611
625
609
615
632
628
632
619
625
613
617
637
617
624
626
608
631
603
610
604
614
619
608
629
626
604
623
611
615
603
632
608
604
614
619
625
609
606
616
602
620
620
605
622
609
612
615
620
621
620
621
623
613
611
608
622
618
609
605
618
617
623
622
609
622
605
625
639
621
611
614
606
631
635
608
635
617
619
613
614
627
621
603
620
614
626
603
626
623
615
620
604
628
614
613
632
618
610
606
617
602
609
612
614
627
626
620
611
605
607
606
639
605
620
623
619
628
622
639
615
603
602
618
631
601
614
620
625
626
604
618
619
606
604
617
608
600
620
617
618
611
604
629
613
617
607
617
613
610
629
639
623
628
620
624
613
598
636
617
621
636
610
604
631
623
600
609
602
628
634
603
611
610
620
618
617
607
620
619
602
608
614
611
614
612
628
613
604
607
605
613
619
616
606
630
615
613
605
613
620
612
608
605
615
624
614
620
611
610
624
609
612
621
603
613
613
635
636
619
619
615
616
621
619
616
610
612
626
607
608
614
606
608
639
629
639
619
610
612
609
625
611
614
620
628
599
635
634
605
609
605
606
639
608
617
610
605
613
605
611
611
623
614
624
605
603
627
625
611
627
635
622
626
607
639
606
640
639
610
618
632
602
602
610
621
602
612
629
631
614
616
629
601
619
610
603
613
636
606
615
618
613
625
621
605
630
608
604
632
609
608
620
610
626
619
604
615
606
607
614
614
603
629
614
626
634
609
612
603
619
619
604
610
604
619
608
607
621
607
615
632
603
613
635
606
610
612
624
613
605
632
624
619
627
602
603
607
618
609
631
617
620
603
629
604
602
634
608
610
606
606
612
635
615
637
613
606
614
630
611
609
608
613
610
625
632
615
620
605
609
632
617
617
616
603
604
622
618
636
610
631
604
621
628
609
625
617
607
631
626
604
602
631
633
605
616
626
633
616
619
617
623
613
620
611
620
637
625
613
613
622
613
602
608
607
630
604
609
620
629
614
608
623
606
621
631
607
613
632
613
612
604
617
607
617
622
608
603
621
604
603
609
622
610
622
620
630
630
615
639
617
604
620
608
613
628
613
631
626
609
610
628
606
616
610
611
627
635
622
622
611
622
624
615
613
603
615
629
616
610
620
616
606
614
635
622
618
604
629
629
608
607
606
634
606
626
613
635
608
620
630
623
610
627
629
639
615
603
613
616
616
630
617
614
609
605
623
614
629
637
605
632
636
605
617
602
624
608
619
617
610
603
620
610
607
611
631
632
621
613
623
615
618
632
604
611
634
619
606
631
609
619
613
622
610
610
602
626
623
625
621
628
631
613
626
625
620
626
631
619
603
621
617
639
607
629
617
631
609
609
617
610
607
612
632
604
609
628
611
632
617
613
635
639
608
613
618
619
618
614
601
613
609
602
619
620
629
613
606
631
608
617
605
607
639
603
624
625
631
626
617
613
614
616
624
613
633
633
605
618
605
617
622
626
631
605
623
635
603
612
606
612
623
633
611
611
630
625
622
601
607
614
639
640
622
632
618
614
613
619
607
613
609
606
607
634
614
632
632
614
609
632
640
635
612
631
631
610
611
634
616
620
609
608
612
610
608
608
630
617
623
611
620
612
608
638
603
604
615
602
640
640
612
613
623
632
614
612
626
618
617
621
627
615
609
612
639
619
632
630
613
634
638
609
605
605
611
625
615
609
614
607
613
606
604
633
626
620
626
609
631
624
611
608
623
635
635
634
618
620
630
625
621
616
609
608
602
619
631
614
604
627
627
613
631
620
616
635
624
610
633
608
608
616
610
607
609
618
609
624
609
609
623
603
637
602
627
632
611
606
613
610
608
618
626
609
608
611
615
629
603
627
619
605
634
613
604
620
614
625
602
614
619
634
603
609
628
612
626
620
621
605
628
627
623
631
611
615
604
613
616
615
632
626
618
624
631
628
616
614
603
626
609
605
614
618
609
619
635
618
632
617
629
604
623
612
629
603
621
615
619
629
636
613
625
623
613
632
601
619
606
611
632
623
632
613
624
619
623
604
608
615
618
634
611
626
640
620
610
605
609
631
625
606
634
633
626
623
620
608
612
631
639
622
619
617
606
610
621
613
615
612
610
602
603
629
622
610
618
617
632
620
630
620
603
611
620
624
605
602
613
612
621
610
609
604
608
618
617
617
604
614
622
606
608
605
623
609
604
636
622
630
617
624
611
633
612
608
628
613
618
628
639
619
617
603
628
612
632
613
608
613
607
620
625
625
614
610
609
627
619
618
621
612
617
640
620
632
623
618
611
606
635
610
608
609
613
609
627
607
607
601
631
622
613
628
609
614
620
603
607
620
609
613
616
616
622
612
632
632
619
605
629
615
622
605
617
619
629
604
632
613
618
609
613
634
620
620
603
607
615
630
618
630
606
626
617
636
608
619
632
619
610
603
624
607
622
628
626
607
608
609
622
618
620
610
616
632
623
614
628
605
617
628
626
605
632
629
632
614
621
624
626
603
622
608
615
626
611
618
626
632
611
623
631
620
605
630
604
628
625
630
606
609
603
632
607
625
608
627
611
623
614
623
627
604
619
635
627
626
622
604
623
613
614
629
615
639
602
616
623
614
633
607
623
629
624
631
626
616
604
604
622
607
605
639
618
610
604
605
617
632
604
608
612
605
620
607
606
609
613
613
639
611
620
615
622
601
627
621
615
606
623
599
615
605
628
628
632
629
634
617
605
613
611
636
608
617
615
632
622
631
627
604
605
615
616
622
613
632
631
609
622
613
610
634
632
609
609
604
630
607
604
607
616
618
609
629
618
608
617
604
611
609
612
610
622
632
617
635
628
628
616
617
620
609
620
620
625
631
631
618
618
620
610
623
629
612
614
626
620
614
632
623
607
619
639
601
637
634
622
616
634
622
610
607
619
606
634
605
623
605
630
626
631
620
611
634
626
619
606
611
639
630
603
634
624
617
615
636
603
604
626
610
613
615
612
606
623
605
610
626
605
627
625
627
607
637
630
617
611
615
610
614
614
629
613
603
607
609
639
623
610
612
623
622
619
612
612
608
639
614
612
625
604
607
607
609
614
625
635
607
613
614
614
607
626
620
622
608
605
625
603
639
608
603
634
622
602
622
625
616
606
612
625
616
628
609
615
619
609
616
606
630
614
624
612
610
618
610
609
601
603
615
610
639
621
609
617
614
632
608
608
614
614
602
612
631
617
608
621
603
635
630
628
600
629
604
614
623
612
608
606
609
612
635
617
622
630
640
609
611
604
614
606
622
640
619
622
623
603
624
627
630
609
629
615
617
603
612
603
604
624
602
611
619
622
604
622
606
618
620
604
611
633
606
609
607
608
632
615
615
635
623
629
604
610
612
626
602
619
636
615
610
627
607
606
626
602
621
609
632
626
611
609
617
635
624
608
617
616
609
611
629
611
629
635
635
613
620
618
631
607
627
624
606
624
619
613
633
607
607
607
613
601
607
608
612
618
621
602
629
624
606
613
614
635
616
614
623
614
608
604
615
609
628
608
614
602
639
616
626
608
619
625
620
606
611
623
619
604
603
610
635
634
632
612
632
604
620
618
632
613
606
614
610
604
613
619
604
634
603
621
613
632
622
611
608
634
617
614
604
622
608
623
607
637
615
611
603
639
620
618
635
611
614
614
604
607
630
630
604
631
616
636
619
623
611
600
632
635
617
606
627
624
610
619
635
602
630
613
620
629
603
623
603
612
618
617
634
607
609
609
602
618
617
609
631
617
614
639
630
612
617
631
614
626
618
633
609
612
614
616
629
614
610
615
608
623
602
611
635
632
636
623
619
633
623
617
621
602
625
621
619
605
620
625
616
609
611
615
619
619
619
607
622
626
635
612
632
604
621
613
627
612
613
603
617
616
607
611
611
623
613
611
611
618
625
605
612
611
605
602
633
623
606
615
625
619
605
606
614
619
606
612
610
636
618
607
615
625
606
628
621
608
608
612
636
619
616
605
620
619
628
615
603
616
623
622
616
608
606
602
620
612
608
639
607
636
609
613
623
608
604
606
615
615
605
608
606
610
611
604
635
609
614
599
611
623
621
624
604
613
608
619
617
608
606
609
618
626
616
617
630
638
631
604
613
639
614
639
626
602
607
632
612
620
631
624
613
605
610
606
611
619
613
603
608
617
614
604
625
605
622
610
603
607
602
625
621
610
614
608
603
626
608
623
631
616
609
632
617
622
604
630
622
619
606
613
623
608
611
616
639
623
622
634
613
609
605
611
612
604
618
612
630
623
635
611
613
605
639
608
614
619
609
607
628
639
610
612
622
625
608
611
632
617
630
623
614
615
626
606
618
634
629
606
610
618
628
611
621
608
612
634
620
608
619
613
605
625
620
627
615
610
635
613
609
634
610
609
620
629
601
620
617
616
610
604
620
606
625
610
610
625
620
639
625
599
628
602
625
611
616
631
609
629
604
616
599
614
627
613
618
611
627
616
618
616
619
606
632
613
604
620
608
633
606
621
620
611
608
616
613
632
603
634
612
610
632
611
615
602
630
635
616
631
626
613
630
605
620
610
614
609
608
625
603
615
606
616
619
605
623
610
625
619
623
621
624
620
617
621
604
608
604
632
611
603
610
633
615
623
610
610
606
604
609
614
629
623
619
633
616
625
631
634
613
631
630
618
606
606
632
631
620
628
610
618
619
623
608
612
606
605
622
613
622
635
626
616
618
613
629
617
625
618
625
610
617
630
621
617
606
616
623
609
618
612
600
611
639
621
608
608
615
604
607
634
626
617
616
612
611
609
639
613
620
636
611
611
611
636
615
612
626
623
611
629
606
609
630
613
604
618
613
619
633
607
613
610
624
629
604
612
604
614
601
635
625
639
619
631
612
623
617
605
619
625
608
639
612
604
628
613
603
606
628
629
635
611
620
612
630
608
607
611
603
623
613
632
607
624
638
605
603
608
612
613
626
608
606
622
623
625
607
617
617
611
619
627
625
609
636
617
617
627
613
601
614
625
623
615
617
619
621
606
599
623
618
605
624
637
612
625
618
627
629
609
617
608
625
605
617
614
613
606
603
604
605
613
614
628
603
631
639
608
620
603
617
617
617
627
628
606
609
625
608
631
639
613
623
624
602
613
630
613
623
608
631
609
602
621
603
632
622
632
618
612
604
616
611
617
604
606
622
602
613
620
617
607
609
613
634
621
605
614
606
612
606
633
635
611
620
619
631
632
620
603
635
609
632
621
617
613
615
624
604
620
610
617
608
617
605
635
618
632
629
602
623
602
628
606
613
606
613
603
613
612
612
626
608
633
631
606
607
609
606
608
625
624
614
610
612
623
606
606
614
610
599
606
611
601
619
623
618
634
625
611
614
632
611
619
604
614
619
627
612
639
609
615
639
613
613
617
612
615
632
622
631
625
608
607
613
621
617
635
632
612
609
631
600
629
606
606
617
614
624
603
629
624
614
634
619
633
615
614
633
610
605
623
620
623
616
604
629
603
616
614
617
613
612
624
605
616
621
617
637
602
611
614
610
620
607
607
610
620
609
617
608
611
613
624
626
639
632
608
631
623
625
630
634
618
618
619
622
614
623
635
640
622
619
621
603
632
628
614
610
613
626
626
608
617
600
607
620
613
631
617
625
609
631
604
604
623
612
619
617
605
626
622
625
612
611
622
623
626
613
604
623
626
623
635
620
613
606
606
616
622
609
621
637
609
633
629
633
626
611
633
604
620
609
635
610
619
610
611
627
617
612
624
615
602
635
634
605
631
630
631
623
605
620
604
634
630
611
617
637
638
612
634
621
606
622
616
609
603
632
639
605
609
606
639
639
613
608
639
611
623
631
608
639
615
626
616
636
616
615
616
602
605
633
636
617
614
619
614
628
603
611
631
603
602
606
622
614
616
607
631
627
607
628
609
618
620
608
604
612
607
633
608
623
632
631
615
607
626
624
609
625
613
617
613
628
610
639
632
635
620
631
609
603
610
634
606
624
631
626
613
609
626
639
629
607
620
618
606
608
608
616
611
600
631
621
624
617
628
599
610
604
623
619
618
627
628
631
603
615
609
628
627
627
617
639
627
622
619
639
615
605
614
620
623
603
612
615
614
617
621
605
633
605
604
617
618
623
611
623
614
619
625
620
622
623
615
622
622
608
632
606
630
612
632
616
615
614
626
634
634
612
607
605
628
607
622
627
616
615
635
606
614
615
612
620
605
611
617
605
604
635
608
606
623
605
607
632
607
605
601
630
610
604
627
605
620
632
622
603
625
606
605
618
602
625
614
625
608
604
615
611
624
617
612
608
610
617
634
605
615
627
610
619
617
604
619
610
616
608
640
614
609
623
602
605
612
626
620
619
611
610
626
639
602
618
634
618
629
620
614
599
612
623
609
601
617
604
635
623
610
611
639
639
629
613
639
611
613
609
606
630
639
618
615
619
608
622
626
611
605
611
623
611
635
602
637
607
614
639
606
631
632
622
608
620
621
604
605
630
622
604
617
634
622
620
608
639
618
621
639
610
631
605
613
620
624
616
631
611
624
630
625
620
626
618
604
609
606
631
613
605
621
603
614
605
607
632
612
625
619
608
609
604
614
618
604
630
607
610
626
627
606
613
610
613
611
630
633
626
619
603
604
630
617
612
624
622
632
609
631
627
632
611
605
612
616
609
626
624
631
612
617
612
621
622
618
617
632
610
630
609
626
631
603
608
618
606
607
623
603
617
604
623
622
639
620
606
608
608
616
604
636
634
608
632
612
602
618
619
631
612
631
616
626
624
634
610
626
611
608
632
632
613
613
634
624
619
622
615
615
610
603
609
608
605
640
609
623
616
604
633
622
608
626
607
613
609
622
625
631
631
628
622
624
604
633
619
629
603
605
620
639
605
617
613
629
629
606
635
625
617
639
630
631
623
607
609
606
630
608
637
616
633
616
605
614
620
604
606
607
629
623
632
618
621
622
603
607
612
603
608
606
607
630
635
612
638
610
611
610
613
613
605
620
607
623
632
613
604
608
613
602
623
629
611
608
613
608
626
632
639
607
612
626
616
632
617
622
626
612
617
612
614
620
607
620
623
618
626
621
612
603
631
627
623
607
607
606
616
613
603
603
623
602
632
607
608
612
612
615
618
629
612
618
631
626
621
606
613
613
610
616
606
623
604
626
626
612
623
614
608
607
610
611
623
629
622
620
639
629
606
613
604
629
606
612
614
625
612
608
623
632
616
609
608
624
604
611
618
613
606
604
608
620
624
613
604
616
603
603
618
615
639
612
637
604
603
611
621
606
617
629
600
622
609
622
622
623
615
613
618
625
620
617
606
639
632
603
604
640
614
630
632
602
639
627
623
623
611
604
603
639
632
619
609
627
613
627
617
612
626
613
613
607
611
618
630
616
606
622
607
614
623
608
627
604
614
610
611
602
620
622
601
618
613
613
624
639
607
612
611
616
611
624
603
632
606
624
609
612
613
636
614
611
613
606
610
629
605
611
634
611
613
635
628
605
608
618
616
604
622
629
624
617
624
607
621
625
623
604
621
627
618
602
617
629
639
607
607
639
626
632
606
608
603
614
623
622
617
604
607
620
624
624
612
634
613
631
617
606
614
613
608
618
634
623
634
617
617
615
612
617
615
634
625
613
625
630
611
621
623
603
619
623
615
631
608
629
603
617
616
639
607
631
613
631
630
625
609
610
610
613
600
632
603
606
630
605
631
630
630
613
614
628
607
603
615
614
612
609
617
603
614
609
628
626
610
603
609
618
637
606
622
635
615
624
619
605
623
605
612
614
621
608
627
619
612
607
618
614
626
611
611
625
613
628
636
611
616
626
610
625
619
622
617
613
613
620
617
607
623
613
611
606
617
606
637
639
614
614
639
636
604
638
632
611
632
617
614
608
630
614
634
608
620
622
640
629
632
625
610
619
619
606
628
609
624
627
608
622
610
614
619
613
629
617
615
609
606
609
603
626
635
618
604
604
612
625
631
609
627
622
614
610
616
624
603
610
612
614
615
605
613
608
610
624
617
611
607
615
611
628
606
609
615
635
626
619
632
622
605
633
612
612
613
602
625
624
623
639
623
629
606
628
622
626
625
613
630
632
617
619
609
634
619
612
625
612
634
612
638
628
604
638
603
618
621
619
633
639
607
628
618
631
623
615
626
605
615
609
614
626
634
632
619
607
607
613
614
635
621
601
613
603
631
612
623
635
607
623
603
610
608
607
617
626
628
625
617
637
628
608
623
620
626
608
629
608
625
604
612
630
613
613
614
613
627
607
604
621
610
613
626
603
609
623
635
625
612
600
609
607
609
613
623
610
610
615
623
612
632
631
610
616
634
630
617
603
631
614
604
606
622
622
623
603
617
633
623
616
628
609
618
605
620
625
617
620
623
631
612
625
614
618
615
608
612
603
613
622
613
610
606
611
633
614
604
618
608
634
635
608
620
608
631
601
617
607
632
622
623
631
628
607
607
613
607
614
631
615
618
607
622
622
609
618
619
624
626
629
629
612
604
614
626
625
605
605
617
631
622
615
617
607
628
628
619
609
617
638
634
618
610
621
610
626
613
611
605
632
616
631
615
613
625
609
608
605
607
632
627
606
625
609
602
634
633
639
618
623
605
613
639
614
625
631
622
639
634
612
614
632
602
609
622
609
609
605
606
603
622
609
625
603
606
621
599
608
609
625
607
614
620
624
630
614
616
618
620
639
605
622
616
601
623
631
608
623
626
627
615
619
627
608
614
610
610
611
605
628
632
617
604
628
613
625
600
622
624
631
620
615
614
610
609
631
629
600
628
614
602
619
636
640
621
629
612
624
632
635
603
617
615
626
624
628
630
605
610
618
615
612
626
626
635
624
614
612
610
618
609
608
612
622
632
610
618
612
617
631
611
617
631
617
604
610
629
623
610
640
621
624
611
616
613
619
635
639
632
634
623
618
613
612
629
631
639
620
630
604
625
622
607
625
611
635
614
611
620
611
599
619
604
629
635
613
628
633
638
613
625
631
609
619
623
605
610
612
611
609
627
600
609
619
604
617
618
617
605
616
608
625
619
629
625
612
624
623
611
605
620
621
633
630
610
622
607
632
635
627
630
616
612
639
633
611
617
623
608
609
634
616
615
601
639
619
624
639
614
621
614
611
616
616
634
606
619
625
622
625
613
616
627
605
619
614
637
628
617
634
633
623
616
609
620
622
621
629
627
632
624
603
604
613
628
626
617
635
603
609
607
604
609
603
614
604
631
624
624
628
626
609
638
623
604
623
613
622
625
608
633
615
611
615
629
631
623
619
600
612
622
626
615
614
627
613
611
603
622
617
614
618
608
605
632
614
619
610
616
614
608
606
604
614
630
615
610
614
605
617
611
610
602
612
602
609
623
618
638
617
605
632
603
615
615
598
616
611
632
608
604
617
603
636
611
622
613
639
608
639
610
618
621
605
606
625
624
615
621
620
608
613
616
612
611
632
611
624
618
612
606
627
618
621
614
613
616
603
622
623
632
607
610
606
614
612
623
614
605
611
611
627
606
632
621
603
628
640
609
611
626
617
606
608
609
632
618
620
617
612
609
604
624
620
623
610
618
613
622
605
631
639
611
626
635
631
613
617
602
612
623
631
610
605
604
620
617
605
639
618
635
614
616
618
603
609
619
633
625
605
609
635
625
617
599
609
632
611
635
631
613
626
611
608
613
633
632
614
635
604
615
629
603
639
606
614
610
605
632
613
639
632
616
613
611
609
629
611
627
610
604
619
604
602
623
602
609
608
617
601
612
605
615
628
624
633
614
632
606
614
613
605
613
605
632
606
629
634
609
619
617
611
619
606
606
627
632
614
604
632
630
606
616
630
620
628
606
613
610
613
619
629
623
604
611
603
602
628
610
621
605
632
634
617
614
627
634
639
606
602
629
617
614
634
602
638
613
629
607
633
605
609
622
611
611
617
626
604
602
612
618
611
614
617
613
639
634
623
618
605
626
609
631
618
622
614
624
614
599
626
605
623
625
625
631
618
634
614
611
612
617
611
615
610
622
634
624
610
606
626
635
623
606
635
627
604
634
618
631
614
614
614
609
609
607
620
615
628
630
620
634
618
605
602
608
623
631
607
609
614
602
606
603
622
621
629
618
606
610
617
635
602
602
611
612
627
613
625
630
632
608
610
609
607
622
627
608
621
617
611
604
618
628
613
605
622
624
610
614
612
611
623
611
623
607
622
606
636
625
633
615
622
630
635
605
614
608
608
604
613
615
615
605
639
639
632
635
637
632
611
615
639
632
611
614
617
633
632
603
616
635
639
617
614
611
618
623
605
630
623
623
602
613
607
609
622
605
622
606
613
605
603
621
626
606
631
609
606
629
601
639
604
608
622
625
626
620
618
627
605
617
626
635
613
614
600
611
623
636
603
618
625
609
609
609
635
637
624
611
606
610
613
639
639
613
607
613
616
622
609
611
623
617
632
622
621
612
622
605
619
602
609
617
632
621
605
632
626
604
607
616
630
613
623
610
632
621
617
616
608
614
619
609
626
615
639
603
614
613
632
632
601
606
633
635
639
603
611
635
614
611
613
629
614
619
618
605
608
617
619
618
608
609
633
608
619
626
612
604
630
606
626
614
632
614
606
613
613
617
613
613
639
623
607
610
635
624
622
623
602
619
607
614
627
607
613
639
614
607
605
610
609
619
613
640
617
617
615
638
628
626
612
607
606
610
621
621
630
623
605
615
628
606
623
631
630
620
614
635
610
616
616
609
604
630
605
605
632
610
631
611
613
635
612
617
613
605
605
619
613
630
630
608
612
613
614
610
617
613
607
618
626
603
624
608
604
617
604
639
608
614
618
625
636
621
606
617
621
607
616
630
617
606
623
628
635
609
612
613
613
621
631
620
630
613
616
602
630
607
635
628
621
622
612
622
613
623
609
629
604
623
617
628
614
617
605
620
620
614
617
623
626
607
623
619
610
603
631
614
625
607
605
615
614
614
621
619
635
611
621
623
607
626
604
615
617
604
632
608
611
623
605
614
616
608
616
623
613
619
632
617
623
600
615
612
633
618
617
601
611
612
619
624
608
605
608
619
602
620
608
619
628
631
630
637
632
606
619
639
612
603
605
628
626
629
611
617
615
621
622
608
604
620
604
622
601
605
622
613
614
605
622
613
624
611
608
617
606
625
630
619
612
608
601
619
614
617
606
629
617
613
616
617
613
605
619
627
618
609
617
613
616
617
631
610
626
630
609
622
630
605
616
610
613
639
614
610
623
610
613
631
616
630
615
622
616
616
630
617
619
614
603
623
612
628
630
620
611
617
622
605
618
613
607
617
614
607
632
623
639
607
631
630
622
604
624
618
622
604
632
627
623
633
613
627
629
622
611
614
608
623
616
617
616
617
637
612
611
635
639
618
608
604
610
621
640
613
618
612
610
625
629
610
614
620
622
637
615
609
620
634
620
639
613
615
617
615
628
623
613
612
613
623
622
602
613
617
628
605
612
621
605
608
634
605
635
626
612
635
627
625
611
614
616
608
628
623
607
619
609
626
615
622
635
616
610
616
611
632
632
626
627
618
612
621
605
612
638
611
613
624
614
606
613
635
604
628
616
620
629
620
608
613
608
629
638
605
631
621
614
618
622
614
611
612
612
633
611
625
615
624
613
619
602
607
625
605
602
603
609
613
617
635
621
626
601
617
614
616
619
605
626
632
610
609
614
612
617
605
627
632
602
619
622
611
620
629
610
610
615
613
603
620
603
623
613
613
614
632
631
610
631
639
605
605
608
606
610
618
608
620
611
624
620
620
623
613
607
623
609
623
625
626
629
610
631
604
632
608
614
639
617
602
622
608
635
614
626
604
638
634
605
608
639
602
622
606
623
619
607
639
621
634
610
611
603
611
624
627
610
617
615
624
608
604
605
632
640
617
622
625
608
623
599
627
615
607
627
634
608
606
610
631
613
631
609
616
621
613
610
614
604
614
617
608
618
622
603
615
617
617
609
612
620
613
603
634
627
639
609
609
631
614
609
611
617
626
609
609
626
605
614
607
630
610
632
622
616
629
622
612
614
617
619
609
608
632
607
617
625
607
605
606
617
610
631
628
626
610
608
610
614
614
623
611
607
609
620
628
629
613
632
614
626
626
631
607
614
626
613
614
632
635
610
618
620
612
631
611
606
630
603
606
614
620
607
610
623
630
608
622
626
612
620
610
612
609
605
620
610
615
607
624
631
626
629
639
613
625
631
634
631
628
630
635
620
611
605
617
613
623
610
609
618
629
610
611
627
621
620
616
625
606
626
606
608
625
610
607
624
615
617
611
614
621
603
624
605
635
611
625
612
603
623
626
625
623
602
610
606
618
628
612
629
601
615
617
619
626
613
613
634
619
615
611
610
611
635
620
625
610
603
604
627
607
608
640
607
609
615
634
622
622
629
639
617
624
628
624
621
628
613
603
626
609
629
613
603
615
615
617
621
610
608
606
612
608
625
625
622
630
609
633
616
621
608
606
619
625
622
605
611
603
604
612
622
632
629
610
626
608
599
608
604
615
608
631
632
622
632
636
609
616
625
617
615
606
636
606
609
608
604
609
615
617
639
635
608
615
632
623
619
611
603
609
604
608
612
611
626
625
608
619
622
631
619
627
620
601
627
609
629
620
634
614
611
627
628
622
625
623
632
606
620
636
616
639
605
608
607
603
603
613
623
603
610
605
608
609
606
613
630
621
626
606
634
611
603
610
604
615
637
604
611
616
617
618
612
617
623
605
600
635
614
620
616
614
607
627
608
635
626
634
627
605
620
632
628
623
616
612
617
608
629
615
620
623
617
625
622
632
611
615
621
602
615
610
623
610
613
623
621
609
622
601
614
612
614
623
621
622
610
622
631
606
609
628
631
628
618
626
634
607
604
606
599
606
602
602
607
631
602
626
619
603
616
632
635
623
613
614
614
612
636
611
613
608
610
626
613
603
629
605
623
614
612
626
610
623
614
639
626
631
626
611
622
613
617
603
605
637
630
610
611
622
606
611
631
620
622
624
617
611
635
604
616
609
610
631
627
618
632
611
629
631
624
601
608
616
616
629
599
611
628
611
605
624
627
618
618
611
617
604
617
610
630
606
618
629
618
613
605
638
615
619
626
621
632
621
626
607
603
606
627
631
634
618
625
621
628
615
607
608
608
608
621
626
619
607
603
631
623
630
603
605
625
613
618
611
615
632
635
635
635
608
606
607
636
613
609
619
630
624
623
617
631
607
635
607
628
616
625
631
618
629
632
625
628
614
607
603
638
616
607
617
625
608
606
602
629
603
624
624
607
602
630
604
605
625
611
603
610
628
630
612
605
608
614
610
623
631
636
609
628
620
622
631
612
612
609
608
604
619
616
639
612
613
608
634
624
610
609
613
599
626
627
629
608
616
602
614
606
622
613
602
632
614
628
610
626
616
609
636
629
616
605
616
608
612
616
614
625
603
634
610
638
609
611
619
608
630
604
624
612
608
629
625
613
620
603
605
628
620
606
603
627
612
607
616
628
613
604
635
617
625
639
609
603
602
618
607
613
632
621
623
610
602
616
607
605
612
614
612
613
609
608
606
634
608
631
613
631
599
617
612
625
629
627
631
604
621
608
604
614
635
620
608
612
616
616
630
605
608
615
615
609
625
601
609
619
627
617
617
602
614
609
614
617
604
608
610
620
629
625
608
628
614
620
632
604
617
603
623
623
639
605
615
617
629
606
639
608
639
640
617
631
634
609
611
606
632
615
609
616
612
610
626
623
615
612
620
616
623
607
631
608
616
634
610
615
613
606
610
613
628
639
619
616
621
622
610
625
604
613
617
632
605
628
625
624
622
618
602
614
611
612
622
625
607
617
613
610
609
622
608
622
603
604
611
617
609
637
610
615
621
624
631
627
612
617
605
609
619
632
631
610
601
625
617
604
619
616
630
607
611
629
605
619
637
621
608
617
617
620
632
610
612
618
617
630
632
610
633
608
617
630
613
621
609
614
617
632
606
602
623
626
635
610
605
639
620
605
609
604
606
624
621
625
605
607
636
632
602
617
616
606
605
606
639
639
619
614
603
609
633
612
609
628
626
613
635
620
607
625
608
607
629
630
612
629
635
607
609
608
613
613
631
613
634
613
612
613
604
633
610
622
629
613
610
626
622
610
618
608
626
611
611
605
625
622
607
639
609
629
613
614
630
613
614
613
613
625
612
601
608
634
619
632
608
624
631
603
618
622
612
630
639
632
613
629
608
628
605
608
614
610
612
605
615
611
614
610
619
619
638
603
628
615
610
623
610
619
608
603
617
611
605
606
606
619
618
607
611
614
609
610
600
605
619
606
627
628
631
605
620
623
613
604
613
604
604
629
619
627
607
625
611
613
608
625
622
613
619
622
604
635
625
620
601
618
607
604
619
613
611
610
613
604
608
604
625
616
610
603
630
623
615
626
606
630
616
621
605
617
605
625
623
635
620
608
612
621
625
613
605
613
608
606
614
623
620
614
604
610
602
625
632
627
613
613
619
631
639
602
623
623
625
625
604
620
610
632
626
610
615
618
630
623
619
612
623
608
609
604
629
623
617
614
609
621
612
610
611
629
639
629
629
617
635
619
604
621
611
635
638
611
626
620
604
609
613
603
614
610
631
638
607
623
621
635
609
627
621
613
609
603
613
605
614
631
608
607
625
620
605
633
624
639
619
635
614
615
604
618
629
624
601
615
626
622
628
631
632
611
622
605
613
622
603
629
608
627
616
614
619
608
619
610
624
630
622
622
611
634
612
603
631
615
626
631
624
615
601
607
602
624
602
611
622
609
639
617
631
611
631
613
628
619
632
632
611
610
605
610
604
606
635
625
621
606
632
608
614
611
628
622
632
611
609
606
629
607
629
615
629
619
632
609
632
615
613
618
614
614
613
624
611
627
620
632
620
618
624
604
605
618
613
608
609
632
610
620
624
622
628
608
609
626
605
623
623
605
630
604
613
616
608
617
622
617
628
630
621
634
624
631
613
611
609
617
609
611
607
603
608
603
603
614
603
616
626
632
627
603
627
640
639
608
626
625
611
622
606
631
617
622
631
620
608
610
620
639
632
626
619
611
610
632
622
605
605
631
624
626
632
604
622
605
614
632
630
620
617
627
635
622
626
604
611
620
612
633
639
639
605
606
610
613
613
615
621
603
627
609
630
607
625
611
625
639
631
612
613
633
605
624
623
625
626
631
634
604
606
609
603
634
635
603
621
615
609
604
614
604
609
613
606
630
610
639
612
609
609
609
617
626
603
626
618
609
602
635
621
631
618
614
624
612
627
630
614
631
632
614
602
603
629
627
618
618
600
623
620
624
612
616
603
614
638
622
626
639
633
622
634
630
601
626
626
638
611
615
613
608
632
619
618
606
609
609
631
612
619
613
639
617
620
617
614
609
628
615
622
639
634
604
626
611
629
606
613
606
613
627
613
624
637
615
618
630
620
627
609
622
627
608
607
605
621
620
609
635
622
605
624
602
620
609
632
618
624
615
634
629
602
614
621
617
605
624
602
610
634
611
614
620
617
630
629
605
627
612
609
620
617
619
603
618
619
626
615
603
611
606
632
608
629
607
605
626
620
605
621
604
616
606
617
605
603
611
615
623
631
607
639
630
621
620
622
627
623
621
620
620
614
614
634
638
605
628
625
619
632
632
608
612
612
602
613
622
624
631
607
637
603
607
606
613
609
614
614
631
610
610
632
613
614
608
633
623
605
627
611
603
631
623
630
631
608
639
623
630
613
622
604
618
612
628
617
618
617
633
601
611
637
603
631
609
632
606
631
606
618
601
623
631
606
609
619
600
612
618
631
621
622
639
616
607
609
617
635
609
622
619
619
618
621
632
613
614
601
617
636
609
632
612
631
614
623
609
619
638
629
607
622
606
611
598
616
626
631
616
616
603
626
613
617
617
604
622
618
605
629
623
614
617
617
630
632
626
616
604
622
626
614
629
602
634
609
637
610
602
603
623
628
639
615
604
625
604
609
625
614
610
607
617
602
636
613
628
627
613
619
602
617
625
620
618
627
629
615
616
608
618
628
610
632
620
637
617
608
613
617
625
614
625
616
607
619
614
618
603
639
625
635
639
640
606
625
630
639
608
608
627
630
622
635
622
632
605
609
639
618
611
617
636
606
604
625
629
625
615
612
629
614
626
626
629
639
618
607
632
609
622
608
609
629
624
611
612
614
612
618
634
608
606
619
613
618
623
615
613
618
631
606
607
627
623
603
609
628
599
602
609
632
604
622
627
630
612
619
623
622
627
613
623
619
639
616
619
611
606
632
606
615
628
615
602
629
606
610
626
628
634
612
608
621
615
628
609
610
617
639
609
604
632
614
615
616
611
620
606
622
608
610
609
617
616
605
632
625
614
617
618
618
628
612
608
625
632
610
612
612
620
612
608
611
610
636
621
623
616
623
626
639
613
604
629
634
609
605
614
606
606
613
614
631
605
623
612
631
605
623
606
612
622
612
606
635
626
612
621
614
617
627
625
616
608
610
615
605
608
629
621
618
628
638
611
608
639
601
611
626
609
614
614
613
606
631
629
630
608
624
631
626
610
630
629
626
622
606
630
632
617
629
609
608
617
609
628
622
631
636
604
615
605
613
619
619
630
623
606
613
605
615
609
603
617
604
626
610
605
602
610
606
632
603
610
623
614
620
620
635
611
622
630
632
615
635
615
608
631
613
607
603
639
632
617
623
617
624
618
618
625
632
605
632
605
628
620
617
604
627
622
636
632
619
613
608
609
625
618
612
628
603
614
623
614
602
619
617
599
614
616
638
613
623
625
606
615
622
614
618
624
603
611
609
610
623
614
614
629
603
621
613
622
609
626
623
613
603
614
636
624
603
616
611
604
608
606
616
606
626
609
604
607
609
606
619
617
617
613
605
612
610
607
629
620
619
623
604
610
610
619
631
612
631
611
604
625
639
611
610
623
621
615
620
621
621
617
626
620
605
630
631
629
628
609
622
639
628
608
621
604
620
602
611
623
599
626
607
622
617
621
613
608
600
639
622
607
610
612
605
600
616
620
624
615
632
612
630
623
610
618
614
608
607
623
603
630
632
613
603
613
608
607
630
605
599
613
606
614
620
625
614
611
622
615
631
606
603
600
616
634
622
622
632
601
619
611
627
617
635
622
611
604
616
625
602
606
626
605
631
614
615
614
605
609
639
620
633
608
603
628
622
622
615
604
608
616
615
620
624
616
611
619
614
615
607
612
603
615
609
630
629
611
608
619
617
622
604
617
639
608
618
611
634
613
614
619
610
610
622
611
609
609
607
615
639
617
613
605
607
607
615
621
622
630
613
601
634
636
610
615
623
629
618
627
610
622
603
628
622
606
623
617
627
607
609
612
604
612
616
624
614
614
614
609
609
609
612
618
628
623
613
621
619
625
638
613
608
603
617
621
632
632
608
618
609
620
631
606
624
634
603
612
622
610
626
604
609
629
636
616
611
620
616
609
603
617
623
632
614
614
608
626
632
615
630
605
611
600
611
612
614
607
632
624
623
611
631
610
608
625
609
624
612
608
603
605
610
609
619
623
618
612
617
605
639
603
604
620
622
605
607
639
609
611
614
619
623
623
640
610
632
602
612
626
629
626
627
624
636
630
610
628
630
619
611
617
630
603
612
609
639
613
615
615
601
639
603
611
625
632
608
609
613
616
630
610
639
632
616
632
610
623
612
632
628
604
616
610
606
609
627
626
624
604
605
636
599
615
614
631
616
615
633
614
619
620
603
613
608
618
631
625
631
621
604
609
632
624
603
609
614
622
621
613
609
604
618
621
611
617
626
617
613
639
629
620
613
635
609
611
603
613
614
615
608
615
622
615
609
608
619
614
621
605
618
639
623
616
619
634
620
621
609
625
618
612
616
633
621
629
613
606
628
605
639
617
603
602
622
608
619
603
626
606
608
601
619
611
614
607
623
624
620
626
605
612
610
606
623
626
605
622
639
613
631
617
628
617
606
613
630
624
631
613
622
607
603
603
639
610
602
613
629
612
614
633
609
618
631
638
606
608
602
615
613
625
622
613
629
620
623
619
602
617
620
629
622
602
617
623
610
618
612
601
603
608
610
617
633
610
613
607
618
620
610
626
613
608
614
602
613
614
604
610
603
615
617
612
612
617
609
613
605
632
629
605
605
604
635
615
604
629
625
632
613
614
617
611
617
609
623
629
637
616
637
605
630
629
603
610
623
626
606
631
631
638
606
632
629
625
611
610
625
630
631
615
621
615
621
623
614
629
603
614
636
620
605
608
611
604
639
614
627
617
621
631
639
617
631
609
617
605
608
605
607
635
607
613
616
606
613
614
611
609
609
612
637
629
623
608
604
611
621
619
612
609
612
639
625
614
605
628
604
618
615
619
612
606
628
616
610
618
614
639
632
617
632
625
631
616
611
632
611
613
604
603
625
615
636
614
610
606
602
626
622
638
600
606
622
618
617
614
608
634
603
609
617
608
607
610
629
631
624
610
621
623
607
617
615
606
630
616
611
610
631
619
617
622
606
613
611
616
612
609
624
639
607
614
640
625
617
616
616
606
631
623
610
624
615
606
618
603
603
620
633
638
639
633
609
617
606
619
605
634
626
632
604
632
629
614
624
613
622
618
609
602
639
624
610
606
624
608
611
614
613
634
618
609
621
609
617
611
607
605
617
617
631
615
637
610
615
604
617
616
609
635
610
609
635
603
603
611
606
625
622
620
623
609
614
619
627
618
605
615
631
620
618
613
605
612
610
610
623
603
613
609
605
608
614
617
625
631
615
612
602
610
615
639
635
604
639
618
607
618
633
613
607
622
632
620
618
612
615
605
635
609
620
622
603
601
608
626
639
614
629
601
614
629
608
632
602
617
612
605
628
617
622
608
602
620
623
623
633
621
619
635
620
627
633
625
614
603
623
615
611
613
608
605
610
628
605
612
606
619
608
613
603
624
623
609
621
618
608
609
603
619
625
635
613
623
610
605
604
639
606
626
618
622
610
619
607
617
605
627
622
621
616
623
612
610
630
615
620
618
610
614
612
614
609
609
631
622
626
609
614
639
607
619
613
634
631
613
617
619
625
604
613
623
623
603
605
617
631
613
610
606
605
609
617
617
609
638
611
605
635
628
618
602
613
617
606
623
605
628
621
608
639
602
623
622
627
614
615
619
612
604
603
608
608
638
606
603
620
622
612
615
638
613
610
639
605
621
602
601
626
606
611
609
609
617
632
612
624
628
629
632
634
615
604
608
639
610
629
606
631
622
632
630
635
622
606
609
629
629
609
612
634
632
608
618
611
611
632
635
605
618
607
634
607
631
613
614
625
613
620
625
623
639
609
607
612
625
605
612
604
616
633
635
610
635
631
607
617
631
618
617
617
621
624
632
607
624
624
617
615
627
632
626
615
606
614
631
605
622
617
619
610
634
615
611
633
618
607
610
610
618
623
625
615
606
635
617
615
608
619
632
604
625
637
614
626
639
635
633
621
623
615
624
629
607
602
639
602
612
617
620
639
603
609
602
613
606
613
620
613
614
605
601
609
614
609
621
608
615
607
612
631
605
608
624
621
606
626
605
618
603
623
613
622
626
621
632
617
638
623
608
614
612
620
623
630
626
619
604
621
601
624
622
622
634
613
630
609
626
635
627
617
611
616
609
631
619
621
610
610
618
621
613
635
613
625
631
626
615
629
630
604
635
631
619
612
633
639
608
630
627
632
608
607
610
626
614
612
636
604
610
623
606
626
632
618
602
618
621
626
619
629
605
612
636
622
632
635
603
602
603
617
613
624
635
605
618
608
623
631
610
622
616
627
631
604
610
602
624
604
604
607
604
612
609
623
605
609
607
616
629
622
617
613
610
622
623
611
617
609
620
632
634
623
627
636
608
608
619
602
615
629
622
606
614
613
606
635
608
612
610
608
614
609
609
622
612
609
618
607
612
613
629
616
612
610
638
608
608
608
619
615
615
608
616
606
634
631
629
603
619
622
611
616
610
610
612
618
613
616
604
620
614
624
617
617
634
635
630
631
636
621
640
604
631
601
630
620
619
605
612
606
625
628
617
604
618
608
617
611
614
611
626
628
632
629
604
608
611
622
618
623
626
604
612
631
606
628
608
607
620
605
611
615
611
618
620
627
614
629
613
616
620
624
621
620
603
614
606
604
623
613
605
613
623
622
622
630
608
626
621
604
604
605
618
617
617
626
630
631
620
604
614
610
620
632
630
630
625
628
612
621
611
617
622
632
604
605
621
636
605
608
609
619
611
626
604
614
615
639
619
625
620
620
614
606
632
614
604
611
614
603
615
624
617
617
621
607
612
617
620
605
632
622
623
629
614
601
620
621
613
626
609
635
624
619
619
609
623
610
607
614
620
606
612
632
607
628
639
613
609
626
618
617
605
621
612
638
630
625
631
601
608
608
609
622
606
607
639
610
629
609
625
615
610
629
629
614
610
618
627
619
618
620
626
621
616
608
603
608
606
619
607
603
621
614
619
613
604
604
631
606
600
622
604
610
626
622
624
615
607
603
623
606
607
612
601
620
610
617
628
605
611
610
610
622
620
607
631
617
637
639
609
614
614
613
604
631
639
634
628
625
632
605
620
622
605
623
639
634
623
621
605
605
607
634
614
634
604
635
618
614
611
623
625
614
618
629
632
622
619
612
622
636
615
613
623
612
621
614
620
626
638
615
604
615
599
614
637
629
605
617
603
618
630
604
610
624
631
624
634
625
609
604
609
634
640
613
625
603
609
609
612
631
619
625
622
602
613
634
611
622
630
615
605
613
631
625
616
604
622
605
607
629
611
603
603
635
606
608
619
613
606
609
611
613
614
619
615
619
613
613
625
614
617
602
637
606
621
609
622
632
611
607
615
614
617
609
639
611
611
629
604
617
612
611
612
606
603
625
620
608
618
615
613
619
607
628
625
631
615
602
613
622
624
617
619
605
613
614
603
611
612
603
630
612
629
623
619
633
611
603
612
608
613
622
639
609
608
608
615
615
612
613
621
615
622
608
630
603
620
608
603
639
634
625
604
610
632
623
634
621
609
620
606
608
634
614
621
618
628
619
610
602
621
606
621
609
612
606
612
606
611
621
621
604
640
609
604
613
619
598
604
624
611
633
629
633
613
603
618
612
611
606
622
617
609
617
628
630
619
621
603
612
629
605
606
623
636
632
607
605
608
605
623
623
625
624
608
612
621
604
607
632
607
633
625
630
615
618
602
626
620
611
639
639
610
634
613
622
626
639
622
617
602
617
629
608
607
611
616
619
603
617
608
633
618
611
609
632
618
614
623
618
606
607
629
612
599
613
618
609
622
625
624
613
604
611
609
613
609
614
617
605
608
619
617
599
621
604
637
617
633
605
611
615
609
611
604
629
633
630
606
602
606
620
602
631
604
611
615
607
628
617
631
626
628
624
623
609
631
631
601
615
620
604
605
633
630
624
625
605
610
612
616
601
607
607
619
608
615
628
626
602
629
635
605
623
628
616
617
635
607
610
606
608
613
607
608
628
625
605
609
620
613
620
605
609
606
607
626
600
612
617
608
614
614
615
633
626
606
635
617
631
616
639
619
604
615
602
611
618
615
604
630
612
604
610
613
613
614
631
618
613
616
608
640
608
614
632
612
604
631
628
625
606
622
614
619
621
603
608
613
604
618
617
610
611
612
609
632
620
623
601
614
631
603
608
605
605
621
617
621
623
618
603
608
625
626
614
614
623
627
605
624
606
618
602
625
603
612
612
622
609
626
634
627
632
613
605
623
614
603
610
639
617
622
617
614
627
634
635
624
631
621
623
604
610
630
623
610
625
615
612
628
617
601
623
636
619
627
608
623
634
621
604
614
623
608
620
621
631
629
625
608
604
606
607
611
611
621
633
619
634
617
631
631
604
622
626
616
633
608
613
631
619
612
613
626
620
639
607
617
608
603
617
612
614
607
634
607
629
603
631
606
616
639
629
606
615
630
611
616
632
629
610
622
616
629
603
640
639
634
601
625
624
604
610
608
604
634
606
630
621
612
627
620
635
610
619
621
603
608
604
609
608
635
611
635
609
610
618
639
616
626
608
625
624
631
613
617
620
625
610
609
604
629
619
614
603
632
618
607
608
615
606
609
613
607
605
620
617
624
629
612
623
619
614
630
615
605
619
630
620
614
615
629
603
621
635
608
620
633
626
619
631
625
626
623
623
626
606
621
602
613
610
622
622
620
611
605
602
613
619
616
619
618
619
606
610
608
616
608
628
616
607
604
632
611
625
622
626
633
609
626
619
621
613
617
608
606
608
604
609
614
624
602
632
614
634
623
629
620
631
626
605
630
617
622
630
628
606
628
621
610
606
608
634
611
610
635
619
610
607
622
639
609
633
622
634
612
604
626
609
629
632
605
617
628
631
633
615
620
612
603
613
619
609
628
606
608
623
629
639
632
613
630
617
619
612
632
612
617
623
627
617
617
623
613
626
621
627
625
613
616
623
606
626
605
610
628
620
621
603
610
609
628
630
607
607
613
629
630
602
622
604
601
635
632
615
631
624
613
634
611
616
631
605
621
622
612
628
615
612
621
635
617
609
613
608
602
619
601
620
619
609
605
608
632
625
617
627
612
614
639
621
603
636
605
617
634
613
624
603
614
609
606
615
620
620
634
605
611
620
611
615
633
603
632
612
610
637
631
606
627
605
602
603
627
631
619
605
627
610
631
626
613
615
640
630
633
631
604
633
604
626
617
609
611
603
611
640
625
627
614
625
620
606
605
634
620
624
626
614
606
633
634
616
617
620
611
603
615
628
622
616
608
629
604
611
635
609
630
635
603
639
633
634
610
633
631
626
613
629
620
617
607
622
626
612
632
611
612
615
607
631
622
614
625
614
608
604
624
626
639
618
623
637
609
602
613
620
613
618
612
615
622
602
610
617
628
618
624
622
621
610
604
613
617
622
614
625
610
618
607
631
631
611
617
614
609
612
611
605
631
613
608
632
608
610
606
637
607
628
625
631
640
612
609
638
630
634
603
620
617
612
610
601
620
612
613
606
619
604
620
610
635
614
609
631
639
614
602
639
620
612
623
622
621
602
631
626
614
611
631
624
623
604
636
611
636
606
629
624
609
608
609
625
613
611
604
604
632
626
613
609
632
609
623
619
613
623
623
631
616
630
639
607
619
606
630
624
614
604
631
635
604
612
614
609
603
613
613
640
604
619
628
630
624
624
631
629
615
628
635
608
612
633
638
624
606
610
606
612
627
628
618
640
612
606
613
610
613
610
613
606
608
611
608
617
624
614
617
614
603
607
616
609
607
602
639
622
621
638
639
614
632
623
608
610
607
617
624
631
614
622
627
614
631
629
605
624
608
607
617
609
625
610
623
616
614
634
608
626
612
603
608
614
606
617
632
617
617
619
612
609
611
630
610
611
618
603
618
627
605
603
634
635
609
606
605
629
613
623
633
608
639
611
613
607
604
632
621
607
633
621
605
617
612
620
620
628
633
631
618
611
618
624
612
622
615
615
606
617
610
609
623
612
608
627
612
620
622
605
625
606
604
606
619
628
608
614
622
606
605
636
603
614
620
637
608
622
603
617
614
605
611
619
608
604
613
611
635
639
624
609
627
614
618
612
636
614
639
633
608
606
629
622
616
623
602
614
613
603
604
628
601
606
630
617
608
635
613
608
608
629
607
619
616
631
619
639
609
618
625
611
620
614
613
620
616
639
611
630
613
622
624
637
620
621
629
626
614
611
605
632
606
631
622
608
626
626
604
628
612
608
610
617
611
604
628
625
629
615
613
604
616
639
631
613
642
619
608
632
612
602
611
635
628
609
623
609
620
615
623
617
614
634
607
636
625
623
614
627
608
603
613
607
615
616
625
607
612
639
610
622
626
634
603
629
611
629
633
630
623
614
623
610
631
603
626
615
601
609
619
614
628
625
635
605
613
635
614
607
603
613
610
617
613
611
633
633
607
616
603
622
605
608
610
608
606
638
626
608
621
615
605
619
604
623
627
636
614
608
622
624
604
621
630
603
635
617
615
632
613
639
633
608
609
616
626
627
619
615
613
626
604
631
604
611
632
612
619
613
617
630
611
613
609
630
629
616
628
608
614
637
616
639
607
615
623
621
603
625
611
623
607
609
631
632
607
624
604
614
633
613
630
619
607
619
639
608
612
623
634
615
622
602
624
605
624
632
617
608
628
631
620
610
605
618
619
619
610
619
634
624
603
613
613
618
623
624
606
621
604
623
608
612
606
615
606
629
613
631
609
607
622
632
609
634
619
628
610
610
602
624
620
625
625
620
625
615
606
638
618
626
623
616
617
615
622
603
614
609
613
604
614
623
628
605
620
637
638
602
603
602
633
609
611
602
605
605
606
632
612
602
625
614
607
615
623
612
617
631
615
623
614
624
614
619
638
630
604
627
616
611
627
602
617
619
617
621
610
629
628
611
611
628
624
620
603
608
615
623
609
606
627
636
625
639
624
620
617
638
613
612
630
627
604
626
610
611
627
617
604
639
619
628
616
610
619
614
609
611
613
616
615
620
628
608
618
635
622
603
604
629
639
604
639
611
616
618
619
605
603
604
623
602
604
623
629
615
603
626
636
619
628
625
630
632
624
616
617
618
612
615
614
606
626
608
603
612
632
632
632
602
617
611
618
604
620
617
625
625
639
622
635
606
603
634
605
610
617
613
623
605
617
631
611
608
624
613
630
610
611
621
604
623
606
632
604
631
608
613
620
637
608
606
618
613
611
620
639
609
626
618
612
613
605
616
634
631
623
605
620
614
632
616
623
609
634
621
633
607
615
639
605
610
621
608
612
613
607
613
619
618
620
613
600
625
631
616
631
621
608
631
619
603
639
630
619
605
624
610
610
619
609
608
626
622
635
610
610
614
621
611
627
620
613
602
617
611
613
616
611
605
623
616
632
620
614
602
620
610
630
623
634
611
628
639
603
629
627
611
606
615
620
622
621
632
613
617
610
620
632
617
620
629
610
611
610
610
608
634
617
605
617
612
622
623
617
632
600
629
625
639
606
616
638
608
633
635
630
607
629
614
625
616
619
604
618
613
619
601
632
614
607
636
611
609
606
616
603
611
612
609
605
610
610
606
610
632
608
627
610
617
639
607
625
626
632
613
608
639
608
626
604
603
608
605
631
639
632
611
614
611
624
608
615
606
613
609
626
626
622
621
608
610
622
614
629
621
635
618
613
611
632
631
605
630
621
621
613
608
620
605
610
634
632
614
620
631
623
628
615
639
615
624
610
639
618
625
612
616
605
603
606
616
601
617
624
616
615
614
611
605
613
626
614
607
613
628
614
609
639
634
636
609
613
601
639
625
606
623
625
617
615
632
640
621
606
613
618
603
619
632
609
614
620
625
623
625
639
639
616
624
625
620
615
609
624
614
603
614
627
634
609
613
617
611
610
608
610
607
604
631
611
608
623
607
604
608
631
607
620
626
633
629
606
614
629
602
628
625
604
609
610
625
601
606
619
625
621
613
613
639
625
606
633
638
607
607
615
617
609
621
637
605
631
630
613
612
620
625
603
619
610
621
614
639
603
605
611
630
612
630
629
613
629
629
630
627
609
614
604
615
636
621
614
618
624
607
615
627
612
609
612
624
613
622
603
623
610
621
608
615
604
608
634
619
614
614
605
623
608
624
609
623
612
617
635
611
614
609
622
605
609
626
604
619
608
611
631
632
622
608
632
629
618
614
631
603
617
604
606
606
606
617
599
620
619
613
613
611
607
605
606
633
630
616
621
625
608
625
617
625
608
611
622
625
603
631
616
615
611
624
620
638
608
631
627
620
609
615
618
611
605
626
639
631
609
611
631
613
618
610
604
604
608
632
623
608
604
614
633
605
635
625
611
639
622
622
615
614
616
632
604
630
614
608
604
615
605
635
609
626
624
622
614
625
613
622
616
616
622
618
606
632
609
617
639
623
608
620
614
604
617
607
618
600
604
639
617
602
607
620
611
627
617
605
605
615
605
608
618
609
620
613
609
603
613
639
633
623
614
611
610
623
617
611
607
609
607
629
614
621
608
608
610
618
625
607
618
611
639
619
636
609
618
623
618
608
608
618
626
614
608
604
620
602
623
610
620
634
618
606
634
617
603
629
608
614
619
629
615
623
606
621
632
604
617
621
616
640
640
630
618
623
606
610
628
639
625
613
616
608
623
634
611
623
624
609
635
618
613
624
610
620
606
631
612
613
621
632
609
616
625
608
622
608
613
621
626
621
611
603
620
617
612
607
617
607
639
615
614
609
606
603
606
629
612
608
613
614
617
613
624
600
626
620
623
610
635
618
617
609
609
632
604
638
605
618
611
632
602
626
611
620
614
634
607
606
605
614
631
619
608
624
621
618
628
608
625
631
626
635
602
616
613
625
616
610
633
609
617
625
616
615
612
611
607
625
612
604
619
603
624
609
604
612
614
630
612
639
602
617
606
620
609
635
613
614
633
617
635
622
613
614
615
628
623
635
605
613
611
639
615
625
607
632
626
623
613
614
621
618
614
626
609
609
626
602
610
616
618
612
627
602
618
620
620
606
609
614
620
616
628
623
603
604
610
605
625
619
620
608
623
633
631
604
612
621
608
613
625
606
635
611
622
615
609
600
603
629
613
623
623
612
635
611
626
631
619
625
628
621
620
608
606
622
613
626
622
638
625
608
613
627
610
639
631
620
618
624
614
630
616
612
609
612
629
625
605
604
620
625
610
610
611
630
624
621
616
631
612
609
637
616
607
632
614
609
621
611
611
604
613
632
608
601
614
622
619
603
623
602
639
606
610
632
615
611
613
603
609
630
625
638
618
622
630
632
607
613
639
623
608
613
611
626
602
630
605
622
611
611
611
605
631
621
634
621
608
618
632
608
606
616
619
604
610
613
620
609
608
611
623
619
607
604
635
612
616
616
606
631
617
605
610
613
612
606
636
621
622
606
608
622
621
622
612
624
636
626
613
605
615
639
611
617
612
620
602
633
619
614
635
609
601
628
633
612
620
619
616
609
618
607
614
605
613
631
622
613
611
622
617
603
608
610
639
610
628
613
623
632
614
605
607
630
625
611
613
616
605
614
616
640
620
620
630
628
625
604
609
615
629
607
609
626
599
609
627
622
625
631
632
618
632
605
607
630
620
636
614
623
610
608
629
623
623
637
604
605
610
603
623
605
625
610
631
631
630
623
602
621
603
618
623
623
620
606
606
613
603
618
610
631
606
609
604
625
618
614
637
616
616
627
609
639
628
607
632
603
609
607
625
618
621
612
609
611
608
608
605
616
634
609
632
614
621
625
617
622
623
638
606
611
602
627
623
614
615
621
604
613
622
620
634
610
622
623
622
620
639
602
626
601
629
619
614
603
626
609
625
604
606
614
616
631
622
612
618
639
609
606
627
612
608
630
607
616
632
617
626
608
618
608
607
606
617
617
612
631
618
605
618
630
612
607
629
629
617
613
615
604
613
632
612
610
636
632
613
631
617
615
606
611
603
608
615
622
613
611
605
616
607
614
612
614
640
607
607
605
621
622
608
618
606
614
612
613
606
606
604
618
608
614
631
631
605
608
624
610
607
622
639
636
617
609
617
607
639
617
610
617
626
607
628
615
605
623
632
626
606
612
631
608
639
604
621
603
617
624
606
612
615
609
630
620
626
630
612
632
626
629
614
611
629
608
611
621
618
632
607
615
617
617
603
620
614
618
620
615
622
623
627
610
622
612
604
612
620
613
631
639
603
626
607
612
632
634
639
616
614
632
620
611
634
609
608
606
639
605
623
604
640
609
617
623
609
605
608
624
608
620
606
604
614
629
614
617
613
605
629
618
614
613
612
614
624
605
617
631
617
621
609
635
604
619
604
619
616
635
618
626
617
616
633
638
622
612
619
615
626
603
607
613
609
619
631
638
618
605
631
639
615
605
609
612
605
633
615
642
609
603
607
625
632
601
614
619
621
622
614
612
612
621
625
610
606
620
630
608
606
616
613
604
615
606
606
613
614
615
617
626
630
609
632
620
612
635
617
604
628
619
616
626
606
623
606
602
610
603
628
621
617
615
607
617
616
602
615
618
606
618
616
629
606
603
617
616
612
617
614
630
626
620
632
608
626
609
613
613
612
607
610
607
605
622
624
600
621
627
630
614
631
608
610
613
629
608
621
628
632
626
633
624
611
602
622
628
602
631
631
621
610
632
613
621
640
626
632
617
624
604
626
629
634
620
603
624
609
618
619
614
621
610
617
613
626
629
611
626
606
617
604
613
617
604
623
613
635
603
610
631
605
622
608
611
602
610
631
633
605
606
609
608
605
618
617
625
619
627
609
622
599
606
606
613
614
617
614
612
629
611
608
604
616
627
626
631
636
631
628
613
635
621
617
621
628
631
612
612
614
620
618
608
632
630
624
602
619
636
612
613
632
611
631
601
630
610
623
613
606
619
623
609
608
618
614
629
606
604
609
608
611
611
618
626
614
612
635
637
626
635
602
603
605
632
631
616
626
614
615
609
605
612
613
610
618
621
608
617
613
622
609
612
634
622
605
615
608
608
619
620
613
623
620
616
608
613
629
624
618
608
602
629
607
614
620
625
630
612
609
621
621
611
627
609
624
626
607
619
625
604
622
616
611
622
624
609
620
618
605
620
611
634
622
632
610
604
622
627
620
619
621
632
611
613
620
621
629
614
621
608
608
613
610
613
625
611
624
625
619
606
610
622
630
603
620
610
614
611
609
614
625
610
613
614
609
610
619
605
613
627
635
605
610
604
634
608
615
608
612
614
632
621
605
608
639
609
628
606
620
639
631
620
613
611
616
607
615
635
612
614
609
611
614
610
623
622
608
611
610
610
614
627
613
614
609
607
627
636
625
609
608
624
617
627
616
609
625
639
626
613
632
605
615
606
628
610
612
628
631
629
626
623
609
603
617
608
623
639
613
616
615
639
608
628
626
632
611
630
623
618
625
614
615
614
621
612
619
615
611
614
613
610
609
621
613
616
606
627
609
610
639
628
628
623
603
626
617
611
614
604
614
631
609
639
608
626
623
608
613
620
605
610
628
622
608
630
631
611
640
618
628
614
625
626
614
619
608
616
612
613
624
619
624
606
619
612
623
613
621
608
634
623
625
630
617
626
608
622
621
625
620
621
613
613
628
609
614
605
606
639
625
630
602
622
606
613
609
608
627
622
624
633
613
620
613
626
617
628
639
620
611
611
619
609
634
613
613
623
633
617
615
609
610
632
604
614
601
610
611
615
625
622
608
614
625
632
623
626
625
626
629
619
614
604
613
626
613
603
617
629
622
619
609
628
624
610
602
631
615
639
607
606
620
625
604
631
613
618
616
601
621
610
618
617
614
631
632
624
606
605
617
608
617
608
625
618
612
614
624
610
620
639
600
616
605
626
605
603
606
607
617
604
610
606
626
631
619
623
607
611
628
626
625
622
619
603
605
612
623
622
608
610
611
636
632
616
632
621
625
606
601
620
610
627
607
628
632
608
618
628
626
619
617
626
603
617
612
625
607
614
610
636
618
625
618
615
614
638
610
610
628
612
614
607
621
619
612
626
631
610
610
631
629
632
614
611
612
618
604
639
628
613
632
609
604
626
633
634
608
614
610
638
636
620
619
609
611
607
600
607
632
615
617
625
630
620
617
605
606
626
612
619
602
622
638
621
605
617
613
621
628
629
617
625
632
611
626
613
609
632
622
607
617
620
608
619
622
629
613
623
613
621
623
624
632
616
613
603
622
611
600
621
599
617
622
615
603
628
621
607
623
613
604
599
617
620
610
629
604
609
622
607
626
607
615
615
632
602
614
627
620
624
622
614
605
610
609
620
635
615
606
614
616
632
617
619
620
617
607
628
605
623
615
612
634
602
632
625
620
626
603
605
639
623
621
615
633
618
634
604
638
607
609
605
621
612
623
639
613
609
622
619
625
614
609
616
606
605
603
622
614
604
605
632
612
607
617
617
632
619
610
607
633
617
624
623
613
630
612
616
636
614
616
622
609
603
606
613
609
605
606
625
613
606
630
611
617
609
625
604
603
612
634
612
625
626
633
614
603
611
612
622
612
623
627
602
638
625
618
615
619
621
617
622
614
606
608
607
639
617
632
619
609
625
604
626
625
604
609
632
611
624
626
606
612
629
616
626
626
624
622
606
611
604
618
622
605
604
605
635
613
630
609
612
621
634
614
615
640
625
614
623
619
609
639
607
611
622
600
616
604
600
634
614
608
612
640
606
621
616
606
626
613
632
608
606
610
633
609
609
614
619
609
619
607
610
621
617
601
632
635
615
607
624
619
629
632
627
616
629
617
617
615
609
609
639
618
632
629
639
612
609
613
612
625
614
632
607
634
608
620
612
612
629
636
621
604
622
609
630
610
602
617
609
608
625
621
622
609
619
626
631
624
611
622
610
609
629
609
623
632
623
606
615
610
622
619
629
630
610
621
612
604
639
603
620
601
606
609
611
639
607
611
620
632
616
625
629
611
626
626
617
633
627
625
614
613
623
616
623
603
613
624
613
606
616
632
621
607
626
619
631
619
626
622
616
622
604
631
633
628
603
610
608
613
603
628
619
632
611
619
612
613
605
624
622
635
619
609
628
634
608
628
625
605
612
623
615
623
635
630
612
606
604
615
609
630
624
612
634
620
610
613
607
612
606
606
628
606
639
602
611
613
621
626
613
616
617
622
612
621
610
608
618
632
614
607
626
620
610
603
632
622
623
623
605
622
626
639
622
611
607
612
603
606
617
620
633
613
613
610
619
609
607
611
606
631
622
613
639
609
611
629
622
614
608
626
614
608
612
600
635
615
623
602
618
614
618
622
606
632
604
609
639
614
608
623
626
600
613
609
599
622
603
635
623
619
608
630
604
629
618
635
629
603
639
630
616
636
628
616
616
615
617
639
606
631
613
609
631
615
630
626
610
610
619
614
604
615
620
616
626
613
624
605
612
617
620
612
621
604
618
613
608
603
606
602
623
631
622
636
631
603
603
611
639
611
606
622
639
606
621
610
618
624
628
611
608
605
605
622
614
608
609
619
609
626
624
615
622
624
613
631
603
610
617
606
609
617
635
623
617
603
616
609
631
611
618
611
615
639
612
609
629
609
605
611
622
611
635
620
622
630
627
610
620
622
600
622
632
606
611
622
611
630
626
622
634
623
619
614
623
606
609
616
611
611
623
634
609
631
604
616
621
617
617
623
618
613
621
619
625
609
605
608
617
614
612
604
630
613
622
623
613
623
616
606
640
634
608
639
607
610
628
608
608
611
633
629
619
608
601
624
606
613
616
619
621
607
617
601
604
614
612
623
631
613
610
620
607
624
604
616
610
602
608
602
611
637
606
608
621
626
619
615
605
625
623
609
618
615
621
620
627
616
631
616
603
617
601
612
609
623
613
604
612
634
614
603
606
605
613
627
617
615
613
621
608
613
620
620
635
611
623
620
606
623
612
609
619
605
617
608
608
612
613
624
625
620
634
630
608
602
632
602
619
615
620
613
632
616
609
603
618
622
635
618
620
622
610
615
617
611
623
616
613
638
616
616
616
623
608
611
631
634
637
609
610
615
635
611
630
612
613
605
626
618
635
622
605
608
609
603
605
610
625
639
602
614
623
625
630
628
631
621
635
620
612
623
618
631
620
623
605
625
633
605
612
609
606
612
623
616
614
622
625
619
618
616
622
610
622
608
632
634
618
615
611
627
634
606
618
616
615
611
608
607
614
618
619
623
632
602
605
606
634
631
621
621
610
610
639
606
637
621
633
623
622
609
608
613
623
634
609
634
605
611
630
616
608
631
622
621
627
619
620
617
607
604
608
613
614
638
632
621
600
612
636
614
628
611
603
609
626
629
612
613
611
618
619
611
610
626
607
633
633
606
634
639
610
625
610
623
614
619
618
621
633
621
607
607
627
617
627
612
629
626
602
632
606
614
627
617
622
634
609
611
602
621
618
601
615
639
612
611
612
613
619
622
613
617
611
614
608
608
611
628
617
615
628
616
617
622
614
603
621
607
620
607
617
611
626
632
630
604
609
627
615
627
625
622
620
605
637
623
616
631
617
606
612
623
606
606
626
622
627
632
605
617
611
623
630
618
631
610
606
611
609
634
626
606
617
614
609
616
608
625
613
609
623
623
634
639
621
603
614
624
606
613
622
609
603
613
626
609
609
631
625
634
610
621
639
632
607
619
634
613
617
607
613
636
603
628
604
625
607
606
629
620
613
612
602
608
608
622
639
625
614
617
638
613
605
625
604
607
618
626
606
619
609
636
602
632
606
639
613
609
613
628
636
639
633
614
623
608
610
624
609
614
606
611
613
623
622
613
617
624
615
602
606
613
610
633
614
607
610
619
612
624
605
636
618
609
605
618
605
617
622
623
602
610
627
609
631
640
609
615
615
619
620
624
622
609
639
617
627
626
625
614
617
608
606
606
603
603
631
616
604
616
610
627
613
612
607
614
636
630
621
609
613
624
616
619
614
605
604
626
610
633
626
607
613
607
612
626
641
606
634
628
621
623
612
604
612
624
608
633
623
622
636
614
615
624
634
604
631
612
610
610
636
632
608
629
607
609
632
629
615
626
631
603
605
601
609
617
629
611
613
612
632
609
607
618
622
619
603
618
607
603
618
627
621
613
616
611
635
608
609
615
620
631
600
623
631
612
609
617
623
607
639
619
609
608
606
610
624
629
617
629
624
604
606
628
606
623
623
623
625
613
616
626
603
605
610
623
626
623
599
619
627
626
617
604
632
623
609
605
626
628
616
604
603
630
629
608
625
617
637
620
620
632
618
613
608
631
608
616
600
621
608
616
612
601
609
601
629
621
609
610
612
631
632
614
621
639
613
620
639
626
618
611
616
629
609
612
610
617
612
618
608
615
625
607
610
609
630
602
604
607
626
601
624
621
617
622
616
636
621
609
604
633
629
628
614
614
623
608
626
608
614
606
628
613
628
629
617
601
623
622
620
621
606
611
623
615
613
620
634
603
614
623
606
607
612
639
632
608
605
612
603
612
606
605
611
623
633
626
638
614
614
611
620
622
622
607
619
602
612
612
613
608
621
612
626
606
623
599
609
626
609
617
608
625
618
611
602
614
622
620
609
608
608
630
622
617
606
632
639
611
628
629
623
637
633
625
623
622
611
632
628
609
628
622
613
611
634
623
605
632
605
607
607
617
609
620
613
609
611
605
622
623
609
635
629
617
606
603
604
639
620
619
630
635
638
624
612
621
614
624
614
607
618
610
609
602
614
605
606
620
613
615
626
605
600
611
617
626
625
637
626
626
614
606
599
632
606
625
630
629
633
616
614
615
629
622
604
629
611
609
603
632
633
617
615
614
631
615
617
606
610
636
634
615
614
604
628
613
604
621
604
625
617
621
604
636
619
618
623
618
613
622
604
628
611
639
626
617
613
626
616
626
617
638
610
614
615
606
614
625
620
623
603
625
605
631
622
622
618
634
629
626
629
606
627
623
620
611
635
631
602
605
610
631
636
616
632
604
628
634
605
618
634
610
617
610
613
626
631
612
628
623
634
602
635
620
634
640
608
608
624
630
623
611
620
639
609
604
625
614
613
613
620
623
603
608
607
621
602
613
613
618
621
599
623
634
628
632
604
608
617
608
637
619
603
629
617
602
630
624
601
603
635
614
615
610
616
613
614
616
621
620
610
609
618
624
601
611
618
603
617
611
615
609
619
607
615
622
624
613
606
626
611
622
630
613
613
639
631
602
631
622
633
620
604
616
617
614
608
605
606
605
631
639
635
640
631
619
617
639
621
639
623
629
636
623
640
608
602
622
608
611
605
625
639
607
614
617
609
622
622
613
604
609
629
605
604
615
619
625
639
639
615
613
632
604
614
616
623
622
603
622
614
615
616
630
619
628
606
604
631
632
612
607
610
640
631
606
632
632
617
632
622
621
631
604
612
626
613
618
606
620
614
615
631
609
615
616
625
629
610
608
632
638
610
624
618
613
607
628
620
631
639
628
608
617
620
639
604
624
627
621
630
607
609
620
631
614
609
622
620
630
613
618
631
628
610
608
613
621
628
604
620
610
617
602
623
619
614
609
614
629
616
614
601
631
618
604
623
623
619
630
606
630
619
616
606
639
626
623
612
603
614
616
611
602
635
614
628
637
635
619
605
623
606
617
604
618
610
621
614
622
634
626
625
608
634
625
606
605
617
617
621
639
602
622
616
618
610
639
613
624
611
604
625
620
607
613
610
602
615
627
629
606
617
619
611
624
605
609
606
612
607
604
623
628
621
628
613
615
613
603
622
612
626
621
613
611
626
606
614
625
625
617
611
607
629
605
631
608
602
630
622
617
604
604
611
632
602
632
616
610
639
620
634
625
599
635
614
628
610
614
621
604
620
616
611
610
625
615
619
629
626
603
641
604
603
604
613
635
603
612
612
628
615
633
617
604
618
623
620
616
620
621
623
603
603
616
607
628
608
612
608
626
612
629
625
619
632
624
616
612
630
618
626
623
631
612
624
623
618
617
625
610
623
614
616
608
634
613
632
620
625
604
607
603
612
637
606
605
625
617
629
608
602
615
624
639
610
611
630
608
603
637
609
604
632
600
628
631
615
603
633
623
639
632
631
602
639
617
613
632
605
622
603
616
634
626
632
605
616
607
614
605
634
613
625
634
617
614
613
629
610
634
632
618
617
619
632
613
608
632
639
615
635
606
610
621
624
619
616
605
614
618
612
613
621
623
634
619
614
618
617
632
620
606
615
604
613
626
610
626
610
634
608
623
628
617
614
614
639
631
614
610
612
633
610
604
627
616
608
632
639
618
632
620
606
609
608
628
626
619
604
614
631
616
624
617
609
612
624
615
610
602
633
610
606
616
606
610
613
616
601
631
609
614
618
630
606
606
634
621
631
608
611
606
603
606
604
615
607
621
616
639
629
607
629
625
602
620
604
617
608
615
612
606
626
606
612
607
602
606
619
608
626
630
609
614
611
632
606
619
627
612
626
604
619
631
609
631
631
612
614
613
616
622
621
607
618
631
612
604
617
603
611
630
631
605
632
625
632
631
601
620
612
609
615
635
621
609
610
640
629
614
607
619
608
614
622
615
606
616
612
617
614
632
599
609
626
620
621
622
610
603
626
611
616
620
618
608
640
639
631
622
611
631
617
608
612
610
610
607
617
607
605
613
623
621
612
606
617
629
619
621
604
626
605
620
611
639
615
609
625
603
630
626
622
605
631
639
603
614
605
618
608
609
614
609
618
605
624
605
615
633
627
620
620
605
632
617
631
632
602
609
605
625
630
621
602
611
630
612
625
617
629
607
617
607
599
599
626
607
604
630
621
610
629
627
629
624
611
633
608
620
606
639
634
608
627
623
605
628
609
606
611
607
620
625
624
612
639
623
614
608
617
609
631
622
620
620
639
611
604
614
619
619
628
608
621
617
624
610
601
629
625
618
632
610
606
603
639
621
624
633
620
611
621
609
618
611
614
613
639
632
620
618
616
623
639
622
620
632
603
632
611
613
613
611
630
611
628
617
608
614
622
608
622
630
612
601
627
629
613
622
617
628
611
610
639
639
630
632
626
606
620
615
635
613
632
634
622
622
613
606
608
602
633
627
612
634
635
618
610
615
603
611
640
608
611
626
622
606
614
602
606
605
601
629
622
632
608
635
614
617
625
630
613
623
613
632
610
602
613
626
619
604
608
629
604
607
608
623
628
627
610
619
629
606
605
619
621
614
616
609
626
614
614
619
598
638
627
614
623
613
634
623
610
607
613
614
626
615
601
617
608
620
630
623
626
613
617
608
604
622
606
607
631
612
634
607
611
618
624
609
624
614
624
619
631
633
610
609
629
616
633
622
611
606
604
630
608
634
608
603
638
612
635
618
628
606
611
621
612
623
616
625
638
615
603
617
605
623
602
609
635
627
628
628
622
632
602
616
622
608
633
634
613
613
600
619
622
618
620
616
614
611
618
611
618
612
632
617
619
633
608
623
618
619
615
607
631
613
608
639
611
612
614
609
606
626
606
609
621
610
627
608
630
630
617
623
614
618
610
604
619
632
624
614
608
608
611
629
639
602
621
604
622
612
607
632
610
613
633
608
614
615
612
626
606
605
610
614
612
607
599
620
640
609
619
629
638
639
609
602
608
633
625
637
636
622
617
615
622
613
600
613
608
626
609
634
612
612
620
619
614
609
615
616
614
618
615
628
606
625
621
618
609
611
614
620
613
608
615
621
602
610
610
617
617
622
613
632
611
620
602
617
606
614
612
611
610
609
634
634
602
617
618
631
611
613
611
631
629
631
608
619
624
613
627
634
619
602
629
613
617
631
603
599
625
613
609
607
626
608
609
624
609
605
627
604
617
614
616
622
625
624
610
605
614
629
618
611
606
605
611
627
639
627
618
615
605
606
608
616
623
624
605
629
630
616
604
625
626
634
625
639
614
603
633
602
609
603
610
621
608
614
604
603
623
609
608
601
620
611
614
610
623
603
610
622
608
616
602
631
615
609
603
617
626
618
620
604
605
603
620
608
607
610
607
604
603
623
614
624
610
602
624
626
607
625
631
606
617
624
629
632
639
628
601
611
616
619
607
631
615
618
622
607
635
620
610
609
617
609
612
623
620
636
634
632
608
618
609
630
609
635
602
620
600
631
608
609
625
639
612
636
605
618
609
607
620
620
608
617
616
602
606
625
612
625
606
605
623
629
612
613
613
621
634
615
615
605
604
610
606
603
607
606
631
629
608
610
631
634
614
608
605
623
632
614
604
617
637
604
613
617
607
625
612
606
613
627
623
618
604
604
622
623
625
631
630
607
614
622
603
599
629
602
622
607
604
606
613
622
606
615
616
614
623
605
613
618
600
608
615
607
632
629
606
604
635
613
618
629
615
615
632
604
628
617
618
612
602
626
606
623
615
607
619
613
632
622
629
611
626
628
616
614
636
619
601
612
621
607
606
604
613
625
631
607
624
610
627
621
605
626
603
629
634
631
606
619
619
610
614
606
615
607
620
605
610
621
606
605
605
622
636
615
635
612
608
622
607
607
632
614
631
613
619
603
608
625
606
614
637
628
603
639
618
620
610
619
608
627
634
605
615
616
639
609
614
637
635
612
614
613
623
619
609
631
631
610
632
625
626
619
631
621
628
624
633
607
632
630
623
608
603
628
610
615
622
623
606
622
610
618
621
603
622
629
603
607
639
631
611
602
609
633
613
636
623
609
603
605
632
609
619
612
613
602
613
606
629
614
601
630
610
603
609
604
607
613
616
604
613
628
635
604
606
601
635
613
609
605
609
639
621
607
610
608
631
622
601
611
608
632
599
603
609
636
610
623
636
606
613
626
602
613
625
606
614
623
602
616
628
611
634
616
609
624
607
612
621
631
613
624
609
602
605
618
623
634
608
614
635
624
609
604
632
632
608
610
617
618
617
606
606
602
623
612
618
616
625
605
617
620
611
619
619
619
625
623
611
609
614
605
639
633
613
623
629
613
620
623
626
632
613
611
611
609
614
626
614
618
612
613
610
606
634
624
623
614
618
627
608
617
626
606
611
619
617
639
617
626
618
606
622
609
624
603
628
625
604
613
619
609
617
622
617
609
616
605
629
619
617
612
611
607
608
626
605
620
602
621
632
614
614
610
630
615
622
639
639
621
601
638
613
617
608
616
612
608
617
610
617
613
616
626
614
616
611
613
607
614
623
608
605
614
608
610
621
608
629
625
628
609
603
626
604
610
626
631
616
615
632
632
607
608
623
606
608
625
620
632
612
613
610
604
631
606
611
603
608
638
629
610
625
621
601
610
602
607
617
599
634
613
635
639
619
608
612
629
622
623
637
612
618
634
617
609
601
606
608
616
632
604
639
623
622
609
606
636
619
633
610
605
639
603
618
621
635
605
611
610
613
610
614
631
625
613
619
609
634
633
631
626
609
622
612
615
625
620
637
629
627
613
608
632
622
610
606
605
607
610
629
608
639
605
623
638
608
613
614
605
618
622
620
639
609
609
619
635
629
631
633
612
605
621
631
603
616
611
626
606
623
622
632
626
608
622
626
606
608
639
610
618
608
636
635
629
635
632
617
623
626
607
627
609
612
610
613
617
617
606
608
635
609
617
632
611
617
602
617
619
631
605
614
605
633
615
612
617
613
621
623
614
612
626
603
605
624
615
624
603
623
616
605
608
623
628
618
601
612
631
603
616
611
605
612
615
614
632
614
609
622
609
617
608
606
632
613
623
617
611
616
603
626
605
630
633
617
610
630
615
635
639
639
639
614
625
606
626
634
632
622
611
619
611
626
635
641
612
632
615
616
617
620
623
633
607
635
621
622
609
623
605
617
612
613
625
621
624
618
617
620
625
609
629
609
623
632
617
606
604
617
638
621
618
619
610
612
618
622
625
635
602
614
612
634
622
610
604
602
622
608
616
621
614
604
622
614
604
639
636
611
635
631
614
623
600
634
608
623
615
606
614
639
603
602
625
605
619
620
617
629
616
632
608
613
628
603
625
631
608
605
603
623
607
609
608
613
630
611
612
626
619
612
604
611
635
628
630
609
631
623
625
632
621
605
632
613
606
619
632
609
603
623
602
610
621
615
632
635
603
607
616
610
621
631
625
605
607
605
612
619
604
609
638
611
624
632
627
610
605
614
636
604
607
605
638
636
613
613
621
628
620
632
612
603
622
605
619
608
622
606
608
625
639
617
608
615
615
627
628
620
618
632
613
611
623
621
616
610
606
639
605
601
624
620
607
620
616
603
607
625
639
615
630
616
621
629
607
626
606
605
608
604
632
606
606
636
613
626
631
607
610
621
614
614
623
617
626
610
630
612
613
603
632
600
634
611
611
613
613
603
606
608
616
614
636
608
616
610
610
631
629
619
617
621
621
631
619
601
623
624
608
622
608
615
634
603
622
631
618
640
626
610
635
605
606
619
608
626
610
613
607
628
608
617
632
615
611
607
599
610
621
625
631
605
607
625
609
610
622
611
603
601
612
610
624
623
609
606
616
624
618
619
635
610
607
620
635
609
631
618
611
635
603
610
611
607
626
602
615
606
624
615
605
600
605
611
639
616
637
618
617
609
627
620
635
616
632
618
610
623
613
609
628
631
624
622
613
603
610
620
630
620
614
620
607
622
619
611
606
608
620
610
618
615
639
623
612
629
604
628
611
632
615
613
624
613
616
631
606
605
619
626
630
626
622
635
620
633
613
628
617
616
617
612
607
610
603
615
613
605
633
617
629
599
627
602
621
632
627
605
629
611
617
621
615
605
606
620
623
617
618
625
616
605
611
624
605
613
606
602
604
606
612
619
613
607
615
631
602
604
604
604
607
612
611
620
622
628
614
614
606
632
609
620
619
609
624
599
621
618
611
603
639
611
619
611
604
609
615
622
608
615
612
613
603
626
603
612
606
625
602
609
604
626
605
622
610
611
609
635
606
607
615
612
613
609
624
616
605
624
623
606
632
603
623
621
604
615
608
632
612
615
613
613
615
637
616
623
615
620
613
618
615
612
639
619
615
631
620
607
607
604
610
604
610
626
635
600
618
611
605
632
612
639
617
615
632
607
602
616
622
626
605
624
628
615
610
622
619
620
640
613
621
626
631
619
623
629
620
613
626
620
628
617
625
606
619
609
626
604
627
629
638
612
629
613
604
612
611
621
617
619
635
608
615
620
612
623
615
603
609
614
609
630
615
621
602
609
631
611
615
638
627
620
624
630
608
616
620
619
626
603
620
618
627
622
613
622
622
614
621
614
612
609
621
620
617
622
639
615
622
608
629
607
620
620
635
610
610
615
628
620
638
605
612
611
620
624
632
611
629
621
632
639
604
621
622
633
624
606
629
609
630
617
625
610
605
610
616
604
608
620
615
627
609
613
635
605
624
628
620
622
607
630
610
622
614
620
623
631
609
622
605
635
601
622
612
622
621
614
605
622
617
635
619
626
618
629
609
625
610
618
608
612
617
624
624
623
604
631
624
628
615
608
614
623
618
616
625
626
616
610
635
603
608
623
618
613
613
627
608
639
631
617
608
627
609
604
616
610
631
602
614
616
621
628
623
632
624
608
610
617
610
625
612
604
617
615
615
616
606
626
610
606
611
630
635
608
614
603
610
622
605
603
623
631
612
602
639
621
617
627
617
602
603
604
603
623
629
614
604
615
603
623
610
623
626
607
622
603
636
611
620
603
606
634
603
635
611
600
625
632
619
609
603
613
609
610
608
632
601
619
632
627
610
610
609
612
615
611
608
635
619
603
603
603
611
608
614
623
620
623
635
608
620
625
604
630
614
619
608
622
626
615
615
610
624
616
629
604
605
622
619
609
616
617
608
607
627
614
620
617
630
619
621
623
613
609
612
627
639
609
616
630
618
635
627
626
635
614
603
619
620
603
604
627
623
623
617
621
621
614
612
605
619
632
626
624
623
639
612
610
639
603
631
608
605
614
613
609
612
606
628
610
617
631
604
611
603
602
629
623
610
617
615
614
604
626
619
614
635
611
610
617
635
609
607
632
626
615
608
608
614
629
609
635
615
624
606
612
619
627
613
627
617
610
623
603
627
621
606
604
622
604
620
630
629
631
638
623
627
619
634
611
603
606
606
605
603
621
630
632
612
607
608
604
635
604
613
602
612
609
629
619
631
605
617
623
606
611
610
612
637
613
611
613
613
621
602
611
628
620
613
608
620
622
623
632
633
618
614
617
615
607
613
619
636
625
608
619
617
605
614
639
619
626
618
607
614
611
616
600
609
603
634
612
610
619
604
630
613
631
608
639
613
612
611
624
609
606
613
613
617
606
624
626
623
610
612
630
609
611
613
608
623
606
629
614
625
611
614
622
607
626
614
626
640
604
608
637
626
632
619
604
634
619
614
599
605
612
604
622
627
630
610
619
620
614
620
626
626
622
617
621
612
609
625
626
614
605
611
602
640
613
614
606
614
632
624
610
603
631
613
614
614
627
623
609
625
604
632
637
612
613
637
605
618
632
608
605
621
622
618
626
610
631
611
637
606
610
630
605
608
610
607
621
605
614
611
631
618
614
605
635
619
620
603
613
613
614
629
617
605
603
607
610
624
631
619
623
620
639
626
608
625
607
620
625
639
619
627
623
627
612
605
618
613
617
630
633
605
616
618
630
611
613
612
628
616
624
602
628
628
612
612
624
638
631
617
617
620
609
613
627
626
608
639
608
625
621
605
610
613
623
609
625
622
635
623
601
608
613
629
608
617
617
617
608
612
607
626
633
635
625
612
631
613
631
609
620
610
619
617
603
615
632
611
609
618
634
618
621
639
634
619
611
621
629
623
602
617
626
622
623
611
633
621
620
618
624
613
606
608
614
626
619
611
604
621
607
634
625
613
603
639
618
613
635
607
625
606
626
605
608
624
600
627
610
621
630
604
623
627
624
632
621
628
604
604
619
636
629
631
614
621
606
606
617
623
611
606
612
618
610
606
618
627
622
615
622
614
622
612
603
612
633
611
606
625
613
608
620
618
602
618
615
620
624
617
617
602
625
623
614
626
620
631
612
605
614
617
620
626
610
621
600
615
630
633
611
631
622
633
606
608
620
617
626
603
606
609
622
639
625
623
603
608
605
634
639
606
635
606
636
611
603
623
613
603
610
626
606
610
622
634
607
616
603
604
606
639
607
620
625
606
639
602
639
629
620
611
614
619
614
626
619
603
617
618
621
604
617
606
631
610
618
614
627
622
605
623
614
601
634
629
606
628
607
612
634
613
619
640
608
638
611
605
602
606
608
607
614
632
617
637
614
603
631
621
628
623
634
613
613
615
632
622
610
617
623
627
626
618
631
623
624
606
612
606
603
626
620
639
617
627
610
610
635
621
605
618
610
607
623
602
603
631
611
621
603
629
618
612
610
618
628
634
635
608
606
620
620
629
630
602
612
608
612
610
603
613
631
617
610
616
623
602
613
609
608
633
622
630
615
632
628
620
622
614
618
607
611
615
632
621
624
609
631
631
599
613
621
610
613
608
610
604
617
629
622
626
619
604
629
634
623
623
626
628
606
631
602
611
613
637
618
608
626
603
623
605
624
626
630
614
612
626
605
620
614
626
632
608
634
635
630
623
631
608
613
609
613
630
607
610
612
612
608
634
634
620
628
614
606
614
626
631
623
613
631
615
618
617
611
624
636
618
607
603
610
629
605
618
623
620
610
613
606
606
613
608
623
606
607
607
617
630
609
613
631
633
606
619
615
625
622
616
606
631
609
619
607
607
619
606
610
601
604
631
615
635
603
617
609
624
603
616
606
613
607
608
614
610
626
600
613
639
619
603
614
610
600
632
620
628
604
639
614
620
615
622
623
633
609
603
611
636
606
618
635
607
602
623
609
604
624
632
615
632
610
602
613
617
620
635
609
621
632
620
632
639
603
609
620
616
633
614
608
605
615
626
607
608
618
623
608
612
622
622
628
613
608
607
613
610
629
622
622
613
605
618
618
623
628
625
608
626
622
617
624
602
612
601
622
617
614
603
611
622
619
609
610
615
611
606
634
606
617
632
625
620
632
613
613
615
615
608
611
621
628
603
629
606
605
603
615
606
607
610
614
613
633
617
606
625
620
613
616
623
623
606
624
628
620
624
623
617
619
639
621
611
626
616
615
626
610
602
619
630
602
617
622
620
636
629
619
620
623
611
622
614
622
621
624
626
616
604
613
616
624
628
618
607
632
622
623
640
629
639
605
629
617
609
611
615
633
611
628
623
617
613
639
613
608
614
613
604
608
611
631
611
632
608
610
638
614
608
628
626
612
623
616
626
611
609
607
626
613
610
633
614
604
634
620
611
610
636
620
610
602
608
608
617
617
613
617
613
622
610
629
632
603
606
613
622
639
622
613
613
618
611
605
612
622
611
608
624
628
626
614
635
606
599
611
622
615
606
631
623
637
608
617
609
614
631
610
625
612
631
620
612
609
616
608
612
636
613
613
611
626
626
612
614
626
622
610
617
603
616
629
608
615
617
609
619
639
639
615
613
616
632
622
606
610
606
611
622
617
608
616
613
610
619
630
621
601
616
625
632
624
606
635
615
614
621
609
607
628
627
618
622
616
610
616
639
613
628
611
621
617
608
630
622
628
606
623
626
607
621
619
621
612
623
627
621
613
635
626
615
606
630
613
613
618
615
623
610
625
636
607
634
613
639
613
612
610
607
605
612
609
631
602
612
635
620
610
610
611
607
620
628
625
612
610
638
621
614
609
622
613
609
614
621
606
614
625
616
619
604
626
612
623
608
620
609
604
623
611
602
617
630
622
615
626
602
621
629
622
620
602
606
610
620
613
617
620
625
610
616
622
629
616
619
612
627
614
631
621
611
614
606
632
626
614
609
604
608
623
632
607
627
604
617
623
618
638
605
623
621
618
607
610
624
612
604
617
621
617
610
602
609
606
606
639
603
632
610
630
614
614
604
607
639
611
631
618
627
628
602
611
614
623
603
610
616
617
613
631
639
625
607
609
623
610
613
622
635
639
616
625
607
608
620
623
618
605
616
603
637
612
609
611
635
622
623
620
610
615
613
605
611
627
602
618
617
614
629
625
614
611
620
617
603
604
635
610
619
605
633
640
623
613
631
607
610
604
631
605
639
628
613
618
611
603
638
609
614
620
634
629
604
620
623
603
610
624
608
617
631
632
631
611
634
622
630
632
610
635
620
631
634
620
605
620
618
632
609
618
628
608
603
605
609
625
632
603
621
636
623
634
609
617
629
606
611
603
605
623
605
626
613
623
616
639
621
632
610
603
630
620
613
600
626
630
616
610
632
619
633
633
610
608
618
617
625
610
632
609
606
609
637
626
634
626
614
611
626
616
608
608
603
619
614
622
625
626
634
610
614
608
604
617
614
629
622
639
629
603
621
609
612
615
621
637
625
632
626
608
635
607
608
610
611
632
615
621
611
603
624
631
628
603
611
632
625
615
603
614
612
612
623
632
613
620
626
615
604
613
617
602
616
639
602
606
606
613
618
635
614
604
614
622
607
604
612
606
621
625
612
615
611
606
640
622
629
624
611
639
622
606
640
613
613
622
631
613
617
631
639
602
609
614
607
616
614
615
613
635
621
618
626
608
604
616
623
611
603
608
614
619
629
631
616
608
616
629
607
630
616
609
610
609
614
601
604
621
620
621
617
621
610
605
616
626
632
606
612
609
611
630
611
625
602
626
608
602
616
619
612
638
623
635
632
616
614
626
631
614
613
635
608
613
621
609
617
623
634
604
615
635
628
613
626
607
612
622
619
628
612
606
613
626
609
611
621
607
620
613
617
633
608
618
613
608
612
623
630
609
620
611
610
604
615
626
631
609
607
615
622
617
622
605
604
626
618
607
606
614
616
618
622
630
628
602
616
627
618
603
620
622
621
616
625
619
618
625
628
611
620
613
631
634
604
604
604
609
603
611
614
616
614
620
622
623
612
631
603
606
630
632
606
624
605
636
615
614
610
605
617
614
615
608
614
609
605
619
611
629
631
632
610
612
635
626
614
606
630
616
623
612
608
620
604
611
611
621
613
625
614
622
629
631
619
611
613
629
623
620
614
626
610
605
628
606
622
634
630
623
624
605
607
610
614
603
615
606
609
610
634
603
614
634
628
639
631
605
614
607
613
607
622
622
620
613
635
608
605
606
609
613
632
609
636
617
611
609
608
637
614
604
606
607
613
610
605
609
608
625
610
609
609
610
611
619
608
606
626
621
620
625
633
631
630
607
610
615
630
618
619
613
603
629
625
635
607
614
605
631
611
608
623
613
612
609
614
615
606
608
629
617
610
628
630
634
630
615
617
601
623
623
606
612
639
613
627
616
635
618
635
617
617
609
611
607
622
633
617
631
605
621
618
610
614
621
612
623
622
620
616
629
622
620
607
611
611
605
603
639
639
626
634
620
605
606
625
619
609
614
608
605
626
625
626
628
609
600
614
617
610
614
610
616
629
602
621
620
640
614
619
613
624
606
616
623
624
604
607
618
615
639
607
627
614
632
613
621
624
619
611
614
626
610
632
621
614
619
612
625
610
630
616
620
605
605
610
602
605
612
619
631
631
605
623
633
619
639
612
608
603
615
607
625
604
611
619
627
631
623
623
627
620
619
603
600
605
617
611
606
608
606
627
634
610
625
610
639
610
624
629
615
615
612
634
631
608
632
613
629
627
620
604
607
610
606
617
633
610
614
627
631
611
631
631
634
625
608
626
613
627
620
623
629
629
634
620
612
608
615
627
624
635
623
613
607
603
639
617
603
618
610
610
602
635
609
626
614
618
635
616
608
611
626
633
612
603
622
615
612
625
621
615
611
610
620
616
611
632
613
624
631
630
613
611
613
606
613
611
638
612
613
605
602
617
606
633
614
604
632
617
619
613
634
637
609
626
625
620
619
611
605
611
628
607
635
629
614
615
636
613
621
626
613
617
620
617
639
616
619
631
608
633
624
623
629
628
620
630
613
610
618
620
623
605
621
608
605
621
616
620
628
621
630
603
633
604
635
632
626
631
609
609
614
611
605
637
623
635
626
604
621
631
637
603
639
611
632
617
617
626
603
634
620
614
623
614
632
620
638
604
605
613
621
608
629
607
632
630
627
637
607
623
629
612
609
612
614
619
617
626
625
615
614
613
613
631
619
609
620
610
624
610
621
608
610
635
614
615
614
617
623
637
620
628
635
608
609
629
634
622
614
612
607
606
604
611
616
608
620
603
607
608
617
614
608
610
609
612
626
606
635
623
629
607
615
612
613
626
613
638
628
604
627
607
631
615
625
636
610
623
612
607
613
610
604
617
626
633
622
630
621
612
615
617
611
603
619
608
605
616
620
618
625
620
618
608
608
607
609
626
619
624
623
618
622
625
606
619
609
616
628
603
604
632
611
626
617
617
617
619
614
606
628
623
620
605
633
632
607
617
611
630
609
616
607
632
608
609
629
639
631
613
631
616
608
628
606
607
629
604
638
612
611
621
626
626
623
613
625
605
629
604
613
623
608
608
629
619
613
604
639
603
608
601
634
632
606
606
638
623
639
629
610
639
613
623
613
608
638
622
630
617
611
601
627
607
632
622
615
615
603
617
617
615
635
607
631
619
608
628
614
629
626
602
609
614
610
608
625
627
617
624
617
605
618
622
608
607
623
606
603
624
620
626
628
616
628
606
617
614
632
608
618
631
622
625
613
603
639
604
610
623
606
608
623
623
617
614
635
628
611
624
609
610
604
614
628
624
604
603
620
633
635
609
631
617
618
602
627
630
638
604
631
609
606
609
632
619
609
627
601
621
613
617
602
626
632
609
613
619
612
622
610
634
618
618
630
632
614
639
617
628
615
613
603
630
621
621
616
613
621
630
611
635
624
624
625
618
603
620
613
606
630
609
633
627
622
639
622
612
603
609
608
618
609
635
629
634
604
615
606
608
618
630
612
616
608
640
622
617
626
625
615
618
608
617
632
629
602
620
613
603
617
611
625
615
618
622
610
613
611
618
607
610
605
629
627
622
628
631
620
616
639
606
611
631
614
622
626
611
618
628
616
614
614
612
606
628
605
627
614
620
623
613
599
614
603
609
612
639
625
626
601
605
610
624
639
609
617
613
634
622
638
621
619
619
616
609
622
611
614
618
624
607
618
623
613
622
613
628
609
625
631
608
607
617
604
619
625
611
640
605
629
614
632
610
612
621
613
610
634
635
630
625
612
631
602
608
632
631
613
639
603
611
616
620
616
629
639
630
632
603
615
620
624
603
628
618
609
620
622
601
632
614
608
633
621
603
606
614
605
620
622
631
618
608
614
631
606
602
610
621
602
631
622
612
617
615
628
619
609
626
605
634
612
622
614
633
613
609
608
632
628
607
610
611
609
622
605
613
624
632
617
607
609
603
615
626
620
622
615
629
609
605
623
630
619
618
635
631
612
624
606
619
620
622
608
605
637
623
639
625
621
616
617
623
633
623
601
622
602
634
604
616
612
608
613
609
628
606
620
617
633
612
628
631
604
609
610
616
630
632
621
604
628
611
622
623
620
633
606
606
617
605
615
637
606
603
635
625
613
609
617
621
626
606
611
635
627
616
619
607
619
621
614
605
622
632
607
612
603
635
622
631
611
623
614
637
632
633
614
612
621
624
635
634
636
626
615
615
605
624
604
632
606
620
623
626
612
609
634
619
609
607
639
622
609
605
608
637
621
607
624
633
632
608
606
639
639
620
611
607
602
628
612
612
620
623
616
615
632
607
622
607
608
639
637
621
609
622
621
622
628
613
616
615
624
608
626
613
604
606
620
611
605
609
614
614
630
631
622
622
615
631
639
602
603
630
620
631
614
631
610
621
614
629
608
618
631
613
613
622
616
637
616
631
622
613
625
607
606
623
601
603
611
625
615
604
620
620
632
603
605
618
602
615
639
612
606
610
609
606
606
612
621
639
639
634
614
632
611
621
639
604
606
615
604
607
617
620
627
608
632
623
604
604
639
636
617
634
628
605
636
622
608
615
610
612
617
610
614
632
638
623
631
605
640
603
620
622
608
626
613
621
635
617
606
615
617
613
635
607
615
615
606
604
605
629
618
631
628
614
606
620
619
611
604
609
623
626
606
605
639
616
605
616
614
611
619
622
609
613
604
639
609
621
603
617
612
619
611
616
639
623
632
623
607
615
608
604
631
621
607
633
615
630
617
605
617
634
635
605
623
616
631
608
610
613
626
625
613
620
632
616
626
635
613
621
627
603
625
628
617
615
610
614
632
620
626
634
622
623
622
624
614
615
610
619
604
631
602
603
610
604
612
622
610
606
612
605
619
629
623
626
623
623
627
616
618
623
615
622
603
622
630
629
616
618
611
632
625
609
606
610
617
630
629
615
609
626
605
608
612
616
617
611
609
615
627
604
611
628
633
613
614
602
632
611
623
626
628
625
616
626
609
631
614
610
612
624
609
623
632
605
619
609
617
612
612
604
613
610
627
606
626
607
617
617
630
632
631
632
607
609
622
608
615
619
609
615
632
624
614
601
614
617
620
603
609
611
612
611
614
615
632
617
634
616
634
608
629
621
618
613
623
614
617
613
607
604
610
632
626
613
625
609
630
634
628
615
617
610
628
628
626
622
631
626
614
631
632
618
618
617
623
624
613
631
606
603
620
622
609
606
629
606
620
627
609
614
615
613
604
617
626
605
630
629
613
611
625
607
609
619
639
624
615
611
613
608
612
622
604
605
620
608
622
639
614
628
609
628
623
617
608
609
635
632
605
617
607
606
616
611
608
609
607
606
631
606
610
611
604
613
614
638
604
609
623
602
614
606
614
611
623
625
610
620
614
609
608
615
618
622
628
625
604
625
605
622
622
605
609
630
607
617
607
607
610
612
631
615
608
624
607
613
611
627
635
609
614
613
608
636
603
614
613
631
604
616
632
608
623
626
620
608
603
632
616
609
610
612
634
628
606
605
619
631
618
635
624
616
611
633
616
613
605
612
628
614
618
623
608
610
629
605
618
630
616
604
609
626
613
617
619
622
607
632
639
631
609
632
629
615
603
616
603
605
603
605
639
639
635
625
616
603
607
605
620
628
636
611
627
622
616
610
639
613
605
613
619
621
611
624
629
621
639
602
630
621
602
610
615
608
613
616
608
618
611
602
606
610
632
614
634
605
621
617
608
603
621
627
624
605
618
634
634
627
612
618
611
606
631
605
607
628
604
623
622
623
610
630
599
603
638
605
634
608
635
620
623
608
604
617
614
639
622
603
612
603
617
623
607
626
619
604
610
619
603
619
634
603
631
629
612
613
604
605
605
615
632
622
612
610
620
629
617
621
623
615
610
611
609
613
620
616
615
602
638
609
618
612
614
611
620
615
634
607
629
612
621
617
604
615
606
626
614
624
625
626
639
620
632
603
619
613
631
616
622
629
627
621
623
632
610
609
624
603
610
629
605
632
632
639
634
618
622
623
602
629
612
606
605
606
629
624
606
618
602
613
626
641
614
618
612
611
605
605
614
609
617
616
604
639
625
614
612
602
617
615
618
623
614
634
610
614
617
611
623
639
617
623
611
606
630
625
609
617
604
628
607
607
632
630
613
620
604
602
611
605
640
603
611
610
623
629
613
602
623
639
632
614
609
608
633
615
605
606
619
607
611
624
617
609
616
627
608
608
627
606
625
614
603
631
639
634
608
618
623
627
631
623
602
619
630
617
603
606
625
608
606
619
602
631
622
614
637
620
624
624
609
613
609
620
617
608
616
609
613
634
608
604
605
603
626
623
617
620
605
637
623
639
603
631
611
623
609
622
606
625
630
608
617
612
623
609
613
626
618
609
632
614
611
601
634
639
617
617
629
623
612
609
618
639
608
627
614
629
604
606
621
628
612
610
611
623
630
615
634
629
631
629
602
608
605
604
602
609
635
617
610
620
608
629
620
618
606
617
628
620
629
621
617
624
620
614
619
634
635
616
601
610
604
623
607
640
619
631
600
624
619
635
603
604
617
610
603
630
608
626
618
619
627
630
621
618
611
639
609
615
613
622
614
623
615
622
603
602
626
609
619
609
613
621
626
610
605
618
607
617
611
603
611
610
639
634
628
631
615
622
606
627
606
636
615
615
621
613
618
612
621
618
603
637
618
606
622
623
609
634
622
606
620
623
605
621
620
629
617
612
609
605
611
626
624
627
616
610
602
616
606
619
610
613
618
616
634
630
610
612
610
606
622
603
615
625
617
625
610
617
622
620
606
623
610
617
628
631
614
639
639
603
613
612
631
609
614
612
606
629
613
629
602
601
632
631
611
611
629
621
612
634
606
624
606
604
629
613
630
613
602
625
635
634
617
615
610
614
610
616
625
599
619
624
620
632
607
607
603
617
609
611
612
616
626
623
611
605
631
632
618
629
628
608
603
613
630
623
620
606
604
639
620
611
628
608
623
611
639
611
625
633
606
639
629
620
612
611
634
608
619
627
620
604
639
619
624
611
629
615
612
630
631
634
604
631
633
623
614
608
611
639
617
608
615
606
602
611
618
609
623
601
633
605
620
614
612
622
610
605
614
628
618
614
610
607
615
636
632
606
609
634
618
629
608
621
632
623
611
613
598
620
621
614
613
635
618
613
632
627
619
629
615
620
631
616
626
605
631
603
610
618
625
632
612
609
617
625
630
623
621
612
607
617
632
621
639
626
615
620
611
623
607
607
631
603
607
626
608
608
609
623
625
639
607
616
613
609
604
604
611
603
602
631
629
623
634
619
619
616
630
609
626
623
616
639
614
615
631
603
608
613
604
634
617
621
617
619
627
617
632
601
622
605
613
632
615
620
614
619
621
620
629
604
628
618
622
608
612
606
607
626
609
624
613
618
621
624
623
618
632
617
617
612
629
622
613
611
631
621
612
617
607
617
619
613
603
629
615
610
606
616
632
622
622
620
628
621
611
616
617
606
619
609
627
631
635
610
631
611
618
632
604
609
631
617
607
614
607
618
632
629
609
620
606
629
625
608
602
632
617
612
630
616
602
608
621
609
610
625
630
606
624
627
607
615
624
632
627
623
612
622
612
622
628
623
617
629
610
611
609
620
627
615
604
601
612
625
623
604
631
618
611
630
631
607
604
642
612
617
623
634
604
621
619
617
613
631
615
616
631
610
606
631
613
632
617
620
629
630
606
607
615
613
631
616
625
615
611
610
604
621
612
608
639
616
616
623
623
617
623
626
622
613
635
616
631
629
618
625
608
622
616
620
617
628
612
610
628
601
603
603
610
627
609
614
626
612
622
620
613
606
629
630
602
624
639
609
604
617
605
603
609
639
635
637
606
635
619
615
622
620
630
623
612
620
612
610
613
632
627
635
635
624
616
608
621
623
634
610
604
612
617
625
627
612
606
626
625
611
625
627
605
614
611
633
635
609
617
625
638
623
617
616
615
626
639
611
617
617
627
606
629
620
625
603
632
614
610
602
608
631
612
608
623
607
626
622
618
627
606
602
619
614
618
601
625
604
606
608
623
605
606
603
634
606
614
633
619
610
606
616
605
615
622
607
624
632
603
618
622
610
605
629
639
605
606
609
608
629
625
623
604
609
625
608
612
633
605
621
616
617
613
623
608
614
627
606
626
608
615
624
606
633
639
631
622
606
615
604
603
611
625
639
631
614
628
639
621
605
603
606
608
611
620
615
607
611
622
626
602
623
625
612
635
629
606
610
609
604
639
619
607
610
608
622
614
604
613
625
629
628
632
614
626
629
619
622
627
609
617
632
623
612
602
623
619
614
631
604
617
614
626
619
634
603
631
610
616
612
617
611
614
639
602
607
602
615
614
623
628
608
635
639
632
635
622
630
633
607
603
613
623
624
605
639
614
602
604
639
607
603
632
616
610
617
639
623
622
627
629
617
607
627
606
612
623
617
617
633
613
614
621
610
609
632
619
605
627
617
608
638
620
610
609
614
621
621
619
614
612
616
621
623
622
603
625
632
604
631
622
624
612
605
613
629
617
614
615
604
614
628
602
625
609
619
615
623
617
614
621
609
622
623
607
602
615
621
610
613
607
613
607
612
613
619
603
606
603
617
619
617
603
607
612
622
620
609
603
639
633
628
623
606
632
612
607
608
617
631
607
602
620
608
608
629
621
633
618
617
622
630
611
622
626
617
605
623
618
599
609
639
626
631
634
630
621
606
614
610
616
621
613
606
614
603
619
603
618
621
621
631
621
622
616
602
622
628
620
639
610
611
627
613
608
611
626
619
620
618
635
607
621
609
619
611
616
614
608
635
612
610
616
609
620
600
604
639
614
628
625
630
603
623
639
604
625
639
635
612
610
607
602
609
620
619
631
634
608
610
605
625
624
625
614
605
611
612
611
635
635
632
620
606
614
607
620
627
610
620
626
634
612
632
604
616
634
618
610
619
628
602
608
602
621
618
613
632
631
610
603
614
611
610
634
610
634
608
625
626
633
604
639
610
610
604
628
612
625
607
611
622
629
631
603
610
631
629
629
624
631
623
624
625
601
608
604
620
630
608
630
618
629
608
616
627
615
632
629
625
632
622
610
619
608
609
634
618
616
612
635
625
625
619
632
612
634
616
626
632
614
620
616
630
616
628
606
625
621
615
604
608
620
631
609
626
627
625
613
615
607
614
629
611
631
608
603
613
621
630
621
609
617
632
602
606
607
622
625
611
606
638
625
611
632
629
635
609
631
615
618
626
629
625
637
620
623
613
621
611
617
613
603
607
630
603
613
625
615
617
631
626
634
632
604
628
625
613
602
621
618
613
622
625
607
629
603
615
635
616
618
613
613
612
625
629
603
625
606
608
619
628
622
611
613
617
620
617
619
626
636
606
630
632
606
613
610
618
626
616
608
620
631
611
626
606
613
609
634
613
607
613
622
630
622
621
624
612
607
605
609
617
603
611
626
609
603
610
614
632
621
612
621
620
617
626
604
613
604
617
618
623
613
614
614
636
616
605
606
621
609
625
620
637
617
606
621
606
605
632
608
604
630
615
603
632
611
634
611
617
623
607
601
631
616
633
622
624
627
627
613
629
612
630
620
604
632
631
616
605
637
615
607
605
636
611
627
620
608
626
609
623
609
615
631
616
629
622
620
617
609
617
610
628
609
604
610
615
609
614
606
603
620
616
614
626
631
609
605
608
618
607
609
629
628
619
604
608
614
612
606
622
636
603
605
640
621
624
623
609
612
614
634
619
619
624
634
629
607
611
622
603
605
628
628
604
613
608
631
613
606
626
630
610
613
606
621
631
636
629
630
635
619
609
613
613
617
631
620
605
608
605
629
628
623
610
635
614
602
601
630
620
605
615
603
628
612
616
614
606
639
613
604
622
615
626
628
609
613
632
636
628
631
608
615
621
612
630
632
632
634
632
603
609
624
623
623
627
622
624
609
617
604
617
610
627
625
607
618
603
619
604
620
635
612
636
626
639
618
610
609
613
621
606
639
619
606
599
625
614
613
614
614
603
604
637
620
608
630
619
613
609
610
632
635
610
602
625
623
623
634
605
631
625
617
617
622
618
626
629
614
616
604
609
604
611
627
626
611
607
619
620
609
623
633
611
608
620
617
605
622
610
609
608
636
621
610
619
639
631
612
627
606
621
607
623
611
604
614
631
612
617
616
623
619
623
625
635
619
622
635
622
607
604
639
615
633
605
609
613
617
629
615
613
606
615
623
610
627
626
602
606
630
609
616
623
622
618
601
616
619
614
622
621
608
632
609
608
620
616
635
634
607
639
624
613
603
616
608
627
612
627
613
605
619
607
616
639
604
607
611
622
626
621
637
632
616
619
611
612
632
609
628
620
608
621
621
612
638
607
632
630
632
622
626
610
622
609
615
628
610
614
613
629
609
613
610
601
617
606
627
639
617
611
632
639
612
622
632
611
630
639
607
622
609
623
621
611
619
619
614
628
639
632
613
623
617
606
619
609
602
613
612
635
604
630
609
606
632
604
622
634
624
633
613
602
606
605
609
614
606
635
626
622
617
612
629
614
630
633
614
622
613
602
635
610
612
621
620
618
617
629
615
603
622
633
619
631
613
607
634
617
602
608
620
631
626
634
603
632
627
607
635
613
603
608
633
610
620
633
613
622
602
607
610
613
609
617
619
605
611
617
615
632
633
616
619
602
602
617
631
635
620
608
612
621
603
615
604
630
610
610
608
611
620
623
630
632
621
615
608
609
632
624
622
630
618
620
622
634
609
616
606
619
607
628
614
605
606
634
639
611
609
610
639
621
613
619
629
600
613
612
630
632
602
619
604
622
610
633
615
626
634
612
605
605
609
637
629
614
608
606
604
632
608
631
623
612
617
632
604
629
604
624
613
615
624
631
621
629
606
605
607
619
624
625
630
630
640
626
624
609
617
608
623
634
622
614
617
612
613
613
608
610
623
616
606
614
603
606
613
621
622
625
634
608
606
630
623
622
621
617
613
613
611
620
608
621
634
609
601
608
622
632
599
622
610
629
609
625
617
633
614
629
607
614
602
612
612
602
631
604
626
610
609
608
623
607
628
615
623
632
603
606
623
613
626
637
614
607
616
621
623
613
611
639
605
608
614
609
609
607
611
626
622
623
622
639
614
623
617
612
619
632
619
639
617
616
626
617
623
609
633
637
639
608
600
635
605
633
606
632
613
637
620
617
617
603
613
620
606
611
613
624
629
609
604
630
608
609
620
624
603
623
607
626
632
615
620
607
605
612
628
631
617
631
619
619
617
615
605
609
603
607
630
616
620
607
613
618
626
611
603
610
627
614
604
623
605
610
614
612
617
606
618
626
618
622
622
624
617
628
619
609
606
617
613
605
610
616
631
622
612
624
607
629
616
630
601
601
610
632
631
609
639
619
635
609
613
602
604
604
609
617
617
608
610
622
622
614
613
603
628
609
613
605
610
611
628
630
608
609
605
606
604
640
601
606
609
601
612
628
628
622
605
632
604
639
623
611
607
635
603
606
631
626
604
618
608
603
625
600
605
603
624
617
606
619
626
603
623
616
632
606
630
629
602
624
614
619
634
620
623
615
635
602
606
618
606
617
617
613
617
609
623
618
622
623
623
639
608
623
601
629
621
608
615
609
603
616
610
620
609
604
630
623
635
625
606
620
604
630
615
613
627
622
630
609
609
621
607
609
617
640
627
613
621
607
639
621
635
632
626
623
619
611
619
606
620
624
632
619
604
621
619
628
618
606
619
640
605
612
618
606
628
603
612
631
624
628
625
606
615
621
626
631
640
603
609
627
634
623
635
604
628
609
614
626
625
629
632
632
624
621
634
639
603
626
612
620
630
613
628
618
611
634
635
633
614
623
619
613
604
609
634
632
603
622
630
614
620
609
607
619
617
607
611
624
617
623
617
610
613
628
615
614
631
639
619
616
617
631
607
607
621
637
617
608
603
629
619
625
625
615
609
603
622
605
614
604
610
631
613
605
602
611
614
631
617
626
619
611
606
608
631
619
632
617
609
626
608
609
606
614
608
635
614
614
619
636
632
604
607
627
612
613
619
632
615
613
613
607
602
635
639
613
609
606
603
622
612
629
605
624
625
616
614
626
636
623
604
603
629
622
614
616
608
622
635
629
615
629
632
603
606
631
609
614
608
626
629
607
621
608
617
612
606
614
626
637
630
614
607
612
620
606
627
626
609
613
609
619
623
623
630
610
621
625
609
614
622
621
608
628
624
616
631
614
612
624
607
614
616
631
610
627
614
623
618
632
614
620
639
616
605
635
616
632
639
625
609
609
632
606
605
621
618
632
615
609
617
630
616
605
608
627
617
623
608
603
629
625
618
612
609
612
609
623
607
623
617
610
611
622
640
617
609
607
609
607
627
635
629
602
622
625
613
630
625
610
632
610
623
616
607
604
616
615
617
618
615
600
634
627
615
604
616
617
604
615
618
605
609
612
629
623
629
625
612
627
606
606
615
603
630
619
638
609
606
631
630
613
603
612
615
623
638
626
604
605
622
615
608
618
631
602
621
615
624
629
623
620
603
639
615
631
626
617
602
607
609
617
612
624
617
629
613
628
620
609
601
613
608
604
620
610
612
617
623
614
632
606
622
626
615
608
625
603
608
619
635
630
631
637
618
614
632
613
612
623
611
604
628
627
633
614
605
622
618
612
618
612
620
603
617
613
613
617
631
628
606
612
614
637
611
632
615
619
605
617
613
615
603
615
631
610
617
603
615
616
639
609
622
607
628
617
626
614
611
614
618
623
639
617
611
607
603
634
612
623
629
613
608
609
639
621
609
618
639
629
633
631
609
622
628
625
628
613
626
615
623
630
632
628
617
624
614
620
624
616
636
622
629
617
608
616
609
612
619
608
629
611
616
630
613
612
613
608
618
614
631
607
628
622
607
615
623
619
629
626
603
610
627
615
602
612
620
630
630
603
631
610
609
617
617
608
617
615
604
615
609
617
613
635
611
635
632
623
611
627
608
625
621
621
606
629
624
609
634
626
605
622
609
612
605
610
619
626
631
619
631
614
614
621
609
599
632
608
626
618
617
632
617
619
603
605
615
607
613
630
612
607
630
632
628
613
613
607
605
612
609
610
605
613
614
611
609
602
639
635
611
628
604
615
616
632
613
613
632
606
614
616
635
616
619
630
629
611
623
620
620
632
612
626
613
635
613
628
629
639
624
619
635
605
611
603
625
620
615
608
602
606
617
622
603
610
609
617
632
617
619
615
609
623
612
617
602
610
617
636
639
623
614
600
624
632
629
609
618
631
618
607
638
619
624
620
630
634
634
621
628
604
627
621
615
617
622
608
605
622
605
623
614
632
626
629
606
639
607
634
622
625
620
621
621
628
626
629
613
615
612
609
620
617
631
607
614
627
607
601
639
613
612
609
617
624
617
627
624
604
639
603
603
604
603
635
610
614
614
629
623
618
639
606
613
626
604
611
614
621
621
631
623
612
617
623
641
607
609
612
632
629
626
614
634
602
605
616
614
614
605
617
635
610
625
613
630
622
639
603
628
602
618
632
637
618
613
603
612
625
619
615
635
608
630
607
627
619
628
632
623
623
608
632
637
629
609
601
635
621
622
619
621
619
627
616
623
625
621
608
622
623
625
609
633
617
624
637
608
616
613
618
617
606
612
609
620
604
614
624
603
620
622
615
625
639
608
616
619
632
616
625
607
632
623
606
624
636
606
610
606
619
613
616
613
630
626
617
634
625
629
621
639
640
625
604
633
612
636
602
616
613
605
632
613
622
624
620
632
618
631
631
613
622
630
622
632
616
618
622
619
623
613
623
607
628
622
610
617
616
605
620
621
608
622
601
604
635
627
616
632
632
604
605
610
606
608
605
622
615
626
617
620
616
599
632
614
639
608
632
617
618
619
609
612
609
639
606
623
631
640
614
622
607
626
640
613
615
620
630
626
628
624
611
613
609
619
606
629
625
623
629
632
631
614
620
605
619
633
608
631
610
605
614
631
624
617
601
611
611
604
627
619
608
619
612
609
614
599
606
611
618
635
623
618
614
609
631
614
623
604
612
614
611
619
622
609
620
610
609
608
639
619
613
609
620
608
633
615
608
632
611
614
611
611
614
612
630
603
621
602
627
633
608
603
600
607
612
603
621
607
620
617
619
621
609
608
635
619
609
639
634
612
637
608
617
621
604
615
603
618
615
614
610
622
621
608
621
607
638
623
604
621
625
609
609
619
625
630
610
625
620
626
622
610
624
630
630
627
603
616
623
639
632
622
623
602
626
628
635
604
621
603
618
615
633
614
618
602
623
608
608
610
617
623
618
626
614
612
608
617
631
612
619
615
609
630
608
637
624
612
602
604
612
612
631
606
630
617
612
625
604
611
632
610
606
626
613
615
639
610
628
607
618
618
630
627
628
617
609
623
606
609
611
612
636
639
614
608
612
606
624
604
608
630
611
622
621
622
618
608
609
621
605
613
608
608
614
619
614
610
606
619
611
625
608
625
615
631
615
603
604
609
631
613
630
631
625
631
613
613
625
617
604
608
639
608
630
612
612
611
617
622
611
632
626
611
631
626
626
630
612
633
634
607
623
622
623
615
619
605
606
620
604
601
616
609
612
614
637
631
617
608
625
609
605
614
617
622
628
624
620
629
635
636
626
604
631
634
620
623
622
611
617
612
610
624
617
613
616
615
614
613
623
614
610
608
602
605
625
607
606
635
606
618
617
604
608
618
617
608
607
622
623
607
619
609
602
632
608
635
616
624
620
614
624
606
637
624
620
616
613
611
613
626
611
625
628
615
626
609
620
635
609
634
613
629
635
614
626
631
610
637
613
603
613
612
608
612
607
624
604
622
632
639
607
624
624
630
607
633
626
605
609
605
632
623
634
630
629
620
603
624
615
635
608
635
617
620
639
602
599
639
610
608
626
622
605
619
622
615
617
604
614
607
613
630
637
602
610
630
629
617
602
622
602
606
622
608
607
637
620
621
609
621
611
602
626
605
605
619
606
625
617
632
609
604
609
637
623
632
606
612
622
606
625
621
629
612
622
613
631
611
621
609
631
623
623
610
609
625
635
633
602
621
628
633
622
621
613
613
622
607
615
605
607
602
608
629
621
614
621
632
627
625
614
619
629
613
614
611
617
621
615
618
616
608
605
639
610
617
635
614
639
606
622
610
631
630
606
610
603
629
610
623
607
611
620
619
616
635
613
611
608
601
617
610
608
636
622
611
625
616
619
612
613
631
639
619
615
600
607
615
605
633
608
613
616
631
608
608
624
609
609
630
624
605
620
622
621
636
620
620
615
623
608
609
618
601
624
623
612
616
608
618
608
622
610
610
624
631
604
613
624
621
610
628
631
607
611
616
614
618
617
630
607
605
610
621
614
611
607
602
626
605
619
625
622
617
630
616
617
609
611
620
627
609
614
604
639
608
604
621
631
605
618
612
609
615
640
629
602
615
603
615
632
621
625
627
629
631
623
627
606
632
610
624
614
625
613
615
631
623
613
622
603
618
621
607
611
613
611
629
635
617
626
623
620
621
623
612
626
610
610
617
631
630
608
609
620
614
603
629
603
619
609
605
637
602
603
622
615
639
634
613
614
640
626
612
623
640
610
604
626
624
631
604
634
630
608
620
618
639
611
622
615
612
618
619
630
612
612
614
609
631
622
605
622
610
613
615
636
617
631
614
608
614
603
635
613
613
625
606
608
622
622
608
629
604
624
626
624
634
614
635
622
615
606
639
613
612
612
609
619
629
631
616
611
623
621
623
623
633
627
624
628
612
613
634
639
630
621
611
608
631
620
603
604
639
633
629
610
619
616
604
607
621
611
613
637
620
609
609
606
603
611
635
610
613
614
606
626
629
620
623
606
611
610
608
623
624
612
610
602
620
612
623
603
616
614
608
609
612
631
639
615
619
609
604
613
615
631
626
609
616
624
603
633
610
619
631
616
614
620
619
614
604
605
611
632
640
624
625
625
615
624
623
627
626
611
634
616
613
608
629
613
609
631
611
621
617
610
626
611
639
608
635
614
604
615
631
617
630
611
623
606
616
617
613
612
604
619
632
606
608
610
609
620
610
608
609
610
610
619
609
599
616
618
624
610
621
602
629
618
626
622
601
639
609
626
626
637
629
610
618
630
623
625
605
627
620
622
611
627
630
609
602
622
604
612
628
626
615
628
621
619
615
625
630
621
618
616
627
612
626
624
603
610
613
626
614
623
608
639
623
624
613
632
606
631
639
603
605
623
612
620
623
623
619
604
630
610
639
625
608
606
620
627
613
612
629
613
604
633
604
626
611
625
603
608
616
631
633
606
613
623
608
611
615
613
606
607
613
616
609
619
623
609
614
608
639
608
639
623
601
606
614
615
614
604
617
616
604
625
620
614
606
616
608
619
614
613
622
639
635
635
632
639
635
629
617
617
611
629
629
617
625
615
622
615
613
605
603
623
604
639
620
617
632
619
613
614
621
610
608
613
622
622
612
630
608
607
605
617
630
614
612
624
619
616
617
618
613
609
632
612
615
604
611
606
609
613
621
606
610
623
611
606
632
619
609
612
629
625
618
609
608
624
634
607
619
624
614
609
614
619
609
617
631
602
632
625
603
607
615
630
623
605
639
613
639
609
623
604
617
612
610
609
610
626
609
608
629
637
634
613
615
632
632
609
617
609
604
617
639
621
605
617
632
609
623
606
612
613
619
604
605
609
619
639
611
605
632
608
609
619
613
619
624
608
625
613
613
634
623
606
607
639
612
627
640
608
609
606
626
627
614
618
607
629
617
615
618
618
630
614
614
611
627
612
634
627
618
609
605
627
610
613
618
628
603
625
628
620
616
632
602
624
616
607
610
617
605
625
615
627
632
622
613
616
627
635
609
615
619
629
631
613
615
604
618
606
607
611
640
616
631
625
608
605
615
618
619
612
612
620
617
614
614
622
627
632
601
605
605
611
608
626
614
616
629
625
604
621
616
617
631
604
626
620
606
602
619
622
607
627
627
606
622
625
605
623
617
602
603
608
620
603
626
619
610
607
613
607
608
612
637
635
623
602
612
630
612
620
619
620
638
629
605
617
614
604
606
614
631
614
610
608
610
626
610
623
601
617
616
615
629
612
617
634
634
633
618
620
618
618
606
624
617
603
627
608
610
624
623
621
619
611
606
606
620
611
620
624
603
620
615
611
606
628
632
604
622
612
610
622
611
625
604
632
627
607
612
612
627
626
611
624
605
614
626
604
633
605
626
613
617
633
611
608
625
602
608
603
627
602
623
616
611
618
617
607
608
615
621
609
605
626
603
631
613
619
613
639
605
623
614
622
624
632
608
625
605
614
603
610
623
606
615
624
613
605
620
612
620
622
604
614
612
611
609
632
629
610
618
619
612
630
631
611
622
605
636
622
616
621
605
611
613
603
604
617
637
634
615
613
626
634
612
631
621
614
621
611
606
609
617
608
620
619
611
616
609
611
622
613
630
612
618
625
602
618
629
608
617
626
610
615
637
617
610
610
628
617
623
622
617
623
618
637
615
604
607
613
628
611
629
637
632
603
611
623
619
607
619
609
620
613
635
612
634
629
613
623
608
623
629
627
631
627
619
604
618
610
609
629
627
609
620
626
618
607
607
604
619
623
603
613
603
613
639
606
620
612
615
634
605
631
606
611
635
621
632
626
622
627
632
625
617
613
628
618
606
617
607
612
612
626
612
605
604
606
626
609
614
611
610
630
628
606
607
607
622
606
613
621
622
629
631
620
618
634
606
612
621
640
632
617
629
615
613
608
617
625
604
614
615
605
606
619
609
622
631
612
613
606
617
604
615
620
622
630
607
606
611
634
639
607
634
603
622
620
628
617
614
602
623
623
630
611
611
624
619
625
634
619
629
616
612
617
619
603
604
632
615
623
623
617
610
622
614
608
601
622
604
620
623
602
610
616
605
639
633
614
606
623
603
623
617
623
613
607
608
624
617
616
615
628
616
604
622
604
625
605
622
614
612
637
614
608
615
612
611
611
639
640
613
604
605
619
613
611
603
630
639
617
614
614
612
630
624
615
637
607
618
622
605
610
632
630
605
623
617
608
621
610
632
603
610
616
630
607
606
616
627
603
632
635
616
609
623
609
628
604
610
613
625
614
631
618
610
614
604
628
612
628
631
604
626
624
614
639
608
602
612
623
613
605
639
628
610
612
617
611
628
610
620
621
606
621
625
616
611
608
608
626
602
606
604
615
625
623
609
619
640
613
602
639
633
618
611
616
632
619
626
602
610
620
628
631
629
605
627
613
613
605
604
609
631
608
608
617
608
610
639
621
614
628
623
611
608
635
638
636
635
609
617
616
617
608
639
608
613
603
599
605
603
634
633
618
618
633
609
630
617
619
628
617
614
613
616
617
613
631
632
612
615
623
608
623
622
632
635
632
609
608
610
623
629
614
608
608
635
622
609
608
603
625
628
611
635
624
609
626
604
604
629
603
632
623
628
632
623
624
622
603
615
632
606
633
605
632
618
612
601
615
624
628
629
613
620
623
607
606
611
635
607
627
617
629
610
619
606
636
615
624
605
621
602
619
631
604
608
622
602
621
617
624
625
606
621
608
613
617
603
635
608
605
603
608
603
625
605
609
618
604
631
622
622
614
609
618
612
613
609
610
610
614
608
619
625
615
617
621
624
614
611
621
635
609
616
604
620
624
623
609
628
610
634
604
623
614
638
605
619
611
605
613
633
603
609
638
603
608
605
607
632
604
631
604
631
614
610
614
629
630
613
640
614
626
629
629
609
614
629
610
612
617
601
637
611
622
624
606
627
619
614
625
601
624
621
607
632
627
617
606
606
616
635
609
638
640
611
606
605
608
615
611
629
610
626
611
623
627
608
606
621
623
638
605
626
623
603
630
608
626
622
610
605
605
626
606
610
617
622
608
625
631
636
604
608
605
609
616
612
607
609
602
630
639
618
631
604
603
605
624
626
631
605
607
610
622
609
625
621
623
609
605
623
623
624
606
622
626
607
619
631
622
626
617
612
605
635
609
618
622
628
639
605
632
616
605
603
639
613
630
629
620
605
630
619
609
622
604
619
631
625
610
606
624
613
606
627
614
634
601
607
622
635
623
622
633
635
610
633
603
608
603
630
620
625
617
606
608
625
614
632
614
609
619
635
613
633
621
609
627
606
606
633
625
608
604
633
608
621
612
612
619
615
628
635
603
618
614
605
619
613
606
623
615
628
613
623
628
603
615
610
621
607
639
619
617
609
620
614
628
642
609
621
624
614
604
630
608
602
616
626
620
609
619
613
621
611
632
635
606
606
605
605
620
625
615
614
634
620
605
622
606
620
607
609
623
632
619
611
608
619
630
626
629
624
631
631
625
612
631
611
610
611
618
608
631
623
622
621
602
604
611
609
605
619
606
621
609
602
632
624
608
635
612
625
618
622
606
639
621
608
604
607
614
633
604
605
611
609
613
609
608
626
619
626
639
607
632
616
622
634
621
617
617
625
613
614
606
613
613
620
616
610
605
613
620
616
617
614
620
618
624
610
611
626
610
618
629
629
615
602
611
604
615
619
602
605
615
605
639
610
609
614
634
613
610
612
623
623
601
621
620
611
608
626
625
612
630
615
603
625
632
639
616
625
613
616
607
618
603
613
627
612
634
622
617
619
603
630
619
611
628
607
612
612
604
629
626
623
611
619
606
619
616
634
617
608
620
631
639
615
602
630
609
629
626
611
621
625
603
608
604
611
616
615
610
606
611
631
623
629
637
608
613
626
607
614
617
606
631
620
635
621
631
618
609
612
620
618
614
625
613
604
615
628
635
606
608
619
611
614
607
635
613
607
623
615
606
617
628
625
602
631
618
605
630
615
639
621
628
617
604
623
624
615
639
626
629
619
614
625
605
603
622
611
617
623
616
613
636
632
639
610
620
622
603
619
611
618
608
613
611
635
606
626
632
631
632
628
629
629
621
631
624
602
613
605
606
604
625
630
614
604
634
615
632
606
613
626
616
604
610
607
623
610
624
608
608
630
622
606
621
613
617
606
616
604
617
606
632
641
608
614
609
608
633
606
613
612
617
629
626
607
607
634
626
606
615
639
609
606
603
620
612
634
628
626
622
639
618
617
616
610
612
618
616
621
608
603
626
639
633
608
632
628
632
609
613
611
609
640
625
622
625
611
607
632
632
612
613
624
633
622
614
627
607
619
628
634
619
619
614
616
615
631
635
605
612
609
604
624
608
609
634
608
614
619
615
620
612
629
611
630
607
615
615
604
607
615
606
607
614
629
613
626
613
622
605
612
639
624
603
622
603
624
610
629
617
623
612
632
634
624
618
604
622
609
608
623
623
620
613
619
616
605
640
622
616
613
611
616
612
611
623
613
629
607
606
603
612
617
625
621
615
620
617
608
620
619
635
632
613
634
604
610
604
606
619
611
614
609
623
630
639
613
603
628
626
632
602
614
625
606
607
624
609
623
616
608
626
625
634
617
625
613
611
613
613
612
611
632
610
617
618
616
623
607
626
629
608
620
622
624
624
603
628
604
602
625
623
613
626
613
610
605
630
629
631
609
624
623
626
614
626
618
603
630
617
618
632
611
615
632
621
610
628
602
622
603
609
619
614
621
608
612
636
609
620
604
604
635
622
603
629
605
622
607
623
620
618
617
602
606
603
617
610
623
619
607
619
639
608
631
611
610
608
631
611
607
623
608
624
625
619
613
612
629
607
615
608
619
624
617
613
610
616
613
613
605
634
609
608
613
624
628
612
626
636
617
610
602
623
614
616
618
611
639
622
620
630
609
622
618
629
625
604
611
623
639
614
613
606
615
615
618
618
618
624
633
607
612
609
639
619
629
630
631
617
603
637
628
623
623
609
631
637
620
618
605
612
613
606
610
632
605
621
609
606
625
629
619
618
625
618
626
622
605
630
627
608
618
628
623
617
608
615
625
609
610
619
616
628
625
599
609
631
629
607
607
617
620
627
634
630
610
637
626
610
607
617
612
640
616
620
603
603
614
607
627
625
607
607
609
604
625
625
622
614
611
608
611
614
617
622
611
620
603
631
639
613
617
608
610
639
628
622
630
613
613
613
616
599
620
611
632
607
602
621
617
619
607
623
606
615
621
610
624
610
611
626
629
604
609
618
609
608
622
630
610
604
613
631
621
632
617
612
605
613
612
608
608
626
622
610
625
603
611
625
617
609
631
614
626
614
631
606
605
609
607
631
610
603
604
630
614
605
615
602
613
622
611
601
608
612
624
609
619
607
611
632
620
635
639
631
614
613
606
607
624
625
602
622
629
613
604
640
634
628
623
602
613
629
614
608
629
604
611
610
619
605
611
619
624
615
618
621
612
619
612
614
625
616
620
615
635
630
631
611
627
628
630
609
639
607
603
606
617
605
622
599
623
632
607
616
608
613
629
629
619
631
620
606
632
612
609
611
605
631
620
637
631
639
601
617
608
620
602
617
612
609
619
611
631
632
603
611
606
608
639
614
606
611
624
622
602
622
608
616
619
629
632
617
626
636
628
604
611
608
625
606
616
625
613
628
620
622
609
610
610
623
610
605
616
609
605
629
631
607
639
619
621
605
640
630
617
617
605
605
626
608
624
609
604
636
601
616
622
613
639
608
611
617
621
635
601
612
613
610
611
627
608
606
635
629
625
604
611
632
625
611
609
636
610
634
608
613
619
625
607
601
603
613
614
613
609
615
617
618
623
610
623
612
605
612
609
611
622
617
604
603
617
614
620
617
611
625
611
611
617
611
617
601
626
629
614
622
615
617
617
603
614
616
629
611
604
600
611
606
620
620
626
606
632
628
639
616
615
617
624
626
622
631
614
611
604
614
626
612
616
626
601
611
626
622
630
632
626
619
624
619
622
606
628
604
617
622
626
630
630
621
623
607
614
617
611
608
625
608
604
614
605
609
634
616
631
637
616
621
623
616
632
614
631
616
634
611
617
619
613
614
639
632
623
608
616
611
605
616
632
627
607
620
612
629
633
610
625
611
625
622
623
618
619
615
636
631
606
605
620
611
609
608
607
620
639
620
632
609
624
617
632
618
606
639
634
621
613
606
617
612
606
635
608
622
611
604
605
628
607
617
628
609
610
627
634
607
640
637
605
606
620
622
607
612
635
617
612
636
617
639
616
625
630
639
609
624
615
616
623
626
623
608
600
601
628
637
608
617
605
628
603
625
614
632
603
617
624
632
618
623
604
622
614
631
624
605
603
613
607
617
627
630
605
632
639
622
604
619
615
614
618
620
613
603
608
627
612
639
616
629
627
632
615
615
619
621
608
620
619
615
613
604
605
635
626
613
626
619
617
638
606
607
631
621
618
604
633
626
623
621
604
629
619
626
617
606
638
630
617
626
615
633
614
614
616
607
604
615
603
610
605
637
639
629
607
614
628
609
625
622
632
605
609
617
603
623
627
612
610
622
621
603
623
613
605
609
632
608
632
625
626
607
631
634
626
632
619
615
617
621
603
605
630
616
609
612
616
625
623
620
608
626
606
623
602
612
605
622
609
613
618
622
622
623
621
622
626
610
613
607
617
631
623
620
632
613
603
615
606
611
619
606
639
608
609
609
610
610
636
619
607
613
606
603
615
637
632
632
610
619
631
629
634
611
608
610
620
612
623
624
622
611
612
603
622
608
639
628
633
632
616
625
621
621
635
623
623
623
625
603
621
607
606
627
610
615
606
603
610
613
623
624
604
617
637
610
613
626
619
616
605
612
617
614
619
632
609
625
611
610
620
620
628
621
634
610
610
611
603
622
630
614
604
632
636
614
620
615
613
602
615
604
635
624
613
608
614
632
610
608
623
614
614
616
604
629
623
629
639
610
603
611
630
625
625
612
626
609
614
618
624
630
623
623
603
620
616
609
606
611
614
610
613
615
629
613
604
616
617
611
603
607
639
610
623
602
639
604
604
604
616
624
614
626
608
634
632
613
618
603
614
610
609
613
637
623
628
627
612
606
620
623
614
627
609
621
636
616
629
622
630
634
632
623
608
616
624
617
629
610
635
608
605
624
619
617
617
615
630
621
615
635
620
632
613
603
610
614
625
613
615
631
634
616
610
608
620
625
618
639
606
613
631
637
631
604
607
634
627
603
628
630
605
620
632
625
613
613
604
614
609
628
624
619
603
606
620
628
609
619
625
606
601
606
623
630
631
605
632
621
604
622
613
624
623
606
639
604
606
631
622
606
611
627
621
601
613
609
615
635
617
624
615
619
623
607
610
604
611
610
605
616
626
628
634
631
625
606
611
619
623
617
630
626
617
605
620
615
631
612
614
617
630
612
625
610
630
621
612
632
607
624
626
618
625
604
603
612
632
617
603
623
626
618
604
625
625
621
619
628
607
624
609
621
631
605
632
606
612
620
627
618
626
617
607
612
619
603
635
615
614
609
631
603
623
624
605
611
618
629
639
611
621
618
620
609
614
624
604
613
609
620
609
612
628
623
630
630
623
608
631
626
612
611
614
613
606
624
623
635
605
607
626
610
624
625
614
611
604
626
621
620
623
613
631
618
604
612
611
621
626
608
620
611
603
602
638
632
612
627
623
604
609
610
629
639
603
616
611
618
617
601
637
630
608
625
615
608
624
624
631
613
609
619
608
620
613
617
624
623
607
608
613
640
618
603
608
614
639
614
624
628
603
607
619
619
637
605
614
639
610
615
625
619
625
612
614
609
617
623
608
612
632
604
613
604
626
619
626
609
604
610
612
615
606
630
612
621
624
630
613
635
614
621
614
616
623
617
624
622
626
631
631
614
639
606
628
602
604
613
635
614
614
607
623
609
631
612
611
632
623
640
602
635
607
626
612
639
610
612
617
609
618
623
625
603
626
634
609
629
626
605
622
606
608
609
626
605
613
621
613
610
608
602
604
620
607
611
609
626
633
627
634
613
613
621
630
630
609
618
610
622
618
629
608
626
620
614
603
621
638
618
631
629
608
609
619
620
607
617
617
612
619
609
609
615
622
607
620
614
621
608
603
605
632
603
613
631
624
610
627
604
616
635
620
623
625
611
617
639
604
614
607
619
624
608
635
620
622
610
604
614
612
621
632
614
639
622
607
617
609
635
600
610
629
633
622
639
613
608
628
612
619
616
609
614
605
639
620
602
617
603
619
603
634
623
609
607
605
603
611
607
607
632
606
622
620
613
622
611
614
616
634
614
637
613
612
633
639
614
619
608
611
611
625
613
621
609
605
605
627
607
607
621
606
619
608
604
626
612
628
620
609
627
606
637
602
604
624
604
623
613
603
612
632
629
620
627
639
612
601
640
611
632
614
612
608
623
627
620
628
613
602
611
639
617
638
614
622
622
603
613
629
618
610
610
629
622
617
621
637
631
615
615
612
609
603
612
605
608
606
614
623
616
616
626
635
612
630
607
639
609
618
602
614
624
623
631
605
619
619
625
616
613
630
603
614
622
610
630
609
603
621
637
616
640
605
640
634
608
618
610
631
614
628
611
613
614
611
609
614
636
609
609
604
618
628
616
624
629
626
620
611
618
604
624
626
610
610
609
620
608
610
625
616
618
625
629
613
603
602
612
625
607
608
606
608
625
614
604
607
606
631
615
630
605
614
622
615
615
618
623
619
614
611
619
615
612
629
612
609
615
617
611
607
631
607
608
636
609
621
611
607
627
613
616
605
626
603
616
611
634
615
619
616
614
605
622
610
627
610
618
632
615
627
610
621
631
623
632
608
621
602
618
607
605
628
616
602
609
615
622
603
612
639
618
611
622
619
608
630
610
626
610
639
609
614
603
634
607
627
610
614
626
614
614
622
610
603
627
630
615
614
620
622
635
619
636
616
607
617
607
607
621
623
623
603
619
626
613
602
613
605
624
620
630
639
623
604
613
606
626
626
630
610
603
626
617
607
636
607
632
613
617
639
602
603
613
605
626
610
608
634
624
631
608
603
606
623
603
615
605
632
614
605
609
625
613
613
614
614
620
599
621
631
634
634
612
632
622
612
607
628
624
615
603
613
613
613
613
621
616
616
614
625
608
609
632
612
608
607
622
627
603
610
613
626
625
621
603
623
615
614
609
630
609
632
608
613
639
609
614
632
618
621
632
635
608
633
621
632
616
636
632
603
618
616
603
638
602
611
614
631
612
625
613
632
632
609
604
632
610
610
619
612
611
611
632
613
603
610
617
615
630
628
639
623
622
627
630
621
623
613
608
628
621
607
616
625
617
639
612
607
639
618
623
628
622
624
622
603
634
608
627
600
614
621
618
614
615
607
623
611
612
613
607
632
603
615
609
620
612
620
630
611
611
622
615
610
608
617
622
630
628
622
629
626
624
618
610
610
635
619
616
618
614
612
618
611
615
613
604
604
609
639
606
620
603
605
623
620
631
622
617
607
632
627
607
639
626
615
619
609
614
618
621
619
614
625
611
614
627
612
606
636
627
622
612
618
606
614
623
620
610
619
608
605
611
639
609
638
628
626
611
607
639
609
610
604
632
629
611
616
617
620
613
627
605
635
604
620
604
614
617
624
620
616
638
608
623
606
621
625
619
614
630
628
609
617
624
624
626
610
629
616
615
621
614
604
629
612
608
631
621
622
610
604
609
621
604
616
611
617
625
616
617
624
609
607
639
604
622
623
621
608
609
609
629
608
607
617
617
625
616
609
609
620
618
626
629
614
611
613
603
629
623
629
615
617
608
622
609
602
610
630
619
617
620
611
638
620
619
614
609
622
608
622
607
639
605
613
621
605
614
608
627
613
634
615
615
623
608
613
614
606
626
629
611
606
639
629
626
605
618
614
610
608
605
608
608
608
623
636
616
632
607
616
626
609
631
608
611
620
623
614
631
629
631
632
605
639
621
639
618
632
623
631
608
630
624
601
608
609
605
623
624
620
625
611
622
606
617
611
616
629
620
624
603
611
613
611
608
623
633
622
623
604
603
613
632
615
630
616
609
607
609
624
625
613
617
609
608
621
631
606
605
632
611
602
621
605
607
616
614
607
628
628
626
639
625
619
609
631
618
634
620
627
615
632
613
632
619
618
625
614
627
622
632
622
609
622
619
630
615
607
618
627
626
604
624
637
617
639
614
611
615
605
603
616
608
617
614
608
621
626
641
612
608
631
630
607
631
615
605
613
625
608
631
617
627
606
615
629
628
622
609
625
614
613
629
613
607
612
602
608
611
607
620
622
620
620
632
622
617
623
613
616
622
619
615
599
606
606
607
609
615
613
632
605
611
631
632
632
613
607
605
626
624
624
619
629
614
609
629
603
610
606
615
608
622
608
621
608
619
626
610
610
607
616
620
616
636
623
614
613
606
632
616
630
626
611
617
606
603
613
626
617
629
619
602
620
611
605
608
604
618
608
606
607
609
610
631
603
608
613
632
613
608
614
616
610
617
625
622
609
613
602
602
609
628
619
623
612
621
632
614
633
608
634
614
606
611
613
605
610
609
617
608
620
618
636
627
615
634
606
608
609
622
624
606
613
632
614
612
615
612
627
634
614
615
614
613
613
615
620
632
606
639
611
610
603
635
632
621
633
629
614
632
608
624
608
630
612
632
627
620
606
610
623
609
612
606
603
619
609
608
611
628
630
619
615
618
611
613
640
610
635
614
634
606
605
613
623
618
626
626
627
628
617
623
617
625
623
602
624
631
608
619
631
612
623
621
606
624
603
605
622
635
622
604
631
610
606
622
629
623
608
602
632
602
612
635
626
607
616
603
639
630
604
631
603
631
612
614
614
602
630
635
622
609
621
607
607
611
611
617
613
615
613
623
633
612
612
603
620
620
601
623
618
605
626
612
618
605
613
603
605
603
606
615
601
630
604
632
631
600
626
617
626
626
623
627
632
611
618
608
601
611
628
626
605
603
617
625
623
626
614
634
626
614
615
620
610
623
617
637
609
610
613
611
639
613
633
602
618
613
621
609
607
605
626
629
605
628
637
621
620
631
627
609
624
618
610
606
607
634
630
631
603
605
634
613
611
606
605
606
626
628
617
629
614
634
638
614
619
625
613
631
631
611
639
632
625
632
625
635
622
625
626
620
608
618
613
603
607
621
623
613
618
606
607
620
610
625
606
614
626
607
613
617
602
616
604
639
638
609
623
607
604
603
623
622
631
613
630
623
614
632
633
618
625
635
604
606
604
609
634
631
629
618
607
603
634
631
622
607
605
626
632
603
610
615
604
622
614
621
629
621
618
624
602
613
609
617
621
632
611
604
604
617
615
609
625
612
626
625
606
607
621
625
604
614
604
617
628
608
611
611
608
616
605
635
614
610
609
625
620
622
615
609
626
630
633
610
614
609
603
605
618
615
607
613
622
623
634
630
639
603
617
622
607
616
635
633
622
605
620
623
602
620
633
612
623
609
615
616
623
610
623
601
603
606
610
604
609
627
606
625
606
620
621
632
620
618
612
613
614
640
607
629
606
606
632
610
619
621
625
614
634
609
613
604
622
617
619
614
630
640
603
608
603
624
626
605
609
622
624
635
615
629
622
614
629
612
639
617
604
612
628
613
618
617
621
602
619
608
608
612
612
622
625
627
626
606
613
622
606
607
616
617
621
623
626
607
623
626
603
604
610
608
617
617
604
611
614
612
620
622
636
606
607
603
612
621
621
608
610
605
617
632
632
623
623
618
622
623
614
623
615
625
608
603
610
619
608
620
632
623
628
625
622
613
631
619
612
635
621
627
629
637
605
612
629
608
617
618
620
606
609
605
612
618
617
617
633
632
617
614
605
610
613
622
631
609
617
614
607
604
611
628
620
607
613
610
628
625
630
607
621
625
622
615
627
625
614
604
622
621
603
618
608
611
611
605
604
608
605
608
619
609
630
622
625
613
622
631
631
619
623
631
639
633
616
613
615
610
632
619
608
606
613
622
617
631
629
633
634
604
603
630
619
632
623
615
605
626
619
622
617
606
604
628
631
632
617
604
625
609
602
623
607
611
610
605
618
609
613
612
606
630
614
613
625
620
615
600
616
607
631
603
605
635
633
639
622
624
612
619
609
611
606
613
620
632
622
618
637
604
610
634
637
603
631
619
617
613
625
606
620
612
604
621
632
633
605
605
606
615
620
639
623
628
611
613
615
620
608
613
634
618
605
612
632
617
608
609
608
618
627
631
610
636
625
613
614
614
612
635
604
640
611
633
625
609
612
608
615
610
625
633
616
632
623
627
614
610
622
631
615
608
612
636
608
615
621
628
630
631
623
633
619
616
623
605
605
614
606
609
616
626
625
604
624
617
620
630
616
604
622
623
608
603
631
608
631
607
619
623
616
611
607
603
613
632
609
604
617
606
628
605
628
635
607
621
604
610
609
619
614
618
608
607
615
622
604
605
605
639
618
620
632
623
614
610
615
607
624
610
606
607
619
603
617
637
633
613
618
609
615
614
620
610
629
636
610
632
618
617
626
614
639
632
628
612
614
628
627
624
624
635
602
629
608
619
607
632
613
617
609
616
637
615
609
608
639
616
615
639
629
609
619
630
626
631
607
612
607
613
616
610
614
625
609
618
604
609
616
627
606
621
606
622
616
611
611
611
622
608
615
605
625
603
628
635
606
620
614
614
622
621
620
622
604
604
610
610
613
632
613
601
619
617
612
601
609
613
619
610
610
605
610
607
609
610
612
607
625
615
603
602
622
606
605
613
610
613
622
625
609
623
626
610
613
604
606
625
623
636
604
631
630
606
633
612
622
610
624
630
613
622
622
629
625
616
609
634
613
608
637
631
610
613
615
624
625
625
617
639
625
601
604
610
606
612
629
610
619
639
621
635
614
610
611
624
612
610
614
635
629
619
609
614
608
624
620
605
631
631
618
631
605
607
609
627
609
617
619
615
623
605
612
615
625
608
605
622
613
619
602
619
625
625
617
613
620
621
630
634
607
635
619
628
627
619
604
605
611
624
623
617
634
605
626
633
626
630
607
634
623
629
610
611
615
632
623
632
618
630
610
613
634
613
627
619
623
631
613
617
622
618
622
603
625
617
627
611
614
618
609
617
604
632
611
611
606
610
627
614
632
635
611
604
605
607
620
613
610
632
610
610
614
613
625
618
610
611
621
604
611
619
608
610
631
613
633
608
602
614
614
606
606
614
609
618
631
609
605
623
626
631
632
621
606
625
606
618
605
626
610
606
639
605
615
628
617
608
610
619
608
609
610
633
617
607
608
602
623
621
619
609
632
630
608
621
609
612
611
615
629
625
612
619
603
636
617
606
605
612
630
621
635
603
612
612
614
600
603
620
610
623
618
628
628
612
608
607
617
623
619
631
628
618
623
625
620
615
621
609
629
610
625
603
606
600
622
636
640
616
618
612
635
623
622
623
632
609
616
625
604
611
610
606
632
616
636
616
635
601
639
623
633
601
620
608
611
605
609
613
609
618
613
631
606
611
603
617
631
631
607
631
622
616
623
616
610
622
629
617
637
621
627
621
611
622
611
626
613
607
635
632
608
615
607
608
618
608
620
619
604
620
606
629
621
622
613
603
616
632
617
607
606
606
609
617
604
617
611
630
613
629
628
610
609
614
622
624
613
628
630
612
603
623
611
605
605
615
630
608
622
609
613
612
631
610
607
608
613
623
629
622
616
610
602
618
628
607
639
609
611
622
603
626
621
623
635
609
610
601
612
608
608
630
634
619
611
635
626
607
609
603
635
614
617
601
613
615
601
627
629
603
607
603
624
620
626
624
610
613
612
631
613
611
615
609
640
609
614
615
618
610
608
639
611
607
639
626
613
611
605
614
603
632
631
623
628
632
608
611
639
605
631
622
607
619
632
622
609
623
603
623
610
608
609
619
629
614
619
608
615
612
610
605
606
606
634
626
610
619
615
624
635
607
607
635
620
613
617
617
632
626
624
632
619
614
629
604
629
606
613
626
635
627
603
629
631
612
632
622
607
632
623
624
621
606
623
627
615
631
612
610
630
624
619
603
611
606
614
617
619
622
617
609
619
619
612
623
629
634
606
625
616
634
632
613
607
623
615
613
614
613
608
614
618
605
613
621
620
639
629
614
628
605
629
613
607
629
612
634
619
625
613
606
613
630
632
614
620
608
618
609
625
630
615
606
623
606
604
620
613
625
611
620
617
635
614
617
635
627
607
602
616
627
612
630
618
623
605
639
612
604
607
623
627
609
603
602
603
618
638
630
631
639
608
614
633
632
609
622
616
617
605
609
619
626
622
625
605
632
614
614
621
639
617
611
619
624
615
630
608
608
621
611
634
620
637
614
631
604
612
612
631
605
620
631
621
617
620
614
609
611
603
628
618
625
623
621
619
634
613
609
619
615
627
633
614
628
602
613
617
626
603
614
626
607
617
614
619
616
617
619
614
637
627
613
632
611
614
604
615
626
631
627
608
629
617
632
614
629
616
613
610
622
632
610
607
613
622
614
611
605
606
638
616
627
608
624
620
617
621
632
624
626
639
616
610
626
614
606
612
622
627
610
632
612
605
619
629
617
631
602
615
600
613
607
624
610
609
603
639
622
604
616
639
616
617
622
610
613
637
613
631
611
608
603
631
610
635
629
609
627
612
608
617
611
631
631
604
604
607
610
621
612
639
623
617
625
612
622
608
609
613
627
606
603
618
613
627
621
625
609
611
607
601
635
610
608
612
635
620
605
618
613
620
626
610
606
603
622
620
610
613
633
606
624
630
620
617
604
611
611
639
605
623
609
631
614
619
633
610
612
634
632
632
614
613
628
603
628
625
599
617
632
621
617
639
617
614
637
621
606
609
605
626
624
628
630
626
615
611
628
609
638
615
633
609
631
613
610
606
623
619
611
627
617
608
628
623
606
609
610
626
616
620
623
609
616
606
608
632
608
604
600
628
614
639
606
619
610
614
623
630
599
616
626
613
621
616
605
617
606
634
619
629
605
614
603
615
626
637
604
632
629
625
623
605
616
640
614
623
608
617
639
608
617
612
632
619
603
612
603
629
632
627
615
608
612
631
609
631
625
605
632
618
601
625
625
610
627
625
609
624
624
629
604
629
611
608
604
617
612
628
608
624
624
630
609
605
604
621
629
639
608
624
633
619
609
629
631
604
606
622
605
622
629
606
623
609
609
609
614
606
610
629
626
609
622
610
621
631
606
604
611
633
634
603
611
609
621
617
624
614
632
614
609
617
616
609
626
609
617
608
609
609
603
612
623
603
615
626
612
618
628
621
629
624
619
639
605
631
608
609
621
623
610
628
618
632
612
621
619
605
623
623
603
602
615
631
626
620
622
604
630
607
630
626
605
614
623
611
631
612
626
634
634
606
626
621
612
602
634
633
616
606
632
618
623
628
606
608
611
615
620
639
604
629
620
606
611
606
627
621
617
623
620
625
603
622
627
613
639
624
617
606
628
607
621
608
605
606
638
622
612
626
632
602
606
619
627
614
623
633
639
606
629
607
606
611
603
609
621
607
609
629
626
610
623
617
630
627
617
630
619
634
622
625
626
605
623
613
623
632
627
626
605
603
629
611
607
626
608
632
628
620
605
610
633
629
609
617
626
606
635
634
623
629
605
634
606
620
608
622
623
609
626
606
609
605
616
627
611
628
614
631
606
615
628
627
630
613
639
614
614
625
609
612
606
615
608
608
622
630
602
609
630
604
611
625
618
625
615
608
608
614
612
632
623
639
609
622
616
622
609
621
620
631
615
609
613
635
627
635
615
623
631
606
621
603
624
610
632
613
604
610
610
615
616
634
613
605
603
613
610
618
627
631
606
609
629
609
611
604
605
621
614
612
633
628
629
620
639
608
614
608
634
629
614
631
621
628
613
609
609
613
617
607
604
616
619
620
601
602
613
614
619
607
609
632
626
637
608
618
605
632
613
608
613
604
604
625
603
615
614
617
609
635
609
632
625
604
602
606
604
614
608
622
605
608
632
609
609
607
604
617
639
606
632
621
621
614
618
611
606
630
613
624
611
633
613
608
603
626
601
602
600
604
612
622
640
622
610
606
606
636
605
607
608
639
627
611
616
608
616
617
616
608
631
617
615
608
622
614
626
605
625
632
604
605
617
606
611
608
612
620
609
612
603
606
606
610
635
603
605
618
608
604
608
619
630
612
609
632
631
610
630
617
608
631
614
621
636
613
620
620
623
631
623
634
614
615
624
631
626
615
608
603
631
621
639
605
633
617
616
605
608
618
623
613
609
604
628
614
625
610
628
632
626
609
616
635
627
620
602
607
624
639
624
613
639
601
610
631
621
604
629
626
619
606
614
617
640
624
622
619
606
630
611
606
608
620
611
615
610
633
610
602
608
631
623
612
615
609
630
620
615
630
616
615
613
605
611
621
616
608
631
609
620
610
606
617
638
615
608
632
628
628
616
623
610
617
623
625
603
624
611
621
609
606
639
617
609
623
608
605
611
620
602
615
624
608
627
615
639
622
628
636
613
603
614
610
627
631
616
618
625
626
617
630
630
606
619
633
608
609
633
623
640
630
626
614
606
625
627
618
614
624
636
619
607
609
607
614
604
615
609
623
613
631
603
626
609
616
608
619
631
608
619
606
603
614
607
633
611
635
607
624
633
615
622
616
640
631
625
630
605
608
634
640
613
632
639
611
614
619
617
634
626
617
626
605
634
603
617
605
608
614
603
624
613
612
608
609
613
610
609
632
628
624
610
604
609
608
629
614
623
614
612
603
621
601
632
622
604
603
616
626
608
605
615
611
606
617
605
630
631
603
609
602
627
610
617
626
615
606
618
616
631
607
622
609
621
619
626
640
618
609
607
606
623
614
634
632
614
631
601
614
614
632
611
622
615
607
619
605
612
619
610
628
639
603
610
631
606
631
604
607
608
635
608
626
625
614
614
621
612
630
615
609
623
614
603
605
621
628
604
626
609
634
613
609
609
632
630
624
608
617
627
622
609
631
611
601
619
605
605
611
622
607
612
614
631
616
606
604
635
609
607
613
614
610
611
607
612
613
615
628
616
622
622
633
628
622
611
623
615
607
613
632
631
616
614
639
602
632
617
621
610
607
606
617
617
634
612
630
623
638
615
610
613
616
631
639
629
623
626
612
613
626
605
603
604
616
628
613
635
603
607
616
629
625
605
635
602
630
608
616
620
608
611
620
617
621
608
613
625
611
623
604
605
608
607
617
613
639
613
615
616
620
605
604
617
603
608
638
611
631
622
608
623
610
617
624
607
616
614
611
608
602
635
621
620
633
606
610
613
604
611
613
622
620
614
640
602
624
615
614
639
639
609
608
604
610
622
613
617
617
616
615
614
620
621
629
629
604
628
618
617
619
626
619
603
626
630
603
618
613
604
624
625
632
615
620
626
623
605
635
616
634
609
604
616
607
620
609
616
621
631
613
622
617
605
634
630
600
610
616
618
622
599
617
601
617
618
639
627
613
608
610
609
624
628
606
614
619
605
612
605
616
605
614
637
627
617
625
637
614
612
617
616
603
633
613
615
638
628
614
631
613
622
614
613
631
612
630
609
623
605
620
614
619
623
613
631
612
631
610
609
615
608
631
605
603
603
615
607
616
604
628
601
613
610
615
611
606
625
616
628
612
611
604
623
630
625
610
631
604
609
632
608
631
605
626
623
605
623
607
618
605
603
641
611
605
629
622
626
622
605
614
624
632
613
612
609
618
633
630
631
622
624
605
607
614
614
613
602
639
619
609
613
625
632
604
632
628
608
605
606
640
605
623
609
623
613
614
613
605
617
619
631
613
614
629
632
617
622
623
613
630
613
622
605
604
639
628
602
614
608
617
625
611
635
631
626
622
628
602
609
629
606
614
623
630
616
631
613
625
620
635
633
615
609
619
604
617
619
610
609
619
625
614
639
621
619
626
604
610
613
608
607
601
613
631
613
626
623
619
639
617
635
610
608
632
609
627
608
617
633
622
629
614
632
618
622
639
605
606
623
624
623
623
639
634
621
623
627
610
622
621
634
623
602
632
625
618
605
605
605
605
635
615
603
630
619
626
626
615
618
606
625
630
629
630
605
622
631
608
619
603
605
638
633
618
606
604
628
622
613
622
612
637
635
629
602
623
621
621
609
632
623
629
614
613
609
615
605
622
619
607
617
608
625
609
607
604
632
603
607
632
624
619
625
631
607
612
627
614
614
631
612
626
622
618
602
619
609
619
616
614
608
613
641
612
629
610
635
616
618
621
625
608
618
611
613
622
603
630
629
614
619
637
620
602
617
613
611
608
626
617
622
621
630
633
603
634
623
621
608
604
635
626
632
611
613
613
630
623
607
616
608
631
623
609
618
620
612
614
637
634
623
601
617
609
610
618
603
636
608
632
614
607
608
617
610
630
627
613
613
605
613
614
613
613
629
624
611
608
619
608
622
626
604
611
632
629
615
623
609
607
639
610
615
603
620
609
604
628
614
632
612
614
611
618
604
618
623
619
637
608
618
608
627
617
615
605
631
635
627
610
639
608
604
613
618
608
620
626
629
632
607
627
636
621
632
634
608
634
609
639
628
626
629
612
620
615
633
614
615
632
612
605
611
619
631
616
612
614
604
609
611
608
610
620
639
602
617
631
631
613
603
626
609
612
632
626
617
619
611
631
614
616
622
609
639
617
604
604
609
618
601
622
618
617
615
604
615
611
619
602
606
602
603
631
608
604
614
625
602
616
630
616
605
628
634
631
617
611
616
628
607
618
611
603
616
636
622
619
606
639
607
612
612
609
606
631
616
614
617
639
613
611
617
610
617
604
614
609
634
636
630
632
610
628
624
635
616
632
639
607
618
613
623
623
604
603
605
618
605
604
610
616
620
605
607
602
614
601
625
639
613
613
627
631
615
615
618
630
631
635
606
635
615
609
609
611
631
615
625
603
640
604
626
613
621
606
629
635
632
629
612
623
608
604
607
635
622
623
615
602
607
609
618
635
604
604
618
615
614
629
613
635
613
626
604
610
615
628
601
600
626
634
608
632
623
610
636
626
616
619
620
635
612
635
619
621
613
603
616
617
607
620
629
627
623
620
608
607
609
614
608
610
603
626
622
625
637
609
610
623
609
618
620
602
614
613
608
629
602
603
601
622
614
615
621
619
621
611
612
615
619
639
619
608
606
619
614
615
634
626
625
636
612
608
618
621
635
620
614
630
616
621
621
614
629
610
613
622
611
616
627
622
609
629
615
628
624
601
603
629
605
608
613
612
632
609
609
625
624
612
604
601
626
623
606
608
635
617
628
635
613
624
603
610
623
639
619
617
608
632
627
601
614
606
634
608
605
605
618
619
633
608
605
600
627
610
632
623
614
639
626
621
621
631
604
608
639
602
602
615
628
630
609
618
625
606
634
633
631
624
630
621
606
605
617
639
621
637
619
627
608
615
632
610
613
607
619
619
632
618
612
613
615
625
610
605
616
607
603
606
604
609
613
609
632
627
631
603
619
630
609
609
612
626
635
609
604
623
632
605
614
628
626
628
614
611
614
608
629
604
602
621
610
606
625
631
613
623
620
609
632
630
623
622
624
610
640
600
602
615
619
609
629
623
621
608
615
607
617
622
619
632
639
612
639
607
618
611
611
623
602
615
632
610
628
639
618
603
616
599
629
611
610
623
613
604
620
614
608
629
623
608
615
604
631
602
617
613
618
602
611
609
625
607
620
612
606
617
619
603
617
610
612
603
621
606
606
613
628
629
633
609
620
632
613
629
629
607
630
614
603
632
610
601
617
603
606
622
626
613
617
622
626
614
636
618
604
615
609
609
632
617
608
604
632
621
614
617
609
608
628
615
626
608
615
623
619
630
612
620
625
621
603
627
601
609
631
617
619
605
605
610
631
634
609
619
621
634
624
608
630
639
604
614
612
629
639
617
604
611
632
626
630
618
625
625
613
612
604
615
623
603
609
610
624
617
629
631
610
608
613
607
617
626
624
611
613
618
611
621
628
639
633
611
624
629
616
608
617
624
638
618
611
613
608
623
609
629
612
616
607
614
605
612
621
631
631
601
637
625
613
606
611
607
629
640
628
639
607
617
627
610
625
608
614
617
610
623
617
617
634
601
612
608
639
631
613
639
623
613
625
608
640
604
627
603
623
608
611
608
610
622
610
619
614
614
639
622
631
613
616
624
604
622
620
618
613
607
615
621
629
632
619
632
632
606
603
611
601
607
620
607
629
615
620
622
614
639
617
634
614
620
630
616
608
613
635
616
611
606
632
627
615
626
612
609
628
603
606
609
605
608
613
617
618
613
618
632
621
615
615
603
618
632
623
610
619
623
625
619
626
607
624
635
620
604
630
626
640
612
639
614
603
613
603
612
639
609
623
607
606
609
633
606
628
603
605
603
607
616
613
625
611
629
629
636
613
609
612
612
633
608
623
631
634
612
634
626
622
605
615
625
606
626
627
639
635
623
610
631
613
611
605
611
615
617
606
633
614
618
610
629
623
610
632
602
613
613
609
604
601
619
623
603
619
615
631
614
614
621
617
610
603
607
602
606
626
639
630
622
605
621
603
629
608
607
630
630
614
632
624
622
605
600
612
634
612
605
606
618
611
604
606
613
632
639
609
636
624
619
608
617
610
625
613
617
609
626
606
614
604
616
625
634
613
612
630
605
630
613
625
603
612
606
638
612
611
613
624
627
635
608
604
616
609
622
623
607
602
618
614
611
636
621
606
623
610
622
614
603
619
627
609
640
618
639
634
610
607
634
625
604
635
610
607
616
637
616
618
622
615
635
612
619
605
622
622
613
605
617
618
632
625
607
609
639
606
602
626
623
623
617
607
612
631
606
630
618
613
608
623
603
615
609
607
630
606
615
633
605
635
607
605
608
614
629
604
621
635
609
619
613
616
624
622
613
619
639
609
599
616
613
627
620
615
620
625
632
605
626
628
624
622
636
604
618
639
605
639
623
620
634
626
627
625
606
617
608
619
612
617
614
628
609
611
614
635
628
621
625
600
626
617
621
610
630
626
616
639
635
611
627
617
604
622
604
617
626
619
604
635
613
636
621
635
639
605
617
609
605
619
630
604
622
610
607
616
629
605
613
613
625
608
618
609
608
611
608
605
621
626
617
637
633
604
614
614
614
602
610
632
602
631
636
612
608
610
625
623
629
612
610
620
622
622
629
607
627
613
612
616
624
617
607
634
626
623
604
609
614
621
627
636
610
631
619
624
612
624
632
629
628
613
617
605
617
627
612
610
614
618
603
604
614
622
635
630
603
631
608
631
619
614
611
603
617
612
613
616
639
618
612
624
619
623
605
636
610
604
630
610
629
629
621
611
626
610
606
635
626
603
629
639
608
613
611
610
619
621
611
618
619
629
632
612
612
614
610
606
620
618
627
626
611
625
632
639
619
614
608
626
609
616
622
613
613
608
625
620
605
625
619
608
616
632
606
618
635
639
619
622
615
622
612
610
618
619
603
612
613
623
629
616
630
606
616
618
605
623
617
632
619
609
614
617
631
608
639
613
615
632
606
636
622
629
613
603
626
622
608
614
608
617
625
607
610
605
606
624
605
610
626
624
608
617
615
614
622
613
609
602
608
607
606
625
603
606
611
614
622
610
620
609
634
609
610
613
605
619
608
622
630
611
613
635
613
624
606
618
632
607
629
614
608
626
621
610
603
605
620
630
632
618
612
612
627
613
605
625
628
608
609
634
612
632
615
624
617
617
634
604
623
612
605
611
624
613
621
639
614
609
631
601
612
611
617
602
613
639
605
628
614
607
604
617
612
625
621
613
609
608
612
613
608
608
609
612
627
607
623
628
619
617
609
626
601
613
620
611
606
610
610
613
632
620
604
618
621
605
609
604
619
621
624
615
604
619
617
631
604
605
621
635
617
615
637
616
635
611
629
627
615
639
617
609
631
631
603
626
615
617
612
618
611
630
607
614
614
626
610
619
614
607
631
606
603
613
639
621
641
610
629
602
618
637
627
626
608
608
617
612
617
603
611
613
609
604
630
608
629
630
614
617
607
629
604
639
626
606
619
603
621
613
614
635
609
620
618
621
608
605
623
603
610
607
616
605
604
611
602
611
617
620
612
604
624
631
607
622
625
608
639
632
619
611
601
623
619
636
614
631
621
635
629
617
622
609
616
604
609
612
608
618
630
620
609
602
623
639
629
618
609
617
623
605
622
619
621
631
632
611
612
605
613
614
602
612
605
621
600
615
624
637
622
604
620
619
626
618
619
611
610
620
615
629
616
629
617
608
639
620
614
619
628
636
605
613
613
608
609
622
616
616
607
623
616
610
610
628
610
627
616
627
623
616
603
639
613
605
630
611
609
608
624
626
623
639
606
612
604
622
609
606
636
620
606
625
632
611
614
618
624
610
635
636
622
630
623
629
606
609
631
614
628
617
636
626
601
624
613
612
622
604
610
623
616
618
608
621
628
609
605
632
623
607
606
635
635
635
606
607
623
616
604
615
609
603
632
639
608
623
617
608
613
612
626
623
610
603
623
609
637
630
623
608
611
622
626
633
604
625
611
629
614
626
604
618
614
632
620
624
614
604
624
621
613
618
605
605
608
620
618
611
623
615
622
608
616
626
630
613
634
613
631
628
608
617
604
606
623
621
613
616
614
639
620
611
627
611
616
618
613
612
611
620
604
610
639
626
619
614
608
639
614
604
606
614
611
618
615
621
610
621
620
612
611
622
618
639
631
626
632
610
625
619
607
609
628
608
611
606
610
607
604
607
604
603
626
625
608
623
613
621
621
627
626
608
615
606
610
610
606
624
628
608
610
621
630
617
613
599
618
613
619
614
614
604
623
607
613
623
612
609
636
629
609
603
620
622
604
611
629
610
613
608
614
620
613
631
611
629
626
623
614
625
623
622
613
622
600
631
614
618
603
632
617
608
639
613
607
612
605
628
616
619
615
625
635
620
609
609
631
626
623
603
612
634
625
626
620
609
623
610
615
607
631
622
611
602
616
623
619
625
614
622
623
621
607
599
614
608
612
632
628
611
633
622
635
631
623
623
626
633
612
611
622
607
603
626
622
618
628
612
636
625
606
616
607
616
635
615
638
632
611
619
610
625
610
621
610
604
623
609
625
609
621
631
617
605
626
614
606
625
621
606
636
633
616
615
608
604
614
614
609
617
635
606
628
604
626
623
620
639
607
603
630
628
632
632
615
606
622
619
609
603
606
634
612
619
609
627
612
630
608
606
618
614
640
609
602
623
615
613
618
621
618
606
612
628
631
607
639
613
628
604
632
607
606
608
639
613
616
608
639
614
622
632
618
615
617
623
617
625
625
623
612
609
630
608
615
604
618
611
613
604
606
617
631
616
623
620
631
613
609
639
620
634
610
619
625
609
632
613
612
614
606
618
628
602
618
611
607
620
605
621
617
610
606
612
605
632
623
613
608
631
632
603
605
603
610
608
612
608
613
605
625
633
619
604
632
630
620
615
625
621
619
623
618
609
634
607
614
626
612
625
614
623
628
614
606
618
630
603
612
609
609
602
613
604
639
612
620
607
620
606
618
603
608
606
606
620
622
631
620
622
619
610
617
637
639
603
619
623
634
607
607
611
614
615
624
608
614
639
639
608
628
615
628
608
604
614
609
616
615
607
608
611
620
617
612
609
631
618
609
603
639
610
606
619
613
607
610
612
622
611
615
631
613
618
613
604
635
611
601
626
603
620
604
610
612
606
613
613
605
615
629
611
611
614
618
614
634
611
605
610
615
636
605
614
605
621
604
620
606
629
617
619
622
629
609
605
612
609
623
613
640
620
614
623
624
630
604
632
605
610
615
616
608
614
608
620
628
618
614
628
635
614
618
637
610
605
614
607
603
609
622
611
617
625
602
616
618
603
633
603
624
610
626
615
625
625
638
619
609
618
635
605
611
603
615
617
606
634
606
632
636
628
610
608
612
633
604
611
605
637
634
628
624
611
618
609
619
602
639
639
617
631
611
613
605
614
613
612
616
609
611
639
625
607
608
604
611
639
641
612
627
619
622
606
607
623
631
613
636
612
612
612
608
631
635
603
609
608
618
614
622
620
631
635
616
614
636
629
616
614
636
613
617
623
618
611
617
617
627
634
622
621
612
611
625
613
613
617
613
612
628
608
614
606
625
610
607
606
631
631
612
615
614
639
616
619
613
630
616
622
609
625
613
603
614
606
614
619
615
617
623
613
620
634
632
616
618
611
609
620
603
616
604
618
601
608
601
614
619
602
623
624
631
605
614
605
615
620
606
602
611
623
607
605
622
639
619
625
616
609
607
616
607
634
609
628
635
625
624
611
606
620
639
627
614
624
624
624
605
612
628
608
623
632
627
626
628
613
622
617
614
629
614
619
600
629
615
603
617
623
605
631
601
623
632
612
620
606
628
627
604
632
625
613
632
628
612
622
611
629
612
632
619
620
618
625
602
620
616
610
631
608
617
623
602
599
605
610
620
609
623
624
607
605
614
614
612
611
621
609
623
615
613
608
611
624
616
605
631
624
612
604
608
623
635
628
629
612
639
632
608
608
608
611
634
633
613
614
611
610
633
610
628
632
619
617
624
605
622
611
623
605
632
621
609
624
632
622
625
608
615
616
615
617
613
614
618
603
628
620
622
616
622
616
635
629
613
607
609
609
618
619
607
615
632
621
622
623
624
620
622
610
639
629
623
618
617
615
604
622
616
607
613
606
609
634
609
612
620
619
635
607
618
617
612
623
617
639
626
606
634
611
633
623
610
608
630
623
610
606
625
633
609
628
632
603
613
609
610
610
610
622
602
613
603
606
618
616
608
606
599
613
612
639
619
624
616
609
631
614
606
614
619
618
613
640
608
620
633
625
617
622
621
611
610
629
631
610
611
630
620
610
613
631
629
611
632
622
614
613
639
614
620
620
619
617
611
632
624
619
604
603
614
623
635
632
607
620
608
624
620
613
609
623
617
628
614
637
621
602
618
608
610
638
608
629
624
609
614
631
614
622
625
604
602
603
611
631
603
639
610
604
626
624
610
629
611
623
616
635
613
611
609
629
602
613
619
614
632
618
618
610
625
604
617
606
617
622
618
606
620
601
602
619
632
626
608
632
608
605
626
621
617
617
618
626
626
632
607
629
627
625
621
610
611
620
599
606
614
608
612
637
625
628
639
615
613
614
612
611
607
614
621
615
626
612
631
611
613
615
608
621
613
623
632
622
639
619
602
636
614
618
631
620
631
605
621
628
617
610
613
607
616
623
629
639
632
630
622
608
639
623
622
606
630
603
623
614
635
612
630
614
602
631
632
599
610
617
615
624
606
623
615
626
634
610
611
632
630
639
613
622
615
627
615
625
619
611
630
611
625
627
609
617
608
627
624
609
616
619
605
616
603
632
625
617
631
610
613
616
614
604
619
629
607
607
614
624
634
623
631
608
618
618
625
612
631
617
608
623
603
613
609
615
606
626
632
606
623
609
613
607
632
631
636
619
604
604
612
608
623
602
632
622
626
623
616
620
607
615
605
623
621
612
610
631
612
623
603
611
623
617
634
617
614
633
614
623
631
630
606
610
621
612
608
628
618
609
617
617
623
628
619
612
605
626
616
604
608
613
620
613
630
626
603
608
619
629
604
610
615
612
633
625
626
620
622
621
612
607
639
629
635
607
630
611
619
620
611
629
621
617
618
639
608
624
625
616
619
617
620
629
640
623
606
627
622
607
603
613
628
625
631
634
632
617
611
612
623
613
615
606
603
617
613
639
626
613
614
609
622
634
623
628
613
613
631
622
614
614
629
615
605
616
630
619
602
626
619
613
623
622
606
616
609
619
615
629
625
614
605
613
608
614
615
631
613
634
621
626
617
609
615
635
614
631
613
621
619
617
618
607
615
605
615
629
624
618
626
606
617
604
621
629
609
626
612
634
612
605
610
632
629
606
614
611
628
612
630
613
617
613
615
617
622
608
636
610
610
613
620
612
627
634
609
607
611
634
611
626
609
619
615
624
620
608
621
634
632
624
609
616
630
630
624
609
626
609
620
607
627
619
624
617
631
619
635
623
623
617
602
611
605
604
629
613
617
632
613
610
613
610
606
617
609
609
633
607
615
621
611
616
623
617
621
628
618
613
608
630
619
631
639
626
623
601
607
631
618
608
608
604
610
604
623
626
639
627
624
605
618
632
606
623
608
608
623
617
612
607
613
602
626
614
630
607
627
617
633
608
621
623
616
622
640
614
609
616
607
633
623
629
616
606
626
605
616
615
611
613
639
604
607
624
618
610
603
605
613
622
614
609
607
607
614
607
631
608
625
634
611
630
626
612
632
632
623
616
602
625
630
608
634
608
601
628
636
630
633
614
613
605
612
639
616
607
606
630
604
608
614
620
610
604
634
608
604
621
615
619
617
622
623
614
603
621
614
639
614
635
616
620
605
626
603
604
608
615
625
622
600
619
611
621
606
629
622
607
614
610
621
639
606
630
638
624
611
623
613
622
611
619
606
610
630
627
610
604
609
631
632
630
633
613
611
614
625
608
603
604
631
633
619
632
630
614
626
607
608
610
620
622
623
617
622
632
616
630
621
628
611
608
608
614
602
639
609
637
616
618
608
616
614
618
628
623
604
608
605
604
617
622
625
603
609
637
622
614
617
625
609
623
631
617
602
614
617
633
606
611
600
612
633
627
611
616
607
603
631
603
617
616
603
614
634
607
633
610
599
618
612
620
617
612
609
615
620
618
634
627
626
631
614
637
614
614
632
621
605
604
616
623
612
617
625
612
624
609
619
619
603
639
602
608
624
607
602
601
611
620
631
623
612
611
631
632
622
635
609
612
608
615
611
620
632
604
633
623
611
609
620
615
624
615
611
612
603
611
629
617
614
615
637
622
613
602
617
607
606
603
613
611
620
617
620
632
618
625
619
612
609
640
639
617
617
610
619
621
622
623
620
610
613
635
608
609
630
632
610
623
608
617
632
614
622
614
639
629
617
625
628
603
609
615
637
608
611
612
640
622
639
616
629
620
610
609
634
614
625
639
620
611
616
630
612
614
614
619
605
620
607
615
627
639
614
602
611
611
613
622
600
615
611
627
630
627
615
607
610
605
625
620
617
606
617
607
630
632
604
620
632
635
615
640
617
635
607
624
615
607
607
629
613
625
612
625
609
608
607
604
604
636
622
604
626
604
631
612
610
625
608
615
631
605
631
612
609
622
626
608
633
615
619
630
631
603
639
619
614
635
615
631
622
612
615
619
614
610
615
619
610
619
619
616
604
636
613
604
625
611
617
610
625
602
635
633
607
631
629
606
614
608
613
614
601
616
634
610
637
620
618
634
612
622
608
612
606
618
618
608
605
614
617
608
606
608
604
619
613
615
618
614
633
635
635
622
610
604
607
632
604
614
617
619
607
617
614
632
621
604
606
604
625
605
633
602
624
622
633
604
614
603
636
606
608
603
623
613
602
617
614
616
615
612
620
626
617
615
611
635
621
600
614
616
625
624
636
639
611
632
629
612
604
604
612
605
614
607
609
625
609
617
610
610
622
601
613
615
621
617
608
600
639
613
603
615
609
603
622
614
605
609
604
633
612
619
614
610
614
622
616
610
631
629
632
622
606
632
634
602
619
609
633
623
637
610
636
620
633
625
605
616
620
634
604
618
619
623
611
626
632
617
635
613
639
614
616
622
618
632
608
624
610
622
632
622
628
607
604
621
608
607
620
605
614
613
631
606
617
631
621
610
607
634
632
639
617
606
634
630
621
631
617
612
603
613
639
623
612
631
621
630
634
631
616
639
611
626
604
617
625
602
626
629
613
611
628
623
619
609
623
609
639
635
620
603
602
620
622
633
639
608
632
617
617
631
621
603
605
604
611
606
604
621
629
618
628
619
611
607
623
611
608
632
613
618
623
627
617
608
628
604
611
605
608
620
618
633
619
635
614
602
601
623
610
620
608
606
610
606
635
606
610
616
631
631
628
625
604
606
610
626
618
618
626
620
608
628
632
613
635
603
622
607
608
629
623
606
625
604
612
614
610
630
618
615
618
610
615
614
605
606
631
616
610
611
601
634
627
622
606
606
639
614
619
613
599
631
618
613
632
622
609
619
617
613
629
611
619
609
608
624
623
632
608
612
617
604
626
625
605
626
627
610
602
625
629
634
629
608
622
618
614
613
614
629
629
602
604
631
608
613
604
632
611
623
619
608
611
623
609
606
636
628
611
616
636
617
609
618
628
639
639
603
610
603
610
632
620
616
605
609
625
601
620
605
604
613
618
605
615
619
624
619
630
624
611
608
616
623
614
611
621
604
614
631
606
633
621
617
631
609
624
600
614
618
632
608
630
605
603
614
609
615
614
629
603
614
612
620
633
619
617
623
632
608
632
622
617
635
606
611
608
617
618
633
625
614
631
614
620
618
610
620
622
616
615
609
623
617
608
608
628
611
622
632
637
610
609
619
608
631
615
627
613
606
613
634
622
621
618
622
612
630
617
635
635
612
615
631
614
623
625
602
613
605
622
614
622
617
615
602
635
628
610
613
608
618
629
630
611
621
621
606
615
603
605
611
616
616
600
604
601
630
612
610
622
610
615
604
623
610
608
632
610
608
632
614
609
604
618
613
605
618
611
607
612
621
607
627
610
617
623
609
614
620
619
625
617
608
623
634
605
611
612
620
606
610
614
623
605
612
625
611
614
632
613
607
621
627
611
606
613
613
613
629
632
604
615
620
628
630
605
634
614
611
613
612
613
613
612
626
620
605
607
626
609
635
634
620
620
627
623
608
615
619
610
609
611
632
626
612
635
611
623
632
625
614
629
640
622
634
635
629
616
614
626
622
635
605
627
605
626
632
630
621
603
622
634
616
613
615
631
629
611
617
619
620
616
639
604
640
631
616
629
615
612
627
616
617
610
623
613
616
621
618
631
605
631
606
629
602
609
616
611
620
619
634
629
605
621
620
610
613
629
615
607
624
635
604
623
608
631
629
631
602
611
607
610
614
635
618
614
618
623
605
617
635
625
607
604
623
606
607
617
611
632
607
635
618
618
613
612
613
629
631
618
632
625
615
603
622
604
608
612
615
617
606
623
602
604
612
618
605
613
622
606
619
632
625
632
609
617
622
609
622
626
623
618
606
603
632
624
634
622
608
620
617
611
613
605
611
616
625
620
612
611
623
623
616
632
629
624
631
601
603
610
616
607
608
614
616
610
611
632
603
628
620
622
629
635
639
602
616
606
605
622
609
605
630
604
627
625
603
602
619
615
635
631
608
605
621
635
623
634
627
637
626
622
636
613
635
613
619
627
625
615
606
617
612
613
616
619
629
605
630
623
602
618
616
625
632
609
617
617
608
607
630
635
608
635
632
613
628
614
615
609
622
614
631
608
619
605
617
607
629
617
633
631
612
622
625
627
622
608
638
611
614
603
612
631
618
640
607
618
622
601
636
620
621
630
634
634
627
612
624
601
630
637
611
605
605
603
614
608
620
615
611
634
634
608
639
603
624
625
602
603
626
630
616
606
604
604
628
609
612
618
635
607
604
623
623
627
631
618
619
603
617
617
625
616
602
609
608
625
612
610
606
609
618
614
606
602
623
629
610
603
622
608
631
613
607
629
625
614
617
615
607
631
624
637
619
617
616
623
623
628
603
623
620
611
604
617
618
622
622
616
619
602
616
606
610
613
629
607
627
624
609
604
632
605
626
632
618
621
610
631
626
632
607
607
624
608
635
609
606
610
611
618
621
626
614
626
625
609
632
607
617
619
636
623
610
635
616
602
608
608
626
632
622
616
607
639
614
621
603
610
621
616
612
620
623
639
616
625
607
613
607
629
640
605
620
618
606
621
635
633
606
601
613
630
602
612
635
607
613
616
607
623
609
607
605
605
622
611
618
625
630
623
609
632
619
621
609
615
604
607
631
602
621
622
610
626
608
607
616
635
606
628
634
604
611
612
618
614
611
608
607
612
623
620
612
619
620
628
617
611
608
629
615
609
628
605
630
607
613
606
624
606
623
614
617
609
640
631
630
606
634
629
630
608
635
638
615
604
608
626
609
631
604
614
614
617
617
612
609
605
608
619
630
619
624
611
603
618
607
617
619
629
616
613
605
639
622
627
602
612
609
620
607
621
611
608
621
626
617
633
623
610
622
629
619
626
605
632
606
614
620
613
612
613
612
628
615
614
617
623
607
615
607
631
634
612
626
606
631
626
604
613
617
627
617
619
611
621
635
617
605
610
623
610
614
619
624
634
611
609
623
614
623
613
602
616
623
606
624
606
613
615
625
614
610
627
621
611
617
639
619
613
606
630
613
617
610
612
619
604
620
615
612
621
622
626
631
626
602
603
622
636
612
623
602
605
605
610
628
625
606
639
634
608
623
614
607
610
629
624
621
612
617
626
630
609
609
620
632
623
623
605
610
613
626
626
619
625
626
624
621
611
632
623
627
625
633
616
631
625
612
621
622
605
619
609
605
614
639
619
621
608
629
614
615
622
617
616
608
630
636
631
604
619
618
625
629
621
635
615
613
602
616
617
623
622
617
622
634
614
621
623
632
603
608
615
624
607
608
627
614
599
632
632
605
628
625
605
602
608
639
613
606
606
610
605
612
611
609
606
616
610
635
615
615
615
617
620
611
610
624
631
614
610
613
620
611
611
607
615
611
616
639
630
603
639
631
613
637
605
630
619
622
604
634
621
603
611
617
612
608
629
628
622
627
625
603
603
609
614
615
607
608
620
614
639
616
607
626
611
610
609
613
615
604
634
606
617
639
635
617
626
610
621
614
606
613
617
639
607
624
624
616
608
617
603
622
618
640
602
611
621
621
616
629
627
609
613
621
616
614
629
608
626
601
608
625
609
613
621
635
628
626
629
612
605
606
627
631
618
609
613
639
628
612
607
622
603
622
615
616
635
625
625
619
632
606
619
609
626
623
620
624
631
632
618
611
639
617
635
616
622
618
615
606
608
630
635
607
630
616
608
606
608
625
614
629
613
622
635
610
638
627
609
613
603
608
609
604
603
610
623
625
613
611
608
613
610
632
603
615
603
622
612
604
613
614
615
634
621
628
606
608
617
618
615
608
626
625
625
639
614
610
620
603
613
611
624
639
639
611
617
635
621
616
603
609
601
610
626
620
629
617
621
606
623
628
630
627
614
622
614
622
628
609
629
635
615
625
628
635
620
608
632
612
629
633
607
620
627
599
612
615
605
631
605
626
620
619
624
619
613
627
615
610
632
628
607
610
615
609
605
618
622
628
632
625
608
626
608
633
608
623
604
620
630
602
636
605
610
602
628
604
621
622
607
637
611
608
640
615
627
605
625
626
626
621
605
637
623
622
631
603
606
612
612
601
604
604
613
603
633
628
620
623
618
611
629
630
635
628
610
608
606
622
601
604
624
637
607
615
613
605
615
605
607
613
620
605
609
634
617
619
613
613
608
615
608
618
625
610
623
620
602
614
601
626
617
608
639
620
613
631
607
640
604
631
608
611
632
622
605
603
613
626
608
629
606
602
632
606
605
614
610
631
611
607
610
635
612
616
617
614
610
625
626
607
608
604
619
600
620
635
611
613
614
632
617
622
608
629
630
605
612
620
604
622
639
633
632
604
614
623
635
620
604
619
601
609
629
611
629
608
639
632
616
606
617
626
610
614
616
613
609
632
606
603
631
604
639
612
629
605
609
638
618
613
639
609
612
626
611
619
620
614
607
622
616
610
605
610
632
609
605
611
633
639
615
614
610
619
628
624
627
606
609
619
632
605
619
625
629
615
619
605
626
617
627
626
626
608
616
616
609
604
606
604
617
603
623
616
615
625
620
614
619
622
632
617
633
629
612
613
605
605
618
617
613
600
616
632
630
609
623
616
637
606
606
613
618
614
614
632
635
604
608
635
612
614
625
639
620
613
637
623
621
611
638
625
622
632
632
605
627
611
610
614
606
617
610
606
621
613
625
610
634
622
604
607
625
608
611
612
616
604
610
622
631
616
613
626
612
611
619
606
608
618
634
605
602
616
631
614
608
640
608
622
613
609
615
617
616
627
621
617
623
622
635
624
639
629
615
623
610
601
636
605
608
622
609
631
628
615
606
613
616
608
623
622
610
606
617
613
607
629
624
606
612
626
623
609
622
615
606
610
609
603
604
603
633
616
619
605
608
607
606
625
611
614
612
621
609
618
634
610
634
609
603
625
617
617
620
606
614
603
615
610
609
609
607
611
636
610
632
620
603
634
609
605
632
621
609
634
630
608
609
613
635
613
603
625
628
614
607
604
631
613
623
628
613
628
608
609
631
600
622
625
606
621
606
618
614
631
601
610
621
614
613
618
607
612
628
608
631
624
609
614
619
614
629
608
622
609
617
622
609
603
604
610
613
614
609
609
606
637
624
608
636
635
610
609
617
620
623
600
614
622
608
605
614
617
620
608
623
629
622
636
621
611
614
605
603
631
611
623
607
626
614
615
632
609
616
605
613
608
613
625
614
609
618
610
616
614
620
630
616
618
639
624
605
613
610
606
632
606
627
607
621
620
609
623
625
614
618
617
613
610
634
611
608
626
620
612
613
608
622
633
617
622
625
631
615
615
607
601
624
632
616
637
618
619
612
611
617
630
632
626
605
609
619
620
625
623
623
615
632
613
613
609
614
611
640
629
634
614
623
635
630
622
626
610
639
613
630
628
610
629
639
612
631
631
621
606
611
619
610
629
614
617
618
628
631
631
623
621
605
621
632
609
622
608
616
611
619
611
604
607
618
605
634
607
617
625
611
613
604
609
616
611
616
612
611
633
628
611
617
606
618
614
608
606
607
612
630
611
614
604
613
626
603
626
614
635
634
606
630
635
624
606
608
617
626
626
620
627
606
611
612
631
623
602
621
623
626
618
626
607
608
615
621
610
605
610
627
604
637
609
604
612
629
608
614
615
623
627
629
627
615
609
617
618
616
613
619
601
615
634
628
602
611
610
622
624
608
627
611
603
621
606
624
612
613
615
603
606
628
612
605
608
635
611
608
639
612
632
611
613
605
617
640
626
609
608
605
622
614
621
628
609
609
636
617
609
617
604
610
624
610
608
626
618
625
603
610
610
617
622
611
629
609
612
619
612
616
601
618
630
610
610
605
639
616
632
634
618
607
614
617
612
639
618
627
632
633
622
620
636
624
623
608
615
629
617
609
606
626
632
605
606
618
604
622
617
613
612
606
606
605
606
613
631
610
602
624
614
612
615
610
623
629
605
629
608
610
635
616
609
633
610
618
618
608
637
608
605
604
607
614
609
618
631
603
630
619
611
626
609
634
640
621
607
612
624
606
633
618
606
620
614
626
607
625
605
618
638
616
627
606
631
607
608
615
608
627
623
640
619
602
608
618
631
618
605
613
601
617
613
610
610
615
614
627
618
603
625
639
612
626
619
602
617
630
626
613
631
616
624
613
611
611
607
633
613
611
610
608
610
627
631
614
609
623
639
616
607
618
627
622
607
614
608
606
614
617
617
615
611
610
605
622
622
626
636
620
614
603
630
621
610
634
610
634
625
613
609
631
634
610
614
629
605
610
610
635
609
614
603
616
625
606
623
614
613
628
615
614
611
606
608
634
620
610
632
621
608
602
614
612
605
607
604
611
609
606
634
617
604
625
607
603
621
639
623
616
617
634
631
601
605
619
612
627
612
628
612
606
606
625
632
632
611
632
628
622
612
628
603
619
617
610
602
623
639
612
601
624
617
616
632
635
631
639
609
605
625
630
607
623
635
621
610
614
614
621
601
631
639
610
626
612
633
608
620
627
622
614
610
625
623
622
604
612
617
599
622
613
617
629
620
618
616
622
602
608
618
617
631
619
612
604
639
623
631
609
608
635
622
613
615
628
621
617
615
607
634
618
614
621
613
604
613
614
607
603
605
614
607
619
611
608
608
619
624
621
605
605
601
625
610
608
610
621
605
606
608
632
605
631
602
603
618
616
619
630
622
605
620
604
605
627
621
627
615
636
612
616
606
614
616
630
623
609
604
625
609
608
613
633
609
627
613
628
600
604
607
610
603
606
623
600
622
629
617
608
611
620
603
623
604
614
618
621
621
626
606
603
622
610
611
633
625
607
622
604
613
611
605
631
627
615
604
615
631
612
623
625
618
633
632
610
629
634
606
622
615
613
613
637
621
614
632
626
610
601
611
629
609
611
625
615
612
601
634
632
619
612
617
618
605
633
612
600
618
620
616
606
615
606
618
621
623
632
608
606
608
607
626
626
603
607
623
603
604
639
608
606
604
608
607
617
616
625
622
629
614
603
615
614
612
617
608
618
614
615
602
608
632
623
634
637
632
625
607
625
620
606
635
628
604
618
608
624
612
623
608
613
620
619
639
612
604
632
615
623
605
617
613
608
621
635
620
628
625
626
615
609
616
609
606
603
614
613
625
607
622
632
617
614
614
631
622
635
609
604
626
639
614
613
611
613
633
620
624
637
620
623
614
606
616
626
617
624
612
611
604
633
622
606
614
632
613
629
617
612
616
605
619
613
621
619
608
616
616
608
630
631
624
621
615
620
611
639
623
611
609
622
621
620
623
602
639
627
635
603
622
609
608
607
612
605
625
613
607
623
623
614
635
634
612
606
620
615
610
620
605
613
631
615
621
604
612
622
612
625
625
639
604
631
613
626
614
625
605
606
605
614
608
632
632
610
637
624
618
618
607
625
611
615
622
631
620
629
606
613
624
610
639
608
607
610
604
599
613
628
617
623
613
615
614
633
612
616
623
639
622
612
609
601
614
633
615
606
610
614
626
609
624
613
617
603
621
627
603
611
616
609
611
631
619
603
608
605
603
609
619
628
623
639
615
623
621
613
616
613
611
623
617
605
603
612
607
606
615
628
630
635
626
613
629
616
634
639
610
608
601
608
625
606
612
603
621
615
641
636
631
610
609
600
627
609
605
625
607
635
639
612
610
603
607
624
631
626
621
620
632
632
628
631
614
614
614
630
622
630
610
606
606
608
609
630
611
609
617
610
616
607
610
626
614
626
636
615
620
640
607
637
618
633
615
631
632
618
632
612
610
623
617
608
631
604
627
640
620
628
605
612
625
620
620
639
618
627
607
622
629
614
618
629
626
610
618
623
631
619
631
600
614
635
619
632
617
631
635
639
621
640
613
613
620
625
616
614
607
608
625
626
629
613
612
605
616
616
613
620
603
608
610
610
607
622
620
618
632
625
614
619
608
613
629
603
625
617
622
631
609
607
611
609
599
606
603
619
603
617
614
628
623
602
605
609
605
630
607
617
629
603
635
620
616
616
607
604
613
598
610
614
606
611
616
618
612
629
606
629
622
615
614
617
607
630
629
608
624
608
603
609
612
639
625
629
615
614
632
634
641
613
629
614
617
608
604
617
604
626
608
619
617
613
617
619
614
622
602
604
624
614
625
606
639
621
628
618
605
606
630
625
613
608
632
619
620
613
604
616
625
608
610
615
610
608
611
617
620
603
602
603
605
608
619
612
623
619
619
615
615
608
617
607
609
627
605
621
608
602
612
627
618
606
621
614
610
613
620
622
616
604
624
625
625
611
603
622
614
609
607
612
602
620
632
602
633
613
620
603
607
621
615
632
639
603
626
634
616
637
636
620
606
627
607
603
629
602
622
628
604
608
617
606
628
626
612
603
635
635
608
629
614
606
620
633
608
621
627
606
615
607
618
616
609
614
632
605
607
603
613
623
635
617
625
631
636
619
607
614
609
639
609
602
620
611
617
613
630
626
611
623
606
603
617
620
631
620
614
611
628
614
625
603
620
599
628
616
639
609
625
616
625
631
608
620
608
618
608
606
610
634
618
628
617
621
616
620
615
605
615
610
603
620
614
620
603
617
621
614
628
623
610
623
634
605
603
615
612
606
629
615
614
606
619
626
614
608
622
606
616
605
605
609
622
634
616
617
637
609
611
606
607
604
640
616
617
613
615
613
603
612
619
634
601
622
639
629
634
606
627
606
628
603
622
616
623
639
618
627
616
619
631
632
606
618
609
603
604
613
615
607
632
620
614
617
608
632
608
619
631
632
614
627
617
625
619
604
632
629
621
608
618
615
622
613
613
603
614
634
612
640
632
610
621
632
621
605
629
614
610
620
613
605
605
616
612
614
613
613
624
608
609
603
615
626
603
602
611
615
618
611
620
619
608
625
606
615
606
626
629
627
619
619
617
612
610
623
632
632
629
625
606
614
613
621
625
614
603
623
612
611
617
608
613
614
621
626
620
605
633
634
633
606
610
618
619
617
624
604
615
618
621
621
609
635
616
614
626
606
606
631
607
610
609
605
620
617
639
610
606
624
603
612
602
634
605
631
615
616
616
624
618
607
620
604
622
627
640
623
626
625
614
623
614
626
606
601
610
629
621
620
609
628
618
630
630
625
610
605
605
625
629
613
618
602
613
630
624
637
624
603
615
603
639
609
611
637
637
609
609
639
611
607
626
623
629
628
635
630
608
613
609
619
633
606
613
613
608
609
620
621
609
606
634
626
621
607
602
632
624
627
635
640
603
613
605
605
616
628
613
616
634
632
611
632
606
631
613
617
610
633
605
621
630
605
630
636
634
609
638
616
638
602
614
627
609
627
616
606
634
608
622
606
615
622
608
618
611
620
614
614
602
617
609
632
614
605
610
606
617
606
632
608
640
618
629
605
633
622
612
620
623
608
617
607
639
627
608
632
630
618
628
610
633
629
609
626
606
632
605
624
617
626
607
620
626
616
612
631
636
608
624
637
603
632
625
639
607
604
639
609
612
603
617
610
613
618
620
612
604
616
608
603
633
613
609
606
634
603
609
603
632
623
622
611
628
625
625
625
605
614
629
611
611
620
627
623
607
607
604
615
629
607
621
611
607
624
611
616
613
639
616
623
621
626
622
602
613
608
617
620
607
618
616
632
621
629
608
607
602
639
618
616
614
620
618
613
619
630
613
634
606
608
614
607
608
630
617
626
630
614
600
619
631
625
626
623
608
613
620
632
622
632
607
617
613
603
623
611
613
607
610
608
613
627
630
631
613
610
629
636
626
611
611
607
632
603
633
604
623
608
623
608
626
621
614
610
623
639
610
617
623
607
606
633
615
630
634
632
624
625
612
626
614
624
605
606
612
617
607
606
617
626
620
624
609
603
631
618
609
607
604
602
627
611
606
603
617
623
603
617
635
603
611
609
628
617
626
623
608
609
626
617
612
607
622
605
637
614
606
632
608
608
627
623
617
623
608
604
622
605
625
604
607
605
621
606
625
611
613
630
607
601
606
615
625
616
615
606
623
604
626
629
637
613
623
632
613
610
639
612
614
624
616
613
612
609
613
612
606
617
624
629
624
611
604
614
636
620
622
627
639
625
621
608
612
632
617
602
634
616
614
605
606
632
621
606
632
604
616
623
604
608
605
639
606
639
639
610
611
634
638
613
617
605
612
607
602
620
617
608
609
622
608
627
609
623
639
611
631
609
617
623
630
611
627
613
628
605
627
609
616
627
623
639
614
635
606
631
639
619
624
621
617
615
603
633
605
629
613
620
633
612
619
626
625
607
632
608
634
605
605
608
620
604
606
613
610
605
616
617
610
624
623
615
610
614
614
622
616
604
635
626
634
631
625
612
635
620
617
612
613
632
605
623
618
603
613
602
609
630
608
624
615
608
613
631
608
612
631
603
600
608
602
622
614
622
608
607
607
613
611
614
625
620
606
616
608
610
625
619
601
618
639
622
619
604
609
618
613
612
608
626
614
612
631
605
604
617
633
631
605
629
630
629
613
603
627
621
607
639
622
613
607
620
605
612
635
620
608
617
630
609
605
609
636
627
610
613
614
613
613
612
633
609
626
615
603
608
614
639
615
606
612
614
613
607
631
606
603
606
626
620
621
609
607
623
630
615
623
603
603
608
626
602
613
604
639
622
618
620
637
638
627
606
613
631
605
603
617
608
631
628
611
616
612
605
603
621
610
630
617
606
632
626
611
607
612
613
636
626
622
608
631
621
623
616
632
623
617
609
607
617
611
630
610
632
606
614
611
629
640
623
618
631
611
606
619
630
608
634
614
611
609
619
611
632
607
617
616
602
606
616
606
632
628
604
638
606
621
609
614
639
608
631
611
605
616
632
617
619
599
619
620
607
611
614
634
639
635
619
622
604
636
631
615
631
609
614
624
618
606
622
620
603
617
601
610
634
630
604
605
620
606
613
612
632
621
639
608
605
619
607
625
622
611
609
609
632
613
624
622
609
623
613
627
615
624
615
617
630
606
637
616
635
604
620
609
633
635
609
614
618
611
607
610
610
632
617
609
606
631
615
619
608
611
604
629
622
618
619
622
621
613
617
639
621
603
636
633
632
620
611
632
611
613
626
623
622
613
612
615
634
613
615
620
623
632
619
628
604
612
618
603
624
606
614
609
608
632
618
608
606
612
610
606
614
622
612
606
631
635
625
614
626
613
616
611
607
602
607
605
605
614
605
620
610
630
604
614
630
609
604
612
602
610
615
611
613
629
624
615
619
623
624
636
639
626
605
617
619
611
623
613
605
639
609
604
631
605
625
618
629
611
611
603
634
621
614
615
630
603
605
620
608
630
612
612
618
608
607
614
613
624
614
630
611
613
602
620
626
616
628
631
602
607
616
607
604
602
611
616
602
602
602
610
604
606
613
615
639
632
614
604
628
625
620
605
620
613
615
616
637
635
617
606
615
631
625
606
617
633
616
622
631
613
611
615
619
624
634
604
617
639
616
603
614
614
610
619
617
611
604
610
622
631
599
603
615
614
605
622
633
618
620
628
610
609
606
628
628
639
639
605
605
626
603
610
610
635
605
606
622
614
620
630
613
603
614
619
621
607
608
631
611
609
602
610
630
611
609
619
610
603
609
610
630
620
615
608
612
620
624
617
604
623
630
613
616
612
606
639
603
639
617
619
601
610
630
623
613
606
634
613
606
615
607
639
606
613
617
620
605
610
611
603
621
622
628
631
639
622
613
627
614
607
622
613
614
630
617
632
626
611
605
617
629
635
614
626
605
632
632
632
616
614
635
618
609
606
632
610
636
619
616
613
608
632
636
605
607
613
613
619
621
629
609
631
639
635
611
632
615
620
601
613
627
614
612
623
632
605
609
607
638
618
635
632
624
606
608
616
608
600
622
620
604
625
611
608
622
639
620
605
617
634
627
607
599
615
607
629
606
614
606
628
608
618
618
618
633
609
609
618
627
631
633
628
635
604
620
620
614
617
609
612
621
634
603
623
625
608
636
609
636
610
611
614
623
610
625
620
617
623
623
634
626
638
603
613
608
625
607
620
631
626
626
610
606
631
626
631
609
621
606
633
621
635
623
611
606
607
604
629
632
618
615
623
622
609
631
630
611
611
619
614
607
639
612
603
635
601
628
625
604
615
623
612
614
632
616
605
612
603
612
614
616
604
631
619
617
631
614
633
632
606
618
622
604
604
631
622
630
610
603
630
614
621
635
626
629
617
608
639
622
639
611
602
621
639
626
619
609
612
614
613
618
612
623
623
614
610
606
621
605
616
623
622
633
614
622
623
600
628
608
604
616
621
628
618
628
632
605
612
602
631
608
620
622
634
639
614
612
631
607
602
624
606
614
613
617
604
606
611
602
608
614
619
626
629
605
614
617
617
622
605
634
621
626
608
605
623
621
617
622
601
615
616
620
615
617
615
603
614
605
603
598
629
618
605
629
605
635
602
612
620
611
632
639
609
605
611
615
610
617
609
617
632
603
632
604
616
639
632
616
603
607
619
606
609
635
611
628
635
615
612
614
627
622
622
622
622
609
607
611
618
629
624
601
604
611
611
611
613
623
609
607
610
619
606
602
614
634
619
609
632
609
609
630
632
610
608
606
609
629
613
612
619
609
619
610
613
609
613
612
609
603
622
630
623
615
611
625
614
623
635
609
618
614
635
614
631
610
625
610
626
600
603
603
603
610
632
626
620
616
617
609
608
638
608
618
632
628
609
625
631
606
619
610
623
627
609
623
627
615
632
602
630
622
623
611
631
618
603
634
611
603
618
613
619
611
611
622
609
634
615
606
607
605
605
617
605
622
625
633
603
625
603
603
605
605
602
608
605
614
635
623
632
624
631
619
639
613
617
623
632
614
611
623
605
627
639
623
603
630
609
609
600
630
604
629
636
639
601
634
606
603
632
604
604
623
622
611
602
617
612
629
615
617
626
605
635
626
634
620
633
635
636
621
611
614
617
624
614
613
619
626
622
613
603
603
621
610
606
609
625
617
612
620
609
603
606
619
631
632
632
623
608
627
615
608
613
632
635
618
611
606
635
619
625
635
613
614
627
613
639
629
607
605
629
616
610
603
631
614
618
605
609
615
626
631
623
632
605
630
615
625
633
623
605
632
621
621
615
605
611
619
637
620
617
613
612
618
615
634
605
617
617
624
617
628
611
619
602
617
610
623
620
609
608
613
631
611
604
624
629
611
614
619
616
619
612
612
635
634
627
637
617
618
625
615
607
635
629
621
639
617
620
606
604
614
609
614
632
635
617
604
612
639
617
626
601
631
615
632
617
615
626
617
639
603
611
610
606
631
612
610
610
624
627
605
639
608
609
624
629
634
617
617
629
609
609
620
625
625
617
607
635
617
616
617
610
610
611
606
611
613
617
604
606
624
618
620
626
619
605
633
619
622
624
609
607
609
617
608
639
623
608
623
634
631
610
635
620
611
622
639
605
635
613
616
605
634
621
623
622
620
610
618
618
617
613
609
623
620
614
622
617
609
612
617
620
633
635
608
613
627
625
615
621
612
640
629
612
610
611
626
625
631
608
605
617
616
611
639
619
606
612
623
627
610
620
623
602
601
639
606
622
609
628
630
604
619
623
607
614
612
614
629
607
603
612
613
619
621
619
608
611
627
631
625
617
623
600
623
623
625
638
609
623
621
611
604
608
603
619
623
604
621
614
619
633
617
618
632
610
608
603
608
611
601
617
637
625
627
624
609
622
606
632
618
625
610
624
628
631
614
629
640
630
610
623
635
609
618
640
604
622
636
613
605
623
619
615
616
612
614
626
621
604
627
608
627
612
610
618
628
634
622
606
601
605
609
615
633
603
614
634
615
612
614
622
614
626
612
612
629
631
628
614
639
617
631
614
610
623
618
608
627
621
613
612
617
611
623
627
628
614
614
619
622
605
614
619
629
610
623
610
605
622
613
611
614
602
635
611
635
632
621
614
638
610
617
617
600
634
617
603
639
607
613
613
608
625
607
614
622
609
612
608
631
605
620
619
615
606
619
621
609
628
613
607
612
611
622
604
623
635
635
611
610
619
609
625
636
602
606
620
612
638
605
626
612
617
626
613
608
604
607
602
626
635
629
620
612
617
611
615
633
612
639
632
607
613
620
625
629
603
615
618
603
630
609
632
615
614
626
611
603
608
609
614
609
621
631
607
606
604
626
605
616
612
613
614
630
623
622
620
635
631
625
607
626
603
608
623
604
617
604
620
604
616
620
624
605
611
639
627
611
639
610
637
612
639
623
636
615
622
633
617
622
606
616
606
626
610
627
609
612
620
615
635
607
617
614
630
604
627
630
616
613
609
614
602
621
632
639
603
610
617
612
618
623
635
636
613
616
633
605
626
608
613
603
614
623
613
617
630
639
623
627
616
630
605
613
622
621
612
607
621
639
623
614
610
611
640
620
630
618
617
617
609
605
607
610
609
616
617
603
603
617
606
607
625
611
612
614
613
621
623
615
618
603
635
606
629
619
605
630
610
627
635
613
632
614
633
609
604
625
623
635
621
617
609
616
614
614
611
615
617
603
613
639
601
623
613
640
630
634
626
615
610
615
637
608
632
636
639
617
605
608
604
623
630
625
609
639
632
606
603
621
628
617
608
620
617
610
623
616
617
628
620
622
610
613
626
638
607
614
617
622
624
627
611
626
634
609
630
631
626
603
630
631
629
615
607
618
613
602
615
624
617
615
626
620
620
625
624
613
639
617
607
603
603
617
622
623
622
610
615
615
626
624
611
606
607
628
600
628
623
629
622
613
638
620
605
611
603
622
628
611
615
605
627
632
626
626
602
613
614
620
610
608
609
635
608
612
605
618
639
609
631
620
617
601
638
611
623
605
618
609
604
628
606
608
626
631
624
617
618
608
607
603
625
622
622
603
619
631
620
606
613
606
630
603
618
631
604
611
629
631
614
631
629
616
631
611
617
604
611
621
635
623
611
603
609
608
620
622
615
614
606
609
614
611
615
602
611
614
603
633
613
615
628
616
630
633
604
626
606
614
613
611
608
612
628
630
622
621
600
623
616
618
617
634
631
631
613
599
628
626
628
609
634
605
631
619
608
631
632
640
614
613
629
613
620
636
616
603
608
619
611
611
606
610
629
622
620
614
626
628
605
618
622
639
613
608
622
636
629
606
603
618
631
614
621
630
604
622
639
606
608
611
629
622
607
626
628
610
627
607
603
617
606
612
633
620
614
604
632
610
610
636
609
623
623
618
619
633
624
625
616
607
619
611
629
613
610
637
610
610
620
612
614
607
628
618
621
612
620
613
622
635
627
609
620
629
635
628
625
614
639
631
635
627
639
634
606
639
619
622
629
605
623
614
612
619
617
622
624
607
617
629
610
629
613
622
610
631
614
631
613
611
628
620
626
605
606
624
603
605
631
615
621
619
614
610
613
612
627
614
607
605
619
620
605
610
614
608
613
614
617
639
614
611
614
608
605
612
618
618
622
614
621
634
606
630
621
609
624
603
607
608
603
615
602
614
617
625
621
617
610
617
603
602
610
623
619
617
635
620
628
615
637
620
619
603
623
605
607
623
625
610
623
620
610
604
618
623
611
616
609
605
623
605
635
624
610
609
620
610
608
611
609
628
607
621
611
625
614
612
618
608
602
607
627
631
628
624
619
627
639
614
616
613
609
617
602
612
626
609
617
613
609
622
626
618
599
632
601
608
621
627
614
601
613
631
632
629
613
608
611
604
605
615
610
617
636
625
620
608
630
621
617
617
617
617
614
615
604
623
626
613
615
602
613
618
617
609
621
639
609
621
614
621
609
603
615
612
615
639
629
614
619
632
623
612
614
613
604
614
631
607
608
623
612
613
605
600
604
611
603
608
616
609
634
633
616
618
615
612
633
631
639
635
606
629
612
616
614
626
627
632
634
604
609
626
633
606
632
608
608
612
629
621
621
608
616
617
608
626
635
617
609
637
637
635
613
605
606
623
605
612
620
603
613
607
620
612
618
618
608
614
616
632
611
632
617
603
617
609
633
618
626
625
608
628
617
613
609
621
637
617
624
616
622
610
635
615
611
606
618
603
620
624
628
610
604
628
615
613
625
610
613
623
604
607
614
606
623
622
604
612
633
636
638
610
607
607
607
632
625
604
615
603
602
616
627
601
629
618
631
631
618
613
614
604
614
632
631
616
625
603
639
630
608
617
623
603
625
608
627
627
623
609
617
625
603
616
619
616
635
619
606
627
613
607
617
614
632
604
634
631
619
618
616
606
626
628
610
616
603
604
603
612
628
605
609
635
610
628
625
623
611
606
608
623
637
613
630
615
611
617
604
630
605
623
632
622
612
623
613
605
607
611
619
620
614
623
607
604
617
613
612
608
607
617
611
612
632
606
628
614
631
609
631
630
620
631
610
614
604
609
611
606
618
623
608
634
608
628
612
616
619
633
617
638
607
620
611
605
617
608
614
624
609
612
619
619
614
631
604
626
621
606
603
607
616
617
608
625
614
630
608
618
623
607
613
617
611
612
618
601
619
636
622
623
624
631
617
637
618
609
607
632
621
612
631
632
613
621
610
639
610
609
613
605
625
629
617
614
608
612
627
616
616
604
605
617
604
631
621
605
624
606
632
609
623
623
634
604
604
628
632
625
606
614
623
638
632
608
607
633
618
617
607
611
614
609
620
608
609
617
613
611
606
605
609
620
604
607
631
618
628
638
623
632
624
623
626
617
614
639
619
616
605
614
619
610
630
619
620
626
626
612
622
606
620
607
625
603
622
618
614
632
603
632
623
620
610
614
601
623
626
620
613
603
632
632
634
637
618
636
627
625
603
630
625
617
603
614
621
631
611
635
618
624
613
602
619
630
602
634
603
621
610
626
609
612
632
631
611
609
613
603
625
623
621
633
614
631
629
613
605
613
634
620
603
632
630
604
620
610
606
618
636
622
607
632
612
615
622
621
631
625
604
618
631
622
605
619
614
625
613
602
605
618
605
602
603
616
605
614
603
604
622
615
612
618
629
619
607
610
606
619
620
612
617
631
612
616
608
613
605
603
631
625
616
606
625
610
619
623
626
632
609
609
613
613
614
615
627
613
626
618
626
613
611
612
606
604
608
624
605
606
636
631
629
634
621
632
625
608
616
622
611
610
624
616
617
604
621
606
626
613
605
612
617
606
601
618
619
617
627
623
622
602
613
624
612
625
620
619
616
611
624
628
617
629
623
610
602
626
607
612
614
616
623
604
617
605
622
616
612
633
639
618
615
614
625
608
622
637
616
624
610
614
614
632
612
613
613
630
622
626
606
605
610
613
613
608
608
617
631
607
616
609
620
618
627
629
613
629
621
621
620
614
607
608
635
619
626
606
609
628
612
629
632
611
630
629
636
631
634
629
607
631
611
615
618
614
614
612
635
617
625
633
603
622
603
624
613
616
611
603
630
631
617
620
612
610
640
639
615
617
630
628
610
619
603
622
625
623
609
604
639
622
616
636
621
624
633
631
623
615
615
621
599
607
624
639
609
620
631
617
601
622
625
626
614
623
613
626
621
601
625
608
617
613
610
631
626
613
609
635
617
618
630
624
639
612
619
619
622
617
619
610
607
613
615
620
605
631
634
629
603
627
621
632
626
614
619
609
641
603
606
621
633
627
619
603
619
606
630
608
604
609
615
611
622
603
602
613
633
629
607
613
613
604
632
600
606
639
620
613
606
607
622
625
622
611
614
631
635
606
638
623
607
610
633
639
639
633
607
601
604
610
601
610
607
618
631
609
622
609
623
609
604
623
622
625
603
612
632
628
638
609
628
607
633
607
628
620
610
609
612
628
619
625
618
628
617
603
617
620
621
605
635
603
640
621
620
627
622
621
605
623
608
630
629
625
605
623
627
605
609
629
630
605
636
610
622
607
605
616
604
639
613
634
607
603
629
634
628
614
622
622
611
613
613
627
622
636
635
616
608
613
609
608
604
616
618
627
611
623
610
607
618
612
624
634
627
619
604
608
611
614
604
606
609
614
639
625
614
620
607
638
627
610
609
629
606
604
621
606
613
631
639
632
620
618
609
622
603
609
608
621
639
614
607
621
614
613
604
611
623
612
621
635
605
612
609
630
609
635
616
607
610
614
602
625
614
606
614
635
609
615
610
623
623
614
612
639
623
615
623
621
639
612
626
613
614
610
609
602
605
615
639
623
623
626
626
614
604
608
615
622
629
632
622
624
611
622
614
633
604
609
613
627
607
609
624
609
623
613
622
607
631
618
612
627
605
605
610
633
623
617
627
630
608
632
624
630
624
626
630
619
607
613
619
622
623
632
613
621
602
607
623
611
632
610
607
622
604
606
605
612
634
605
617
606
609
640
626
623
610
609
632
640
608
607
627
622
608
610
604
609
615
609
617
613
610
603
627
619
613
613
605
614
603
608
634
607
616
616
613
616
609
609
607
614
620
632
608
634
602
602
617
617
632
627
617
614
614
620
627
630
620
639
626
634
631
605
621
631
599
631
615
602
616
631
621
611
611
611
610
610
624
608
639
617
619
613
629
614
616
629
609
614
613
639
623
623
617
632
622
627
619
622
629
625
615
620
629
640
614
613
623
619
606
610
631
608
606
605
607
613
633
599
618
609
612
630
624
618
617
628
617
632
622
627
621
605
628
632
638
615
608
605
626
617
623
601
611
606
632
632
613
606
640
624
619
604
617
613
622
623
610
632
619
628
611
620
627
638
630
627
635
608
631
614
611
624
617
603
632
614
635
610
610
635
623
612
606
605
626
629
611
635
620
606
615
623
605
610
639
606
619
625
625
641
606
630
633
609
606
636
628
611
611
629
604
611
610
613
604
606
635
633
622
609
615
612
629
628
612
627
615
613
614
623
603
617
604
606
603
619
609
609
629
616
626
608
607
608
631
606
604
607
633
626
615
613
601
617
620
613
607
615
617
626
623
607
609
613
621
623
605
626
602
639
631
636
612
632
622
617
608
622
626
615
637
622
628
613
634
610
631
626
602
614
601
628
609
629
611
602
606
609
607
614
639
610
640
625
622
603
613
627
603
613
633
609
615
639
607
612
628
631
614
623
613
604
621
609
627
631
612
609
615
624
620
605
608
605
603
605
623
618
615
611
612
619
617
622
612
631
636
610
613
621
606
601
612
608
610
627
637
601
618
616
613
613
613
614
622
615
632
622
606
605
616
606
629
620
626
606
628
611
626
614
603
611
610
619
614
608
626
603
607
608
614
617
625
611
609
626
614
629
628
617
613
619
603
626
612
625
634
613
629
620
599
621
615
626
603
613
619
629
627
622
632
603
616
604
618
612
622
606
626
616
613
610
622
619
617
614
620
624
605
625
618
614
604
608
618
612
616
621
612
610
616
610
629
620
610
612
617
617
620
615
614
605
613
631
628
612
613
615
611
613
607
607
610
624
610
609
635
632
623
626
632
616
617
606
623
614
638
626
628
616
639
617
623
609
611
617
619
632
617
625
630
631
623
614
619
613
629
623
610
608
605
611
610
615
613
616
610
619
630
633
628
619
602
627
610
634
619
602
602
609
633
609
615
624
606
620
620
611
622
615
607
603
616
618
613
607
617
610
614
605
629
604
623
608
610
631
603
614
614
610
631
613
613
620
617
614
602
615
605
602
633
628
616
627
605
623
620
606
628
623
622
626
632
607
619
604
631
625
634
602
624
605
621
621
612
625
631
605
610
634
613
639
636
624
628
614
614
608
634
629
604
613
622
632
624
614
606
607
602
608
615
624
632
605
616
634
629
617
617
629
609
634
617
608
622
626
608
618
639
610
619
626
625
622
603
621
627
630
611
626
631
613
626
623
629
611
611
603
608
612
619
611
608
605
615
618
630
620
606
612
613
623
617
636
626
610
641
613
623
631
635
614
610
609
618
627
631
607
608
602
603
610
632
620
631
605
611
606
612
608
619
615
611
625
614
604
606
607
606
604
611
639
614
612
621
613
625
610
615
604
627
610
609
609
625
611
628
634
624
618
608
621
609
628
623
623
629
617
607
610
616
627
603
612
614
610
607
630
621
604
613
617
614
620
634
622
608
632
635
627
627
613
621
619
638
607
613
609
612
611
609
601
613
623
611
607
622
628
625
607
617
631
634
621
640
634
618
624
604
625
611
626
620
606
632
630
611
603
607
615
608
637
632
623
608
621
616
606
604
607
623
628
629
613
622
617
617
608
615
623
604
614
629
636
635
623
612
625
632
602
605
606
640
639
619
628
621
630
631
610
635
623
611
612
627
617
622
613
633
616
602
613
631
609
609
631
614
603
625
639
615
604
609
608
631
601
620
604
623
614
639
630
616
636
613
607
618
629
602
608
613
631
616
622
620
622
616
620
640
629
613
610
639
635
613
610
641
611
610
629
614
605
617
639
639
625
612
622
610
617
604
616
630
612
625
624
625
623
613
623
605
628
617
610
639
610
632
622
611
610
614
603
618
610
629
611
618
629
618
626
631
614
605
613
639
624
627
606
615
605
621
611
619
628
621
609
605
605
614
608
622
607
624
605
604
621
615
609
631
617
623
603
631
608
625
623
619
615
603
639
634
606
625
606
633
606
609
611
632
615
606
610
613
603
612
612
612
603
637
616
619
614
617
639
603
621
621
613
612
626
611
607
603
605
619
611
620
637
603
609
622
613
606
606
605
602
602
608
610
613
630
632
614
619
603
627
617
614
609
617
622
621
616
632
639
610
630
608
605
627
619
609
608
637
621
609
609
634
607
607
616
616
615
632
609
606
610
613
612
623
617
605
622
625
622
612
617
615
611
625
609
625
613
619
623
620
623
629
624
618
610
609
606
629
627
626
610
613
612
635
622
615
614
611
615
631
608
606
613
640
607
613
604
607
605
613
626
605
608
630
612
613
614
613
617
606
610
619
629
618
609
599
619
603
613
629
620
602
614
634
611
630
625
605
612
618
606
617
608
619
617
617
606
604
628
627
609
632
617
604
604
611
617
605
617
615
606
626
609
608
603
638
603
618
624
622
604
605
614
614
604
624
625
626
630
610
616
612
614
603
634
605
626
605
606
620
608
613
624
639
610
639
613
613
617
610
623
603
621
612
610
607
611
616
639
634
629
612
606
605
602
631
630
629
609
635
604
608
614
616
614
604
605
605
607
609
619
629
610
606
639
637
602
620
608
632
609
606
622
611
604
630
627
610
605
609
638
605
629
618
619
624
630
615
605
635
622
618
616
612
625
626
635
619
609
614
610
623
630
631
608
612
607
614
611
632
611
617
630
619
611
622
624
624
608
625
602
626
606
623
609
635
610
617
623
606
631
605
606
608
626
612
618
629
618
622
613
611
617
610
604
623
608
612
626
629
621
614
616
614
611
619
622
619
614
602
609
632
618
615
632
613
638
626
607
621
638
606
622
629
617
610
621
634
612
616
634
622
609
626
631
602
608
606
607
625
608
608
610
601
614
613
622
625
623
616
634
617
604
610
603
614
640
641
621
604
605
614
639
629
611
619
626
631
610
623
626
609
603
614
628
611
612
623
635
620
635
614
610
634
619
613
625
610
623
611
609
625
627
634
623
623
617
623
616
624
631
634
631
613
611
609
607
611
630
634
607
610
638
619
613
609
604
622
616
604
611
617
639
616
615
623
601
614
629
639
632
610
623
626
630
614
627
617
602
626
603
606
619
606
603
604
602
606
626
606
610
609
612
630
605
639
621
618
605
609
615
616
601
602
615
613
634
622
634
612
615
639
608
618
615
619
615
631
605
614
631
635
617
614
613
614
605
631
619
620
633
639
604
635
623
609
625
631
626
626
623
607
602
603
623
606
626
630
626
611
631
629
627
607
632
607
632
618
601
625
612
620
611
630
639
632
619
610
620
619
626
640
607
607
611
624
603
624
615
606
622
636
630
617
608
603
618
610
619
621
621
616
624
608
632
609
619
613
607
635
607
637
639
640
606
613
619
606
602
611
624
613
603
628
604
622
632
636
610
622
607
611
625
634
606
623
618
611
614
614
627
605
620
614
631
611
631
604
622
612
610
606
638
618
636
614
639
606
618
604
629
632
612
630
604
611
613
622
606
610
604
612
624
622
622
622
621
606
623
610
614
625
626
621
619
616
623
615
615
621
615
630
611
619
624
607
623
619
614
612
615
622
631
610
618
608
614
632
627
615
606
620
611
608
621
620
624
609
613
612
627
614
609
613
604
609
623
605
605
610
609
617
616
614
618
608
629
615
624
619
635
631
604
619
623
618
618
633
623
618
609
609
625
610
623
621
615
621
633
614
612
616
602
613
617
632
617
607
622
627
629
612
615
618
617
610
617
605
623
609
617
631
616
632
604
632
617
613
604
602
608
617
612
631
603
639
624
616
614
619
610
631
623
619
618
616
618
611
611
617
608
639
620
604
616
621
618
630
631
631
627
628
624
626
614
619
618
617
612
619
620
611
624
633
613
615
619
610
606
619
607
613
619
610
615
604
620
630
615
634
602
616
610
619
630
611
615
618
608
603
622
629
602
615
617
631
610
618
630
619
604
629
605
616
599
625
624
607
611
632
609
629
619
606
614
608
610
605
610
606
620
626
601
607
608
608
634
630
612
629
627
608
615
609
623
609
613
608
614
623
622
624
627
630
623
624
611
615
608
618
616
615
626
619
630
612
617
629
617
612
638
634
604
621
629
639
613
619
612
622
631
609
607
617
619
631
613
603
609
621
634
612
636
619
618
612
607
606
632
631
610
624
610
609
622
611
610
606
629
622
617
634
634
625
605
628
620
608
632
623
627
623
621
613
629
639
615
608
625
599
627
616
635
603
606
624
614
630
639
606
620
617
622
611
613
614
605
626
616
613
616
639
608
632
609
629
613
608
629
637
625
619
608
618
623
614
637
613
614
607
608
612
639
613
604
629
607
630
636
609
611
629
620
621
611
632
628
611
639
630
632
636
608
605
639
618
609
605
605
632
608
616
611
614
602
632
608
634
627
608
607
622
618
604
608
605
618
612
609
604
632
611
636
608
623
601
623
613
606
632
603
609
635
608
613
629
619
607
611
613
625
628
606
601
624
614
624
610
606
605
609
605
639
617
639
609
631
616
604
616
630
609
613
638
606
619
618
611
608
613
635
618
620
629
617
622
606
607
620
612
605
611
606
628
612
620
619
638
601
633
623
614
619
616
632
633
614
635
609
607
611
622
617
607
615
637
620
631
621
623
632
637
622
613
617
608
630
631
630
631
609
632
615
624
629
610
603
606
622
619
604
620
635
601
609
624
612
623
621
603
612
613
617
606
635
600
612
634
617
614
609
630
617
630
617
605
608
614
608
630
612
639
623
634
614
609
613
619
606
617
634
607
603
607
622
623
618
607
618
612
626
616
613
633
619
606
616
639
614
623
618
613
603
611
621
612
615
606
618
622
613
608
619
632
609
606
602
630
610
617
621
628
630
607
609
627
606
627
608
618
614
613
630
602
629
613
609
613
607
612
620
606
612
627
613
605
622
602
623
611
611
614
631
622
621
622
623
628
615
619
617
604
625
622
618
620
631
616
621
604
606
628
622
609
639
617
618
608
606
620
618
612
612
606
610
614
623
605
605
599
608
632
632
623
608
639
612
619
607
623
624
613
628
615
604
622
617
608
614
630
617
621
609
620
608
633
622
626
629
621
613
629
610
633
634
610
610
623
604
615
622
632
625
610
632
610
618
607
615
629
603
607
615
607
622
618
607
604
605
635
613
612
606
614
617
631
610
602
608
625
613
626
629
605
626
617
632
613
629
620
626
631
621
620
605
603
610
626
635
633
628
622
625
606
623
614
605
616
619
621
609
606
626
603
612
603
604
614
621
639
612
627
606
604
612
624
609
630
615
631
625
608
622
608
619
620
612
615
622
621
618
604
623
621
640
618
616
640
612
620
614
633
615
614
610
616
640
625
612
629
604
622
625
629
639
624
621
608
608
611
618
619
627
616
609
629
617
609
612
632
622
618
615
603
602
621
612
639
609
616
617
615
617
631
624
631
632
607
610
603
611
619
623
639
618
608
632
639
605
617
615
629
616
614
607
615
604
616
610
630
608
610
618
629
602
623
609
623
605
612
629
632
612
627
608
610
608
626
622
604
612
612
626
612
631
606
628
632
614
636
625
620
617
617
602
611
622
631
628
616
617
635
602
605
613
624
621
624
640
608
616
616
603
615
623
624
601
617
632
626
623
610
632
611
619
639
620
639
620
614
608
622
609
621
614
616
617
605
614
607
608
608
605
616
619
602
616
624
599
640
634
609
630
615
624
613
610
634
636
622
606
614
622
630
614
607
612
620
612
610
625
605
604
627
624
615
629
608
632
608
600
614
632
616
604
619
608
629
630
605
608
612
632
609
611
614
627
626
613
623
616
639
641
620
609
612
612
632
630
621
623
613
611
613
615
610
606
616
611
605
619
610
617
609
631
621
610
619
616
622
608
635
635
618
609
623
614
631
614
626
618
623
613
617
611
606
615
639
615
617
623
614
624
618
610
618
618
639
628
610
612
620
614
625
614
626
619
623
606
609
620
613
624
604
607
622
612
612
603
618
628
626
616
609
617
610
627
634
631
608
619
617
621
604
629
623
632
639
609
630
606
633
624
612
609
620
608
623
622
635
618
626
626
604
614
607
606
623
612
611
602
609
633
611
606
609
621
621
612
627
607
628
620
634
610
624
613
622
623
635
604
606
633
605
608
607
619
603
604
632
621
614
615
605
606
633
601
637
621
615
609
632
615
615
606
612
632
618
625
609
606
612
604
606
612
625
612
614
609
624
602
610
617
609
609
625
634
637
626
639
622
617
606
612
616
606
617
621
629
632
625
623
619
611
639
614
614
608
611
621
620
621
619
607
635
616
604
614
639
625
616
611
631
609
632
599
612
615
610
621
613
610
610
608
622
633
628
615
619
607
613
627
612
623
607
630
632
611
635
631
617
629
606
610
627
614
602
625
607
613
633
623
611
634
606
616
635
602
622
605
610
629
614
602
629
611
610
616
627
606
617
625
623
623
623
607
629
625
603
614
603
623
614
613
609
621
607
625
624
611
631
613
604
611
609
621
622
619
615
618
623
608
616
616
625
608
603
610
611
626
604
634
618
617
623
631
606
632
616
610
635
617
619
616
613
621
617
610
617
624
620
614
606
613
631
631
629
603
634
622
607
611
621
639
611
613
613
628
619
633
635
604
634
623
622
628
614
617
627
617
635
628
620
616
627
610
630
609
608
620
631
631
614
609
615
627
636
626
632
612
618
639
603
610
612
610
618
617
604
629
613
629
626
619
614
639
602
639
606
609
628
634
614
618
610
612
612
639
615
640
608
602
618
615
605
613
605
606
604
621
629
637
627
613
632
612
627
610
608
610
612
603
609
623
619
631
612
604
605
615
617
617
609
610
627
632
620
611
606
620
608
625
602
622
610
604
614
632
621
621
602
631
627
632
617
605
636
623
605
613
619
632
639
620
639
630
618
623
641
602
616
628
612
615
635
613
630
622
620
603
609
613
615
633
623
620
637
630
625
629
613
634
634
623
632
640
617
626
609
616
623
625
623
619
608
608
631
612
614
618
610
617
629
633
626
627
605
613
615
604
614
616
624
611
617
639
633
617
628
627
640
630
629
603
636
624
607
621
601
625
617
612
622
639
614
611
612
613
630
617
607
631
617
619
617
623
612
615
623
622
610
604
612
639
623
613
617
639
634
612
632
606
614
639
632
610
611
630
624
626
606
616
623
623
626
605
611
616
632
634
626
612
639
637
618
611
604
627
616
620
632
607
606
609
622
623
616
626
614
603
619
616
610
607
623
610
634
608
614
639
626
613
614
635
622
630
625
640
607
608
635
613
608
606
613
625
632
605
611
622
604
621
632
618
611
614
615
626
612
610
605
613
605
603
621
639
620
630
612
614
627
617
605
608
606
618
604
631
627
608
607
604
607
620
627
610
628
606
618
603
613
607
629
625
609
609
639
625
614
618
623
622
613
602
606
606
603
615
631
633
619
612
604
612
606
617
612
607
612
615
632
634
633
608
618
605
603
623
625
629
616
617
635
605
620
624
613
614
622
608
630
609
623
624
634
616
617
614
616
622
618
639
617
603
626
626
604
602
631
627
609
600
625
616
620
599
618
610
608
622
604
610
606
622
625
623
614
639
639
609
613
604
618
606
616
626
613
616
613
608
613
619
626
624
613
610
609
626
614
612
608
623
604
635
611
632
613
600
604
604
606
606
629
600
612
608
625
605
605
604
626
606
630
635
605
607
633
605
630
611
624
613
625
609
621
611
635
605
613
625
622
631
606
622
606
639
635
617
615
609
623
604
618
605
612
600
602
602
630
609
608
609
602
603
610
612
613
629
616
606
620
620
615
613
617
637
619
632
605
623
605
621
609
627
604
637
632
609
615
616
632
602
616
603
610
618
608
606
607
610
622
617
628
604
625
606
631
625
634
638
622
613
627
622
602
606
632
630
639
631
603
615
633
631
627
609
610
632
606
607
611
607
605
635
630
612
619
629
634
614
616
602
635
614
637
617
606
622
614
617
617
604
608
610
625
607
621
613
623
617
615
599
634
604
633
618
604
610
604
602
640
631
636
622
622
609
603
620
606
620
618
612
611
602
604
618
608
621
612
610
605
626
612
629
614
618
613
610
619
620
627
609
622
625
600
621
629
627
621
614
623
631
635
610
626
604
639
638
615
635
608
617
612
633
609
616
620
624
624
631
628
632
622
617
611
611
629
619
624
609
614
618
621
630
632
620
603
610
614
633
638
606
602
607
610
626
612
615
607
618
635
609
607
618
629
628
622
613
613
620
634
613
627
629
622
602
639
609
631
609
615
604
631
621
622
619
609
606
606
620
611
623
618
613
620
608
635
631
612
620
606
628
604
621
612
635
634
616
613
611
630
603
626
608
616
615
603
630
639
614
603
632
632
635
606
613
627
621
616
614
617
624
606
613
601
607
606
604
608
615
618
603
616
625
609
615
605
612
616
600
610
617
615
611
611
613
622
605
627
604
627
603
610
619
614
622
618
604
608
620
611
620
604
604
620
612
608
624
608
615
613
626
606
614
617
630
600
638
601
615
619
615
612
609
617
613
629
631
607
613
628
635
632
610
608
617
608
626
603
612
611
602
630
606
608
611
613
620
630
613
609
611
610
611
632
610
610
621
623
634
615
610
622
632
619
614
603
621
612
616
625
615
619
632
610
623
630
619
628
614
621
617
615
617
613
615
602
607
623
629
614
625
627
617
617
631
623
614
609
604
638
607
604
626
639
620
609
625
624
619
617
629
606
621
608
613
607
633
633
625
626
617
623
604
611
608
604
630
607
606
611
612
635
604
634
610
615
625
609
630
619
601
630
611
602
619
609
629
623
614
617
609
635
607
606
608
606
611
605
626
617
631
618
629
616
605
612
609
619
606
613
623
607
612
639
637
624
629
613
604
619
610
621
612
603
620
606
628
611
616
615
622
635
617
606
610
610
603
620
604
623
609
632
604
607
631
612
638
626
604
623
614
611
614
622
626
632
614
604
622
623
627
623
639
637
606
640
616
615
628
603
629
630
617
622
616
620
623
611
613
627
611
634
609
621
613
616
631
626
606
610
622
609
614
617
622
613
603
624
631
616
634
612
616
618
609
628
599
603
613
613
617
618
629
616
636
606
609
621
609
615
612
619
607
612
612
606
603
620
632
613
632
604
619
607
621
632
606
619
624
612
602
621
614
632
622
605
631
604
626
632
623
617
630
631
609
627
608
635
614
608
627
628
625
609
624
609
606
611
631
614
610
618
639
618
617
632
624
631
631
611
629
635
610
602
625
607
612
620
603
622
618
625
622
631
635
602
619
610
622
620
606
604
624
613
632
607
611
621
626
614
639
625
622
602
623
603
631
611
618
605
609
622
609
618
613
618
618
613
632
616
632
616
629
618
610
606
609
608
628
620
609
626
610
619
606
631
605
608
618
626
623
614
607
606
606
606
607
615
618
625
626
625
633
609
616
625
617
607
627
605
606
624
625
610
617
631
623
603
607
621
626
609
621
620
602
622
605
630
616
606
622
625
610
619
600
618
612
635
604
604
613
614
632
609
618
631
604
614
640
608
604
614
600
626
606
620
605
623
636
609
620
613
604
605
615
603
626
611
612
605
617
618
613
615
611
635
628
611
639
610
609
608
605
624
621
627
623
604
624
626
634
618
607
613
617
605
608
615
603
617
606
603
637
603
624
615
615
607
608
625
608
625
623
606
602
611
614
609
630
633
621
618
636
631
618
613
631
622
620
607
608
603
624
613
613
617
620
624
610
620
626
639
626
619
609
617
612
618
609
612
609
622
633
611
605
605
613
625
622
628
609
630
622
639
618
610
618
624
607
638
608
606
613
622
630
607
613
626
621
639
615
608
612
623
607
609
626
625
626
627
603
614
622
626
606
630
612
603
625
612
606
621
618
612
620
610
610
603
625
615
613
603
618
606
623
630
616
605
611
609
611
626
610
631
613
628
603
623
616
631
606
615
622
617
623
606
616
604
623
613
630
625
613
608
635
617
614
624
609
605
636
613
614
620
613
632
607
604
627
607
602
625
615
611
612
639
611
637
610
640
623
603
620
614
603
609
607
623
617
639
631
627
611
635
619
640
615
628
622
618
616
603
617
612
619
617
603
624
628
624
607
620
631
639
629
610
608
611
634
618
612
632
637
615
601
611
613
617
639
623
608
611
632
613
611
625
610
625
606
611
604
614
631
603
632
635
606
610
631
610
609
633
623
613
608
621
617
622
632
630
608
608
605
605
608
631
631
616
612
613
601
635
608
611
634
614
608
603
624
622
630
635
625
622
604
611
614
620
602
620
623
636
604
610
639
612
606
629
613
609
608
607
633
612
634
616
622
615
615
603
616
617
618
610
612
626
607
606
624
625
627
614
630
604
631
617
621
640
618
639
632
628
613
626
622
629
602
614
614
609
610
627
602
632
632
608
608
618
617
605
614
624
624
607
608
607
623
621
610
610
605
625
618
621
606
606
601
625
629
611
611
624
623
617
610
604
601
629
616
630
613
626
625
608
635
607
603
631
631
618
613
639
619
608
631
600
609
613
633
612
624
611
603
610
619
618
624
618
639
614
612
629
612
610
621
607
612
615
607
609
623
622
614
607
622
613
606
610
611
614
623
611
604
615
603
626
603
624
625
625
615
606
621
623
620
615
621
612
630
606
627
604
633
627
619
608
623
631
605
619
619
609
613
609
614
623
626
620
615
608
607
609
608
606
610
639
611
616
609
632
605
620
610
628
604
623
610
626
603
631
615
617
604
608
639
628
626
612
607
614
622
621
615
622
620
608
608
635
640
619
605
613
603
608
610
616
605
627
626
616
614
606
603
601
606
631
609
618
622
621
620
604
625
640
622
623
626
630
631
619
633
614
613
613
606
632
610
603
602
640
626
602
628
600
622
632
606
608
609
618
608
618
622
605
608
615
616
630
610
610
611
629
614
607
611
639
615
611
616
609
614
629
613
614
630
615
629
604
622
620
614
632
620
613
613
616
606
610
614
624
608
619
610
619
614
612
631
605
610
614
615
628
625
625
603
618
606
606
615
624
604
603
628
639
614
628
613
612
608
617
610
617
614
624
631
639
623
615
604
617
604
620
633
620
640
632
629
632
603
628
616
613
605
606
614
607
606
624
629
633
617
635
613
621
634
604
604
605
602
614
614
630
608
618
630
624
619
626
610
601
626
621
607
621
604
639
612
610
617
617
617
615
618
604
623
606
616
627
622
608
603
609
603
611
604
614
603
622
616
618
621
639
615
617
630
626
608
615
603
629
629
617
605
626
623
604
619
623
619
605
624
611
619
639
618
615
616
606
625
612
607
623
606
612
603
631
632
632
606
609
602
625
614
609
604
634
621
630
625
637
608
614
626
620
619
622
624
621
603
602
627
622
631
618
609
613
617
607
614
623
628
601
621
612
626
605
634
618
625
614
622
618
616
604
614
639
616
606
614
609
618
620
621
626
636
603
624
613
631
613
628
613
625
604
613
604
618
606
610
627
624
621
623
635
612
608
610
623
614
627
620
618
613
610
604
640
635
619
617
626
613
616
607
607
639
626
607
613
612
618
612
623
621
630
606
626
603
631
623
620
608
623
603
603
629
623
629
617
607
628
613
605
624
635
629
639
617
617
604
639
619
625
606
608
615
621
630
636
613
626
616
608
629
604
619
613
627
635
617
627
606
631
630
605
633
626
604
605
617
621
606
603
610
634
617
613
613
610
634
604
629
624
614
602
632
612
612
614
614
632
624
618
626
626
633
620
639
609
602
619
610
627
622
635
608
606
604
617
619
616
610
608
626
632
632
604
627
621
605
623
610
614
623
629
634
606
602
614
610
604
604
608
609
603
633
626
614
605
632
603
620
608
606
637
614
606
611
608
632
602
604
615
622
611
636
617
621
620
603
617
625
619
623
636
607
620
639
630
613
639
607
612
625
634
622
605
608
609
639
639
610
620
607
601
607
604
626
608
619
613
609
620
610
626
623
626
612
608
612
606
619
610
620
631
614
629
619
607
607
634
622
631
620
606
629
604
625
617
625
631
634
616
607
623
617
624
613
607
609
637
609
618
630
626
611
623
635
603
631
616
624
627
603
617
629
613
613
604
625
626
602
604
630
622
623
606
628
621
606
617
611
611
624
603
613
606
614
630
629
628
603
629
611
607
622
619
618
631
628
610
603
634
610
616
612
611
617
602
615
601
603
631
623
620
603
622
620
613
620
609
607
633
620
618
622
618
629
633
614
603
612
623
630
622
616
627
605
631
608
606
634
604
623
605
634
634
632
603
631
624
624
613
613
601
628
605
614
616
602
606
609
628
618
616
631
606
608
618
631
611
611
610
604
617
617
612
619
611
613
609
623
625
619
632
627
613
622
627
610
608
633
608
627
605
623
603
621
628
608
641
602
631
617
617
626
629
603
608
618
633
631
624
617
604
615
614
609
605
615
619
629
621
606
610
615
617
611
605
625
606
609
615
624
618
630
607
623
639
640
614
614
608
623
632
603
608
639
614
639
618
626
620
621
631
629
611
619
621
624
604
603
614
615
612
610
611
635
625
605
632
631
608
629
628
613
611
609
610
627
613
610
626
606
626
621
612
617
612
607
618
603
629
603
616
618
636
614
630
627
614
635
632
610
630
617
609
635
626
618
618
623
613
614
627
626
616
602
606
614
610
623
623
639
623
626
609
621
613
619
614
631
616
607
616
622
603
620
609
617
626
615
634
620
617
620
626
634
621
622
619
630
627
614
604
617
601
635
614
631
619
619
623
609
628
634
632
625
616
617
622
614
632
617
626
628
613
623
635
608
611
635
604
630
603
626
621
614
610
606
622
614
608
634
613
625
626
604
608
618
628
611
622
607
613
608
605
625
613
628
614
629
618
603
608
605
611
620
614
605
631
623
608
633
622
612
638
612
613
613
627
625
626
603
603
639
630
609
616
619
620
607
617
623
616
614
624
622
617
610
612
630
614
624
622
621
637
635
632
639
626
616
625
634
618
608
629
609
627
607
612
610
610
615
610
606
637
623
604
605
607
621
614
609
610
614
624
613
639
604
606
610
609
618
606
629
622
627
619
606
623
607
639
629
630
616
613
600
607
628
609
617
603
613
617
609
613
622
604
639
615
607
622
617
615
618
613
623
610
630
618
621
623
605
602
608
622
628
609
616
639
639
628
625
621
617
614
611
620
615
634
622
630
606
619
606
608
617
640
611
611
628
612
611
606
602
608
621
638
623
622
613
634
617
627
606
626
639
627
609
608
610
621
611
627
627
612
631
625
600
608
625
613
639
627
617
635
608
616
639
611
607
612
621
624
616
627
613
609
623
632
630
606
614
631
632
617
624
606
607
612
635
625
618
625
612
616
621
639
614
634
639
601
632
612
613
623
636
618
620
608
605
625
604
632
608
628
607
603
603
631
606
621
606
639
614
609
615
623
617
605
613
615
630
614
630
609
629
636
625
603
605
608
632
628
608
630
620
619
629
629
603
634
628
618
639
613
614
604
620
612
639
628
613
613
616
619
604
617
604
632
614
634
603
625
621
609
612
607
614
612
622
626
608
606
614
640
610
607
614
609
615
631
612
602
629
632
619
613
620
617
604
628
616
613
606
622
608
609
608
631
614
607
605
615
627
613
603
603
604
609
632
608
627
615
626
630
639
612
613
603
629
629
620
602
623
613
613
612
622
620
606
626
617
619
631
603
612
622
619
609
603
610
627
610
626
627
616
613
609
620
625
630
614
606
606
615
608
614
606
605
612
639
619
611
635
619
623
627
630
623
608
611
611
622
601
601
612
630
604
613
610
619
632
611
621
603
610
601
612
639
621
632
614
632
614
606
610
623
622
616
633
602
620
639
608
608
631
609
621
639
627
616
604
626
623
630
606
604
609
608
604
622
617
621
629
621
612
631
622
616
617
616
628
623
628
617
606
617
617
604
603
617
623
607
621
616
632
632
639
608
618
604
608
631
620
602
608
618
636
625
625
627
605
616
617
612
609
606
603
608
631
636
606
613
631
613
615
627
626
608
617
630
626
634
614
639
632
617
622
610
627
632
624
613
613
609
610
626
610
614
607
623
608
608
632
625
623
613
617
622
619
624
631
617
633
635
635
614
617
604
602
609
613
618
611
614
615
630
632
617
624
611
625
613
623
621
627
628
633
631
619
599
610
614
611
630
614
607
609
602
625
614
617
606
606
615
608
615
609
626
618
600
624
614
621
614
620
615
620
621
606
615
624
613
630
608
613
621
622
614
616
617
606
606
618
628
621
617
615
615
632
608
611
621
613
615
607
617
609
617
616
610
613
639
610
625
632
629
622
626
614
639
620
639
626
611
609
634
609
626
623
609
604
610
630
634
610
616
617
606
626
626
607
608
602
610
615
623
630
640
625
603
631
622
611
609
631
618
624
601
613
615
616
618
622
626
603
620
609
625
636
617
612
626
632
614
610
619
605
621
617
632
639
632
618
606
639
608
616
616
625
625
614
616
609
639
631
623
622
626
607
618
615
608
608
624
635
613
622
623
634
632
619
609
605
612
611
638
623
625
606
623
619
609
615
614
602
623
624
615
616
618
626
623
624
615
606
606
618
614
613
609
612
609
617
625
613
615
631
615
618
634
617
626
631
619
620
639
631
640
622
608
629
616
613
622
617
618
620
628
631
631
630
617
639
605
604
622
611
608
624
631
619
618
612
625
607
602
611
639
626
608
613
604
625
624
619
623
601
600
602
633
611
613
602
634
615
625
614
610
616
612
604
631
621
609
608
618
618
609
612
632
610
629
608
637
630
614
621
613
630
634
624
631
617
614
608
621
626
621
617
608
624
617
601
622
611
606
627
622
608
620
618
623
639
623
628
620
634
629
601
639
614
639
609
628
615
611
611
614
615
613
608
614
601
613
636
605
630
640
622
604
605
610
629
630
625
614
612
625
608
635
622
625
628
623
630
639
610
613
632
605
637
608
608
608
631
605
622
602
617
608
603
605
626
632
628
610
621
608
620
614
629
604
624
607
619
623
639
621
611
639
610
611
620
608
609
618
617
615
613
610
607
603
606
624
609
617
620
604
634
610
604
608
617
607
622
619
610
618
614
617
615
634
604
614
613
621
608
625
639
619
610
625
606
623
612
639
616
624
605
610
619
619
617
620
607
623
613
633
618
603
606
625
602
622
624
616
612
623
630
619
622
624
605
609
620
620
610
606
610
629
618
609
611
628
602
626
605
611
628
640
632
619
635
622
620
604
609
612
631
613
618
620
618
607
610
627
614
603
604
623
604
639
601
603
617
630
625
617
609
639
632
625
621
628
620
613
622
617
630
634
636
612
606
610
633
622
631
632
611
633
639
610
608
626
634
630
624
605
618
620
614
613
629
607
617
628
611
614
615
620
612
641
612
623
614
622
608
620
623
612
633
610
612
617
639
632
601
632
617
623
629
605
612
603
610
614
609
617
602
602
622
603
612
632
623
622
613
626
623
607
610
613
614
616
605
613
632
616
614
639
607
640
612
623
609
616
631
623
610
609
609
606
609
635
640
615
618
628
623
610
614
637
620
619
637
610
633
620
622
629
626
605
613
626
632
609
637
613
613
608
625
625
609
614
618
607
634
624
610
623
600
639
618
622
606
613
609
628
629
622
632
625
616
608
613
609
623
625
632
604
611
613
603
612
627
606
599
613
611
621
619
609
615
608
613
614
619
602
629
621
612
613
603
632
612
639
632
626
622
606
635
615
613
621
615
639
608
629
613
620
604
612
625
610
621
609
628
623
615
623
630
617
615
632
608
614
626
619
604
621
611
617
630
630
621
614
609
616
615
610
605
606
617
611
609
613
606
613
633
605
617
632
604
630
620
614
606
628
610
639
632
632
613
614
602
631
621
629
614
632
612
609
606
620
608
626
611
622
615
607
626
624
617
625
637
612
609
617
619
626
631
639
606
616
615
631
620
606
605
611
608
604
606
634
627
617
614
623
610
612
609
610
607
603
613
628
613
614
617
635
628
634
623
608
612
631
635
607
619
616
637
605
599
636
625
613
608
608
609
603
621
625
614
625
615
612
616
639
629
624
616
604
610
625
628
628
626
606
611
629
613
604
602
626
613
629
606
629
608
618
625
605
624
632
611
613
604
610
610
621
626
606
629
602
606
609
603
610
614
611
616
619
620
617
602
624
626
606
626
639
610
617
627
603
610
614
625
622
612
616
624
618
603
639
606
625
611
617
604
615
610
620
610
628
606
606
609
632
617
613
613
623
627
606
628
628
606
628
613
606
611
614
613
604
626
609
622
607
621
605
613
625
604
608
618
613
617
639
614
639
609
632
607
607
638
603
629
625
608
628
627
617
610
638
618
621
605
610
619
621
620
621
602
615
605
618
605
609
612
631
631
616
603
626
635
617
618
609
639
618
608
610
617
615
631
608
632
619
613
614
632
612
631
610
616
634
609
606
633
624
606
607
624
607
604
623
639
601
634
613
630
605
602
620
619
605
640
616
623
616
630
610
605
623
625
635
606
612
628
616
598
613
617
606
606
607
617
621
617
624
632
605
616
626
600
610
614
623
610
623
631
608
623
608
634
608
621
639
605
620
609
616
618
622
609
616
605
615
621
620
623
621
614
623
612
611
607
615
611
617
610
620
603
630
630
629
627
628
612
607
611
619
609
620
606
604
598
614
615
610
615
624
603
608
622
607
621
632
613
611
615
617
617
614
613
616
632
619
634
616
635
606
623
603
609
614
613
629
634
610
617
611
620
631
612
611
621
614
619
611
607
623
606
609
622
635
639
620
625
611
605
622
612
621
626
630
608
603
617
627
622
625
608
607
628
614
633
608
611
612
609
603
611
610
604
604
632
608
611
619
630
632
611
603
603
608
605
611
619
608
608
608
617
631
623
623
612
623
608
608
608
618
617
623
617
626
633
603
629
617
624
613
610
602
610
616
613
632
615
609
610
639
639
609
620
626
639
612
618
609
629
615
635
620
630
633
614
625
607
637
617
614
630
629
618
603
630
625
620
616
604
627
609
624
615
604
603
623
623
635
629
606
630
627
628
638
623
613
631
632
628
605
617
613
634
613
620
635
615
602
607
632
609
622
624
609
630
601
626
639
627
610
623
613
612
631
621
618
624
604
621
611
623
609
625
604
605
621
617
625
616
626
609
614
624
619
619
624
620
631
618
613
628
612
606
623
620
614
613
623
622
611
619
608
610
608
631
630
609
604
613
612
631
600
624
612
625
638
606
604
627
624
608
605
607
621
619
612
620
605
609
619
603
631
623
621
621
614
620
611
624
612
607
608
614
617
611
625
628
613
626
604
628
603
622
627
635
621
632
603
608
615
631
622
609
612
625
614
607
607
604
614
608
615
639
605
624
610
617
610
617
616
606
604
608
609
619
626
607
606
638
635
618
604
615
613
614
632
601
623
605
620
608
626
632
639
607
607
603
604
613
622
629
623
604
606
605
606
611
606
625
634
615
638
616
610
621
612
610
639
637
639
606
613
639
623
630
628
619
607
627
626
613
609
605
616
607
631
612
603
618
618
618
617
613
610
619
627
605
607
611
618
627
634
627
611
622
606
617
614
611
603
613
603
631
614
628
618
612
632
621
622
617
604
619
607
629
625
628
634
614
634
624
632
611
630
608
610
623
610
608
622
618
609
608
599
607
613
611
620
639
639
631
610
615
627
602
620
608
629
626
607
631
631
623
606
607
636
612
639
614
606
616
612
602
631
603
615
612
628
606
627
617
611
613
634
606
619
630
605
614
609
614
612
616
630
617
628
634
631
630
629
610
622
637
627
631
630
604
623
621
613
608
625
603
612
619
622
617
612
608
623
605
608
605
622
604
628
611
605
626
622
610
630
610
605
611
600
615
612
608
622
636
632
613
623
631
634
611
614
619
633
623
623
617
626
629
607
623
623
619
609
620
599
614
613
613
617
616
613
621
628
617
620
603
637
600
606
632
604
616
608
602
603
614
635
621
639
623
611
616
615
610
614
618
616
606
611
615
618
614
613
616
632
639
612
631
616
615
606
608
629
613
607
625
635
611
616
603
629
621
604
639
602
621
608
606
611
629
610
608
612
602
639
622
616
614
606
610
603
606
608
615
621
617
612
630
625
617
607
619
623
619
615
609
602
637
614
605
614
615
634
609
619
639
632
639
625
605
603
611
621
611
616
618
623
634
628
612
623
639
607
609
639
613
629
608
617
605
608
617
623
609
622
617
602
617
620
632
620
617
614
621
606
605
622
610
639
609
617
607
632
617
623
613
620
609
627
606
625
616
630
616
637
623
622
612
610
614
620
610
616
625
632
618
634
621
630
625
613
605
623
626
622
608
608
636
627
623
604
617
629
629
621
618
611
625
634
616
612
616
620
605
627
633
603
610
639
613
630
626
613
621
604
610
617
610
631
610
617
617
610
639
622
609
616
627
607
639
626
601
629
611
621
629
605
605
631
630
610
617
631
626
621
625
624
611
639
625
604
623
617
631
627
613
610
621
625
630
616
639
625
635
603
612
617
607
615
607
603
630
608
624
605
616
613
639
628
609
617
603
616
614
618
635
622
617
619
620
619
605
614
604
609
624
615
615
604
631
614
631
621
628
614
609
607
613
610
619
606
607
615
613
617
608
640
617
632
612
605
616
612
631
631
623
605
612
620
605
616
614
603
639
640
624
629
613
610
614
614
626
631
618
619
628
628
630
606
621
617
613
621
623
607
605
618
626
630
631
610
602
604
607
613
639
616
619
622
607
610
608
638
622
628
616
627
624
608
625
634
632
607
613
624
624
603
623
615
612
607
614
607
619
615
606
629
613
623
618
629
606
616
607
602
623
628
603
603
606
612
623
608
639
611
609
623
610
632
609
631
623
605
609
624
623
627
612
632
602
636
606
609
612
612
603
607
619
610
609
610
614
599
617
625
608
611
609
618
617
626
637
617
605
626
612
608
635
627
610
639
639
629
615
620
608
626
607
620
612
612
626
608
622
605
628
610
632
632
613
617
632
605
616
631
604
612
613
613
608
625
639
631
606
631
605
625
603
612
613
639
623
620
612
626
635
623
631
629
603
628
604
631
639
623
612
626
630
609
611
604
620
611
603
622
630
632
625
631
632
624
630
603
611
623
626
624
608
639
622
605
609
625
603
600
614
631
621
626
607
604
632
625
640
633
613
607
605
622
634
639
615
635
624
608
615
610
607
604
617
622
606
609
616
604
620
621
633
606
620
627
629
603
625
630
629
614
634
620
617
607
609
631
607
606
625
626
603
611
626
608
632
617
620
625
630
618
613
606
599
631
611
608
625
619
601
603
609
613
603
637
613
612
607
632
617
618
629
610
629
605
611
604
625
623
605
626
635
621
615
607
630
605
618
614
631
623
608
614
613
615
613
614
624
634
608
620
636
618
605
625
625
616
623
621
630
630
610
613
602
631
624
604
630
626
623
622
603
626
615
609
627
618
615
635
613
630
603
616
632
630
626
613
637
632
599
606
613
623
620
615
610
602
629
639
630
620
624
621
615
634
602
604
622
620
620
637
614
610
621
605
624
609
637
631
608
629
626
605
620
623
632
613
619
609
617
623
609
606
612
630
616
616
615
604
605
611
610
623
627
605
619
620
630
632
629
607
615
632
611
608
609
608
625
639
631
609
615
603
608
631
618
620
632
612
612
619
628
625
601
618
607
621
621
613
611
614
613
630
622
617
609
623
611
625
630
627
613
630
609
603
616
625
608
603
610
625
615
612
622
632
615
608
615
606
626
603
613
631
612
639
606
614
606
614
605
619
623
606
634
626
609
609
615
629
615
600
616
630
613
615
616
606
608
629
604
620
617
631
613
607
606
603
622
608
606
611
610
623
626
609
609
635
616
631
612
625
620
635
603
604
611
614
603
610
619
617
609
632
608
626
640
606
618
606
608
604
623
627
617
621
620
619
617
630
625
610
623
617
614
620
620
608
612
603
606
613
631
621
614
608
622
639
603
611
608
613
631
608
608
635
617
633
623
613
601
620
620
599
601
629
610
626
606
630
611
606
619
605
600
622
608
629
603
615
611
629
613
610
607
619
625
607
599
623
609
606
611
629
603
617
615
605
615
630
618
608
627
604
620
603
609
607
613
613
613
639
611
606
603
616
622
609
621
623
613
634
620
615
610
612
634
606
615
633
605
615
604
636
610
605
621
606
611
606
632
608
634
630
613
617
630
626
614
619
607
608
607
622
629
607
639
623
622
619
608
627
615
626
603
606
627
609
603
610
619
609
611
639
614
616
608
605
610
611
625
616
630
610
613
609
615
631
625
631
609
630
610
629
626
628
639
604
613
611
639
613
625
636
610
606
628
613
608
614
604
626
603
634
623
623
628
626
613
617
617
630
622
639
620
606
630
620
617
622
633
620
611
609
635
633
615
621
610
620
619
610
620
615
620
626
621
632
611
613
611
604
605
616
635
626
614
606
616
626
611
633
631
607
639
612
638
615
630
608
611
635
623
631
623
619
612
630
623
617
629
631
607
604
620
628
613
617
605
635
613
626
624
621
604
631
603
623
614
622
614
626
603
638
603
614
603
624
618
623
628
614
613
623
625
610
613
607
636
602
622
634
619
631
606
617
626
606
599
631
616
629
623
635
603
615
617
609
637
627
621
619
605
606
603
621
632
608
606
630
614
639
631
605
622
610
633
612
639
613
606
620
628
611
608
635
620
609
631
605
628
613
617
607
608
610
633
609
612
609
632
625
606
608
602
608
608
607
623
616
607
609
602
606
632
610
628
633
614
620
618
604
628
615
622
613
624
620
633
639
621
608
607
608
619
615
615
609
619
608
626
616
611
637
622
613
626
626
639
608
621
630
613
617
617
626
610
609
628
610
641
634
623
613
631
618
612
632
612
632
622
608
630
622
608
639
608
608
614
614
612
609
617
604
639
639
619
609
618
613
610
623
619
627
610
623
603
626
615
621
626
604
608
615
606
601
608
608
621
632
623
630
629
626
610
625
629
609
621
631
621
609
636
636
609
611
613
623
604
604
623
604
611
603
604
613
613
622
627
606
629
609
602
615
617
601
611
608
604
608
606
616
631
624
604
611
606
610
634
603
627
608
628
632
620
611
611
616
619
616
611
613
624
614
605
613
631
613
624
634
604
636
616
614
613
613
620
608
619
609
615
604
603
623
621
632
609
630
603
623
616
609
613
605
604
623
617
620
625
618
618
615
613
613
615
610
626
640
620
614
639
609
620
609
618
613
634
601
607
622
615
609
613
616
628
621
629
614
635
612
620
619
617
635
612
622
626
614
613
639
613
613
601
612
608
603
608
629
610
639
610
608
632
639
633
607
639
606
607
610
606
626
614
619
604
618
607
632
605
612
624
610
627
619
607
625
616
614
617
610
611
616
632
614
621
632
627
616
610
612
606
617
611
634
617
614
605
606
639
603
607
615
627
607
613
604
608
602
620
607
627
617
632
631
623
623
608
622
625
622
620
603
621
607
613
615
639
625
627
611
624
631
621
637
604
609
620
611
611
621
614
617
617
633
615
632
602
612
608
613
639
637
617
627
601
623
629
614
623
614
634
615
618
610
619
618
619
610
616
616
610
606
620
625
639
606
609
609
622
626
602
603
619
622
619
620
625
608
609
635
627
607
609
609
604
615
626
632
615
612
618
634
613
614
610
605
610
617
618
610
622
606
614
625
629
606
623
608
603
610
610
630
625
617
639
610
626
628
608
617
622
630
613
611
624
636
627
637
623
602
639
611
629
611
623
639
625
604
625
610
615
636
623
620
616
615
620
629
609
626
614
633
623
629
617
628
608
626
608
619
605
623
619
622
614
618
633
606
612
629
609
629
620
611
621
612
611
608
616
606
605
608
627
634
604
604
608
610
612
630
604
608
620
611
603
635
633
603
634
624
608
626
617
630
616
604
617
607
612
617
606
604
611
633
602
613
603
610
624
614
633
605
605
608
612
618
629
624
605
614
632
635
611
619
628
622
628
612
631
609
610
628
605
617
612
626
621
605
620
639
612
632
624
605
606
625
612
605
611
626
632
627
608
613
604
621
617
618
614
607
624
614
614
613
615
606
623
639
620
606
612
604
625
617
615
631
605
630
616
624
631
613
606
609
618
628
618
614
610
605
604
619
606
620
636
615
603
609
635
603
631
607
634
623
617
613
617
608
610
635
623
631
614
620
622
629
621
606
638
609
617
631
637
608
631
617
629
612
631
623
607
629
631
630
615
614
612
612
610
630
626
617
635
608
629
622
640
617
622
619
607
613
631
636
626
635
614
623
616
641
602
624
625
610
636
614
638
617
630
608
632
632
608
614
611
608
618
606
603
630
614
634
605
626
619
628
608
636
611
639
605
605
615
626
607
614
618
626
602
628
619
608
610
618
610
608
624
632
626
611
612
613
609
627
614
630
632
623
620
621
622
613
612
604
624
609
598
610
609
613
615
613
622
626
618
614
617
623
621
620
620
618
614
608
616
632
620
621
619
631
629
610
632
603
619
604
626
617
639
623
610
616
605
614
608
626
632
618
626
609
619
610
622
611
640
623
603
624
602
605
620
621
640
615
614
635
615
625
611
607
622
606
606
612
637
619
627
609
616
610
632
610
629
612
625
633
605
608
613
626
609
609
633
608
608
631
608
618
610
608
613
634
619
616
621
621
613
639
609
631
614
607
607
614
612
609
602
619
604
625
617
631
601
623
619
602
602
607
610
615
615
632
609
627
610
617
609
615
615
615
610
614
608
604
632
627
603
636
633
620
616
631
618
611
621
608
622
605
603
608
628
616
632
621
598
608
609
631
617
610
625
613
623
621
637
616
607
624
618
615
607
605
611
609
606
615
603
619
605
639
628
607
614
624
621
639
620
631
622
613
636
613
620
629
619
631
602
620
622
630
631
601
619
606
606
626
617
625
633
606
630
625
613
628
613
639
625
613
625
613
626
628
620
625
630
625
626
605
629
615
607
601
614
605
608
609
639
609
626
622
613
613
610
633
610
604
614
604
626
627
605
639
625
608
639
605
607
613
603
614
622
610
602
629
613
617
626
633
630
622
603
614
605
615
604
610
604
603
611
616
623
637
625
637
626
639
632
620
623
615
627
632
618
627
617
610
608
626
636
613
610
620
621
614
637
607
634
621
620
617
639
608
616
613
630
627
614
606
609
614
620
608
637
613
626
619
616
614
607
626
619
633
611
604
631
621
615
633
617
637
619
609
609
618
621
632
634
613
625
619
639
605
618
606
634
619
603
617
616
602
625
611
611
614
606
631
607
632
611
605
614
607
641
631
610
606
628
623
621
624
620
630
615
618
634
628
628
624
622
606
617
610
634
610
632
618
604
608
616
609
616
614
606
614
610
607
631
614
625
619
629
622
606
617
631
606
616
609
614
618
630
627
609
608
608
614
618
623
632
603
631
628
628
607
634
609
614
610
614
632
619
622
622
610
614
621
610
623
619
612
608
621
623
628
604
608
639
615
604
625
622
614
629
613
617
608
639
626
603
601
634
606
603
634
603
617
622
629
611
615
611
611
639
617
610
620
614
602
606
607
619
610
605
630
620
614
628
605
629
639
609
624
617
601
614
634
604
614
620
608
623
622
607
617
614
629
635
615
613
622
616
626
628
614
638
619
611
618
605
604
623
614
618
612
618
626
631
607
606
612
622
639
631
614
608
615
611
608
626
608
612
615
619
604
611
614
622
616
631
623
635
610
620
603
606
603
623
640
639
624
607
623
616
629
619
609
610
609
629
628
607
616
639
631
615
617
635
624
635
610
614
612
631
608
613
616
604
609
601
626
610
604
611
613
631
638
639
623
629
613
612
617
609
639
621
632
601
609
614
636
616
617
603
614
608
607
612
635
623
614
604
604
626
614
620
617
602
623
630
632
621
626
621
613
632
605
613
637
614
625
632
608
621
610
622
614
614
605
623
622
608
625
625
608
614
616
617
619
618
634
630
632
618
606
617
609
606
633
606
628
631
631
618
618
626
606
613
622
631
609
611
618
613
633
621
607
625
636
612
616
623
613
623
609
627
634
617
611
618
610
617
623
614
623
617
610
629
615
616
632
609
617
606
623
607
631
623
619
619
623
603
605
630
623
615
631
618
620
619
602
613
614
606
602
634
614
625
629
632
604
614
630
603
617
611
619
639
617
615
632
616
602
621
608
615
604
620
601
621
637
635
602
617
604
606
619
623
613
609
627
631
625
623
629
605
621
603
622
606
628
605
614
631
636
626
613
613
608
614
605
623
611
605
611
606
613
632
639
610
616
613
610
612
622
608
617
625
603
631
606
624
623
622
625
623
612
621
627
635
630
612
619
631
610
613
613
616
631
618
613
608
618
625
623
621
609
607
599
609
606
617
628
603
610
624
634
602
629
638
616
610
629
608
605
635
622
623
634
605
603
610
610
609
607
615
624
627
605
625
611
636
610
606
626
631
604
609
621
629
608
621
600
635
600
603
630
622
622
609
632
620
617
621
632
629
631
632
602
631
620
635
604
629
606
603
632
631
605
623
608
613
624
622
610
614
605
630
636
632
620
627
622
613
607
613
623
616
609
630
616
639
613
617
626
611
609
626
615
606
606
624
623
611
605
633
632
633
608
605
613
615
609
614
611
639
606
617
610
628
636
626
617
619
613
609
618
628
629
629
611
628
610
627
619
622
621
638
609
610
622
613
608
626
615
614
624
628
629
602
629
610
607
626
615
626
602
635
637
634
635
620
632
619
628
622
605
617
602
629
611
624
611
614
606
621
609
606
608
606
633
634
613
610
630
622
634
622
618
606
605
617
605
614
609
627
611
610
625
617
625
609
617
610
614
604
620
614
617
623
621
619
629
635
610
629
608
623
610
622
608
609
610
603
609
617
620
620
635
623
617
607
621
613
603
603
606
623
628
620
626
609
606
609
608
620
615
609
613
614
617
618
639
608
639
608
614
629
610
619
608
609
622
614
614
612
610
608
615
625
625
605
633
616
617
633
616
617
614
621
613
634
609
633
616
619
614
620
614
621
637
633
607
620
608
623
613
603
602
611
626
624
636
623
612
623
624
636
630
631
632
605
621
610
617
610
606
623
609
624
616
613
610
619
610
603
606
639
613
604
625
605
606
639
622
613
619
605
604
618
613
606
608
609
621
613
626
606
613
633
635
607
623
620
609
614
623
610
613
614
614
618
635
631
638
611
636
611
613
613
622
625
629
605
621
624
602
628
611
616
606
624
635
606
626
599
615
628
624
634
606
620
617
614
623
634
620
606
621
613
606
622
639
611
606
608
609
621
618
616
639
632
616
626
611
602
605
632
614
618
629
617
603
630
639
603
608
605
615
628
634
630
611
603
605
608
602
606
615
612
612
604
630
622
623
635
614
611
610
632
611
623
623
616
616
615
634
628
603
615
620
605
605
626
602
602
604
614
641
637
628
630
625
616
612
602
615
615
600
631
602
609
604
608
621
615
629
617
613
605
629
630
614
606
613
640
628
615
614
614
627
637
628
616
629
629
639
607
640
637
623
629
612
627
617
619
637
608
619
619
626
635
629
603
625
634
617
614
610
614
628
611
635
634
615
611
607
602
619
624
616
617
626
611
625
621
634
625
607
638
619
617
609
606
618
611
610
613
615
611
602
614
607
612
612
630
604
629
603
620
622
615
602
619
613
623
626
638
631
626
625
632
635
635
632
612
623
612
605
615
603
626
610
619
615
623
628
609
626
626
626
603
626
629
620
610
627
614
613
608
628
627
603
622
626
603
616
610
613
629
606
613
605
610
617
629
617
615
601
628
635
609
623
617
608
634
610
606
606
623
621
612
639
608
608
632
608
630
623
611
620
625
609
624
607
606
612
625
608
614
608
604
620
615
615
606
604
612
603
609
616
612
638
606
606
639
628
617
637
620
636
631
634
617
612
631
614
612
610
616
608
620
616
615
606
615
614
606
603
637
620
625
601
639
631
606
614
614
628
628
632
611
611
621
614
626
606
632
620
609
612
631
627
613
606
621
612
611
612
640
602
621
621
619
616
616
610
620
606
640
606
622
633
617
610
605
605
608
605
629
620
614
612
618
613
605
625
637
613
631
604
618
603
611
629
603
623
617
619
624
631
606
623
606
608
640
625
633
614
611
607
616
606
602
604
613
614
617
614
602
621
625
606
632
640
622
630
620
608
613
626
632
617
621
631
601
632
612
610
613
617
614
603
613
602
640
621
609
617
619
608
608
615
622
623
609
608
613
610
610
612
609
605
620
605
620
613
617
603
634
609
612
605
610
639
618
605
621
638
621
626
631
608
610
616
620
628
626
635
616
605
616
614
608
616
618
609
610
608
623
618
620
602
602
620
614
609
612
607
603
616
606
610
625
623
630
615
626
612
602
630
602
602
615
632
615
603
606
632
606
604
623
612
603
632
606
611
603
616
635
623
618
625
635
611
602
621
602
614
603
630
622
608
636
630
610
606
615
610
617
607
606
609
607
607
619
611
631
625
614
623
629
617
620
619
608
615
619
608
614
604
623
617
605
623
614
608
610
617
602
621
625
639
617
620
613
610
620
639
610
614
617
614
616
606
634
635
610
614
605
631
626
613
628
634
636
614
621
617
605
620
617
616
619
618
621
610
601
627
628
613
614
633
625
607
620
604
613
632
603
608
634
603
615
614
618
610
630
632
630
605
610
629
613
607
610
603
611
611
612
607
611
623
628
606
637
618
604
628
631
616
623
624
603
611
623
620
602
608
617
631
620
626
601
609
626
626
639
620
623
611
634
627
616
634
622
626
613
626
609
632
609
613
604
616
625
619
623
624
610
639
612
604
623
623
605
618
631
617
623
612
631
620
636
638
634
625
630
632
625
609
621
629
602
625
614
619
631
632
608
620
617
628
617
611
617
602
616
605
629
617
614
623
639
606
627
631
603
625
615
636
604
617
609
605
606
609
610
635
625
615
606
624
636
626
632
609
632
608
606
629
602
609
639
615
611
606
604
627
627
619
629
608
606
620
607
616
630
613
623
609
621
630
626
636
612
630
628
631
629
638
608
614
621
623
603
602
633
616
613
606
613
618
603
618
623
610
617
602
639
628
620
618
605
627
614
629
612
632
608
609
606
628
634
631
604
609
617
612
609
606
618
626
611
606
634
608
610
602
633
610
639
610
631
609
625
618
604
621
605
635
639
620
610
609
628
612
608
618
628
610
613
632
627
626
621
620
612
611
618
619
625
610
628
606
630
609
624
632
607
639
609
620
640
636
613
639
614
626
635
606
622
609
612
617
622
606
608
610
639
606
609
620
611
613
606
604
620
614
639
618
611
608
612
634
638
620
629
631
627
633
624
605
599
600
629
614
606
612
612
632
607
604
618
630
623
630
605
610
621
614
602
614
608
615
612
625
612
619
606
601
615
610
625
620
626
614
634
624
631
619
609
625
620
635
606
621
637
626
604
615
612
630
606
609
604
622
624
619
626
630
610
603
625
601
607
616
612
602
620
617
625
612
617
607
615
606
612
611
614
603
626
603
612
638
611
632
606
622
626
632
619
634
615
624
613
612
603
635
611
627
605
612
620
610
616
602
617
612
628
639
620
632
613
610
612
617
609
620
613
622
612
605
609
614
614
608
639
619
635
622
623
615
617
631
623
626
606
636
639
603
626
630
615
606
628
613
617
611
617
615
615
607
629
603
632
606
611
610
623
613
620
609
611
640
609
613
629
599
603
626
639
612
604
602
608
632
633
637
617
604
638
622
613
602
613
605
618
623
604
613
621
607
634
606
618
623
618
623
630
604
619
625
608
620
605
635
635
607
603
622
619
623
618
612
615
617
617
612
622
633
626
609
605
626
606
628
615
611
605
612
623
606
617
621
614
608
605
632
627
622
623
620
605
603
622
629
620
626
627
624
609
640
634
629
606
623
623
638
622
616
602
615
617
608
632
617
615
614
621
609
603
618
609
615
629
606
614
606
624
620
626
609
613
615
613
608
608
611
622
619
605
618
619
611
622
618
623
605
613
605
605
633
610
609
616
608
613
640
622
616
623
598
606
611
631
607
612
616
606
631
619
608
601
637
605
624
636
608
613
616
629
631
626
630
613
605
623
609
628
605
607
622
639
617
614
609
608
613
604
639
610
611
613
611
624
603
615
620
626
605
630
608
631
608
630
624
632
623
618
614
607
625
629
614
609
633
603
623
632
632
601
606
635
607
610
604
631
618
604
608
636
606
621
608
607
608
614
615
619
632
615
631
633
627
620
608
611
605
621
620
603
609
630
603
619
619
629
621
628
631
615
634
604
604
631
639
635
620
613
630
613
625
625
630
613
634
631
623
631
621
603
609
609
611
612
612
612
623
616
605
625
634
629
639
618
605
614
610
608
609
614
621
625
613
625
603
610
609
616
612
621
632
626
633
614
628
616
617
614
602
632
621
637
617
608
605
625
617
619
609
604
631
616
600
630
615
610
613
606
639
610
620
626
619
607
605
623
613
639
624
607
634
621
608
605
608
614
608
606
619
612
605
605
610
602
603
616
613
604
620
609
632
610
603
611
621
632
606
619
628
618
632
639
629
630
613
606
621
610
623
614
615
635
634
618
620
617
639
606
631
628
615
631
603
609
619
616
619
613
618
611
624
630
628
601
603
606
630
626
620
626
621
623
608
617
610
628
611
608
623
630
609
634
626
609
628
619
624
604
606
611
607
615
613
606
635
613
629
616
626
608
614
605
632
631
622
635
618
608
616
615
619
617
602
626
629
628
632
626
623
623
627
631
609
603
612
629
613
613
605
603
620
608
613
631
614
600
632
623
624
631
623
608
614
617
629
603
617
626
623
609
602
606
617
605
639
609
615
602
606
611
625
616
617
604
614
607
609
622
609
631
616
629
606
611
607
613
602
602
631
609
609
632
639
639
608
617
604
619
602
625
604
619
605
614
612
628
623
628
610
605
610
605
613
618
610
614
623
610
632
612
626
605
616
617
604
622
617
614
607
615
620
607
639
609
609
602
639
619
613
613
604
606
609
614
608
622
608
611
625
621
623
622
625
640
633
609
612
603
606
629
602
620
625
614
630
606
604
613
613
608
614
611
631
634
610
620
630
623
603
622
617
639
633
613
619
609
613
622
628
612
611
628
605
612
611
611
609
622
634
617
603
609
615
615
626
607
613
604
620
631
603
628
600
628
622
626
602
635
626
610
605
609
619
611
604
633
633
616
612
620
615
622
621
613
623
605
627
618
623
610
614
614
607
628
622
609
617
605
606
621
611
605
611
607
627
606
611
628
631
637
600
607
616
608
612
609
610
606
629
605
613
639
604
612
618
634
605
637
633
631
610
603
623
614
623
611
637
619
604
629
621
601
610
608
617
635
627
614
618
625
629
608
626
602
605
611
604
609
630
623
607
632
619
639
639
637
603
635
634
603
637
620
620
620
623
616
613
635
622
617
621
633
628
602
606
619
614
613
626
612
606
601
604
613
599
619
621
619
625
632
604
624
632
625
610
609
629
624
625
610
600
611
639
624
623
632
618
627
611
603
637
621
611
607
631
607
618
626
610
611
609
627
607
606
617
639
618
614
639
633
606
629
606
608
617
621
606
616
606
617
608
609
632
611
611
599
602
619
616
629
608
631
613
625
632
619
617
632
621
618
611
616
623
609
617
613
615
605
624
602
608
617
620
631
620
614
603
619
635
613
616
616
625
604
632
607
624
606
629
621
615
610
605
626
615
605
612
632
611
617
619
616
629
604
632
610
619
626
613
623
606
605
617
614
604
607
639
640
613
611
604
611
623
628
609
617
621
604
631
628
608
619
639
608
615
625
624
606
609
606
602
614
619
622
605
604
621
623
605
631
614
606
621
615
635
626
617
614
638
623
626
641
621
639
617
629
604
622
607
609
639
604
636
604
639
632
613
628
635
607
639
609
626
606
624
606
628
613
616
608
621
630
614
607
609
617
614
617
609
611
631
607
613
611
622
604
622
605
630
615
627
605
629
626
603
625
602
608
612
609
610
617
615
602
623
629
605
617
601
603
607
603
609
639
630
631
632
603
625
635
612
605
639
613
614
600
631
608
610
627
639
617
610
614
602
623
631
605
613
631
623
611
627
625
605
604
611
630
617
617
623
602
622
605
603
619
610
609
619
633
617
612
607
611
614
628
625
611
635
628
635
600
616
625
628
610
613
609
614
611
609
625
617
633
633
610
613
628
614
632
630
612
639
605
613
605
622
617
609
635
609
615
619
620
626
609
622
618
614
617
634
608
606
611
614
606
639
632
639
623
616
619
607
626
631
614
609
602
613
608
618
636
631
615
611
620
615
613
606
614
626
607
620
621
622
623
604
628
607
617
640
605
613
625
632
621
611
609
614
613
640
623
628
610
638
612
618
623
633
617
633
608
605
609
628
626
624
630
630
628
640
632
625
625
615
622
608
613
622
633
628
610
615
636
611
603
611
610
631
605
613
621
607
611
610
607
613
621
604
609
623
612
635
609
623
611
602
612
608
636
625
613
630
605
609
605
611
621
630
603
622
633
622
619
620
615
608
617
617
632
603
622
634
639
607
606
639
617
608
613
612
626
610
617
625
614
641
635
602
631
614
622
631
608
621
630
623
603
631
607
604
611
637
615
630
614
614
627
605
607
620
604
613
603
620
620
604
611
623
621
635
623
607
609
604
619
613
628
614
604
618
639
602
603
636
605
607
634
637
612
606
621
618
632
626
626
627
608
609
639
627
629
617
611
609
606
623
606
622
613
614
613
617
632
635
613
619
624
624
610
613
614
631
632
621
631
610
607
622
623
614
609
617
628
612
617
625
624
628
615
612
618
606
609
623
629
606
606
613
623
628
606
608
609
635
612
613
635
601
607
625
610
608
606
636
605
629
617
613
639
603
623
626
620
605
605
632
623
611
639
604
606
625
628
621
606
605
627
606
637
620
603
632
613
607
608
610
603
609
624
607
602
637
625
622
640
613
623
607
609
624
609
609
602
631
604
632
611
611
632
619
609
634
624
613
610
620
620
621
604
639
626
640
604
628
622
611
618
640
614
639
606
616
606
618
602
616
621
613
609
619
612
613
601
603
613
626
629
617
623
610
628
622
620
625
608
630
631
614
636
614
616
608
606
620
608
602
602
635
608
619
612
639
636
635
636
635
629
603
617
621
613
611
610
639
617
632
624
639
621
611
610
613
610
608
632
608
626
635
617
601
610
614
605
632
599
604
630
610
625
635
611
612
611
624
617
611
605
609
608
606
634
609
628
610
605
611
606
607
634
618
608
639
604
621
603
610
611
623
632
603
603
628
623
611
605
615
624
608
612
637
632
619
614
613
619
608
603
628
623
622
631
616
619
613
614
615
639
622
615
609
604
608
633
615
619
620
617
606
616
607
609
620
611
604
621
622
607
611
612
606
610
631
610
634
603
625
608
607
628
612
611
617
622
605
607
622
608
621
609
618
619
603
614
604
608
631
606
625
615
623
636
630
634
609
627
627
613
606
623
627
637
616
622
606
604
604
611
609
604
622
609
606
607
607
619
628
626
609
629
602
602
612
623
607
618
624
615
607
612
632
632
603
625
614
605
611
635
612
620
608
612
625
632
619
613
622
613
603
624
611
616
615
602
618
604
626
609
616
608
621
606
634
625
623
614
635
617
617
612
628
631
603
609
613
625
603
620
607
628
613
630
603
607
623
619
606
629
620
617
617
628
610
617
610
615
617
617
623
605
623
606
624
623
604
610
610
610
616
620
608
607
629
616
609
608
639
604
632
606
635
611
630
607
624
618
635
621
615
603
618
610
625
637
610
609
609
616
606
618
625
617
613
602
621
622
609
609
609
616
603
605
613
629
610
635
610
627
609
610
627
608
635
620
612
617
614
628
603
618
602
617
632
605
608
612
614
639
605
614
614
610
604
628
632
613
630
610
603
608
610
635
631
604
616
631
624
611
622
623
627
621
627
610
622
635
617
631
607
617
609
616
624
608
639
629
605
627
631
613
617
639
611
637
621
628
616
605
612
618
640
611
623
615
625
638
605
608
621
616
613
626
615
608
626
609
623
614
604
626
603
608
621
617
617
625
608
639
611
608
609
613
629
610
608
608
607
606
631
616
606
621
606
608
606
619
616
623
614
606
605
631
623
609
620
629
615
606
627
601
627
609
632
603
604
633
623
617
620
625
606
623
619
619
604
603
632
604
605
616
603
609
620
618
615
610
623
604
616
617
639
626
625
631
617
609
632
602
599
604
620
630
626
623
609
629
613
608
606
605
608
626
605
606
621
618
631
620
635
619
614
626
608
626
617
614
621
631
609
615
624
618
616
625
612
622
623
610
606
620
611
633
637
626
613
618
620
625
630
603
601
615
612
622
611
602
622
602
632
622
609
632
617
621
609
616
622
628
605
622
630
614
622
618
612
606
610
612
613
606
606
615
613
614
609
608
616
622
614
618
626
630
616
639
626
608
620
635
621
623
632
634
621
610
617
603
631
610
617
607
632
623
620
617
623
624
636
614
611
631
614
628
607
619
612
628
615
631
603
613
607
611
613
623
614
614
624
631
614
626
607
627
611
608
620
619
610
615
613
622
630
618
609
618
620
608
615
620
626
610
632
608
609
617
613
615
619
631
604
629
604
622
618
626
604
632
625
623
606
639
604
608
605
616
605
617
617
609
606
611
619
631
611
632
603
620
621
618
619
622
612
604
634
637
609
613
611
620
616
630
622
621
617
604
627
619
602
606
623
609
620
620
614
622
605
609
626
638
639
609
630
610
608
607
635
603
608
613
603
621
625
630
624
604
607
618
635
612
629
611
629
605
602
612
602
608
623
632
619
628
620
618
608
622
613
633
604
625
631
623
630
630
614
613
608
608
608
604
608
603
615
615
629
628
606
631
628
610
612
610
618
624
632
620
631
621
631
617
608
616
628
627
614
617
625
613
610
622
626
605
611
611
610
613
635
606
610
630
639
608
629
614
610
639
614
635
639
604
631
612
636
620
605
613
628
621
632
630
607
621
611
615
610
606
619
615
608
615
629
623
624
603
615
626
630
615
635
639
606
613
628
620
624
623
611
626
625
611
607
615
609
614
634
618
615
622
610
628
630
635
632
608
613
614
635
633
623
633
625
603
603
630
613
616
622
626
603
614
612
627
605
635
608
617
610
609
611
606
602
612
629
615
632
608
625
608
617
630
623
604
617
607
634
609
625
628
632
615
632
608
633
629
631
605
609
614
640
626
608
607
608
607
608
621
604
623
608
615
605
635
628
602
604
604
636
607
614
634
622
632
626
613
609
631
606
626
618
631
608
622
619
602
617
634
612
615
624
605
632
624
612
616
621
606
637
631
625
607
621
632
611
614
623
605
628
607
617
631
612
631
607
614
624
623
612
603
608
622
619
621
633
629
629
602
623
622
604
610
604
608
616
609
639
639
628
608
618
605
609
617
625
624
623
636
616
623
623
615
614
633
605
624
607
606
613
629
632
603
607
629
616
614
623
615
608
610
612
613
639
614
627
635
612
612
614
631
634
634
620
618
611
613
607
634
610
605
607
617
635
607
629
623
627
618
617
617
640
603
625
623
619
611
619
605
615
604
629
620
640
628
627
605
610
604
607
618
608
632
632
622
628
635
602
606
606
606
608
602
626
625
606
639
607
612
626
626
630
604
631
633
611
639
610
605
610
629
628
617
639
622
617
633
609
608
617
606
610
639
624
618
618
622
624
613
608
623
632
602
606
626
631
608
619
639
605
606
620
624
601
625
631
635
629
635
622
620
606
618
616
629
602
614
628
627
608
617
608
618
609
635
603
615
616
616
622
606
621
629
627
609
633
607
616
639
606
603
640
632
608
608
609
635
611
604
620
622
620
632
624
617
609
634
611
608
602
615
618
611
615
639
600
620
610
622
615
610
607
613
605
637
603
623
632
608
612
640
620
613
610
623
635
609
617
609
606
602
626
616
615
607
603
621
610
617
612
626
619
634
610
602
624
604
617
609
607
615
613
609
614
606
620
639
625
628
610
618
611
608
623
605
613
609
608
610
607
614
625
613
639
634
634
610
623
610
603
606
631
618
611
609
631
608
606
608
607
609
624
604
630
628
612
616
623
610
611
615
599
623
628
612
618
616
618
608
624
615
634
614
610
608
619
615
635
612
636
621
613
617
631
603
635
617
603
608
624
608
606
621
606
625
618
617
619
602
624
621
614
627
615
608
637
615
610
623
634
620
624
638
613
622
617
611
632
609
614
632
614
616
617
623
608
618
612
605
633
601
632
616
622
617
615
631
632
605
609
608
608
610
623
620
612
599
629
611
628
618
632
610
613
626
615
609
626
618
610
618
605
625
626
615
603
627
632
617
617
602
613
605
609
636
624
614
605
609
622
614
611
605
608
623
605
608
608
616
632
634
603
615
625
616
623
631
621
610
622
604
628
622
639
629
628
610
606
616
621
606
623
619
608
619
610
611
631
616
629
633
607
611
615
631
608
623
608
609
607
609
612
614
621
624
632
639
623
627
610
625
636
611
607
609
605
630
629
626
633
616
604
626
609
603
634
632
621
620
639
619
624
628
618
615
604
617
613
612
628
637
606
616
620
615
620
625
638
607
626
606
605
609
609
622
618
610
606
636
608
613
616
608
635
612
610
607
624
610
635
639
605
613
619
620
620
627
609
613
609
635
612
602
608
634
608
606
628
633
610
627
617
618
619
632
618
608
617
630
619
604
629
604
616
639
610
630
625
622
630
616
621
605
608
613
606
635
609
609
632
624
621
626
618
614
613
606
621
620
625
628
601
604
630
605
634
630
610
632
614
629
603
632
603
608
607
609
610
614
621
603
615
617
608
604
616
632
612
617
613
605
614
626
611
628
611
603
604
637
605
632
629
617
615
625
618
618
634
625
601
606
625
621
616
602
615
612
627
619
611
602
612
628
621
623
613
613
612
625
610
635
622
632
617
622
621
625
611
625
616
639
621
613
614
625
609
632
620
619
622
637
606
612
626
624
606
618
609
633
608
622
606
629
626
632
615
616
615
604
626
617
639
632
623
629
613
616
621
614
625
612
611
622
633
605
628
612
612
623
611
612
611
605
632
628
610
616
634
609
612
605
613
633
639
613
603
610
606
621
611
610
605
621
618
617
609
602
603
606
638
622
615
606
635
609
611
605
601
608
609
632
635
633
616
626
620
617
612
615
632
619
606
612
609
611
612
607
629
622
609
631
614
613
620
632
611
631
619
629
604
631
635
631
604
616
613
631
616
614
615
634
606
610
617
624
614
604
623
622
620
605
608
631
623
627
614
604
604
623
622
610
613
607
632
639
612
603
619
602
632
627
616
629
622
612
627
602
617
603
632
615
633
618
618
607
609
614
638
630
627
609
619
622
616
623
604
623
608
618
614
612
604
626
617
614
605
609
605
605
606
629
625
611
626
611
631
621
617
610
615
631
630
605
610
614
620
622
621
637
607
603
623
626
609
620
629
615
609
625
608
614
606
631
612
627
620
629
599
630
626
623
622
627
607
627
623
633
612
612
626
602
631
631
614
616
615
612
608
619
635
620
604
606
606
611
608
640
605
603
602
613
606
602
625
625
610
630
616
606
623
604
606
628
610
607
633
632
640
626
607
606
623
622
620
612
613
630
620
623
631
612
608
604
614
639
612
613
610
606
603
621
604
628
605
618
623
609
625
632
628
617
604
614
618
605
635
616
608
624
609
614
616
620
607
624
609
612
629
605
622
610
617
627
611
606
610
617
629
635
615
607
617
609
611
617
608
624
605
635
610
615
616
632
615
624
614
617
619
601
627
613
611
617
605
602
625
617
630
622
610
605
630
613
606
614
608
631
623
630
606
629
630
622
605
608
610
631
603
619
604
622
622
625
630
634
599
611
619
608
604
639
617
609
609
623
613
612
608
610
617
626
614
614
631
610
624
628
620
610
618
640
638
631
624
612
606
607
613
630
625
632
608
614
606
606
605
613
627
634
613
629
626
611
622
623
622
623
613
629
608
628
621
614
623
630
619
618
622
617
614
608
614
613
619
607
602
609
604
618
612
620
621
619
632
618
639
608
610
610
617
629
610
601
613
626
608
602
617
608
618
608
620
623
610
608
622
634
605
638
607
639
615
606
620
639
613
608
617
610
623
610
610
604
626
606
629
607
609
618
608
606
603
621
610
607
612
614
605
617
613
619
619
615
636
612
602
623
635
620
632
614
617
602
630
613
616
615
639
599
634
605
630
633
616
604
613
629
610
618
615
603
623
614
604
614
606
626
606
608
613
603
614
622
614
614
626
613
637
635
611
626
606
637
604
603
632
610
613
622
623
618
616
639
618
611
619
604
610
612
610
640
608
606
621
614
613
612
616
610
614
633
605
603
620
619
604
621
633
602
617
623
609
610
630
607
628
632
626
615
629
627
611
616
622
602
634
625
607
637
609
613
600
625
612
623
621
612
632
605
610
609
614
605
620
621
630
629
629
610
622
629
614
616
631
606
610
608
613
612
624
610
639
616
606
614
603
632
606
630
614
611
615
611
617
608
639
617
636
640
623
629
630
638
614
603
619
613
622
609
634
632
619
611
636
605
620
616
629
639
607
610
608
622
608
606
618
636
617
610
623
602
601
632
634
604
603
602
639
625
623
614
610
632
613
624
617
629
620
634
608
631
606
604
625
633
618
623
604
609
606
626
608
611
639
614
619
609
614
613
617
611
629
611
609
631
618
612
621
626
634
614
626
617
614
608
620
619
617
604
612
614
625
617
617
625
602
608
619
620
626
604
608
611
627
607
608
623
608
626
621
605
606
639
612
630
611
621
608
631
634
608
607
629
608
639
612
631
623
604
610
603
606
611
617
624
601
620
637
632
621
620
638
610
603
632
637
632
621
629
620
630
604
614
608
619
619
604
605
606
603
599
604
607
611
617
619
632
632
612
634
628
625
611
610
639
638
601
610
614
611
607
610
623
613
621
626
613
613
608
606
636
622
613
614
608
623
619
615
631
639
609
609
613
602
617
614
626
602
623
607
604
624
608
632
618
613
613
613
608
615
623
611
623
630
621
612
618
626
604
619
609
614
607
618
609
609
616
615
621
624
622
629
621
616
613
606
607
623
626
623
639
621
618
607
617
633
622
618
614
610
620
626
627
632
622
612
619
610
608
634
629
604
632
613
613
628
626
602
630
608
608
610
628
619
607
604
620
628
620
629
605
632
639
635
609
631
615
626
615
614
621
604
614
632
632
603
606
610
615
617
626
632
611
611
620
637
604
622
626
612
615
603
636
613
617
626
626
624
610
628
605
619
612
607
619
639
634
631
615
635
608
615
629
634
628
611
632
614
625
617
615
630
614
626
620
611
635
606
623
613
605
608
609
626
612
615
615
615
626
604
621
629
609
619
618
613
603
630
606
617
615
614
604
609
623
612
621
608
614
614
629
625
635
621
609
618
607
606
625
619
613
616
622
608
613
640
628
611
616
604
614
627
625
606
632
603
622
614
620
625
608
619
616
620
610
604
610
614
625
626
605
621
609
615
622
630
603
600
602
632
614
603
608
617
614
609
620
627
616
613
625
623
613
612
622
617
635
635
602
624
615
635
603
613
620
621
604
612
629
608
613
604
605
615
612
615
614
618
621
634
611
631
609
632
605
624
612
615
632
608
607
610
618
628
628
616
616
616
620
606
619
604
609
620
621
622
609
611
635
618
613
609
606
619
638
623
608
606
628
615
608
621
607
626
610
605
632
624
615
606
604
604
609
608
625
610
610
609
614
612
615
635
628
633
620
623
626
613
630
604
615
634
639
616
639
606
606
603
615
618
624
607
611
634
614
613
616
623
611
605
605
631
631
613
614
603
619
619
614
631
609
613
618
609
622
602
619
623
603
608
610
607
602
628
630
621
603
613
625
612
639
619
620
617
628
630
614
606
605
607
610
606
624
635
631
611
614
621
604
627
624
628
608
613
614
603
622
607
618
607
632
624
624
624
618
609
608
618
631
633
624
607
626
629
608
619
631
609
606
620
611
616
613
606
626
613
608
634
610
639
605
603
608
606
613
613
604
632
629
610
612
617
609
631
633
605
611
626
624
609
621
608
626
623
618
602
629
626
610
607
602
613
632
615
623
606
633
613
632
607
603
619
616
625
631
620
635
639
614
614
606
626
612
622
603
631
615
622
605
619
617
632
625
605
605
603
607
635
639
611
613
614
628
630
620
615
617
609
617
603
633
607
632
607
617
617
625
624
613
618
605
622
616
639
610
613
635
605
614
603
609
629
630
624
632
609
605
623
621
611
639
610
607
627
625
612
617
612
608
614
614
639
607
629
615
609
639
600
604
619
609
632
616
617
619
620
619
611
606
613
607
631
607
623
601
603
618
606
630
612
620
607
606
604
621
620
631
613
632
618
609
609
640
604
614
602
608
616
628
607
604
619
605
603
621
619
615
610
616
613
629
630
611
601
628
622
631
630
609
630
627
618
613
626
615
635
630
601
616
623
631
631
612
616
610
629
607
607
630
610
608
609
629
620
629
609
639
617
626
608
618
615
614
630
639
615
622
609
633
628
609
612
604
621
632
610
612
612
635
604
627
632
622
633
626
607
639
608
622
628
614
615
617
613
606
625
602
633
628
606
623
615
631
622
607
617
609
607
622
629
604
634
622
612
622
604
615
632
610
617
610
625
639
623
608
602
622
624
623
634
606
599
638
611
630
632
618
609
608
615
637
620
620
604
619
639
609
620
625
609
617
606
609
617
609
608
602
623
617
629
621
616
614
629
608
611
621
616
615
630
609
609
631
631
620
621
610
600
630
623
607
606
614
611
625
604
602
625
623
606
606
624
603
625
622
622
634
613
620
626
612
607
628
614
617
615
612
600
609
605
628
613
611
634
627
633
615
626
613
632
629
609
609
618
625
626
626
623
619
610
603
617
626
615
617
606
626
635
604
618
620
608
618
612
615
610
616
612
632
611
608
620
625
627
619
606
617
625
639
630
626
625
602
610
631
608
617
613
604
631
626
624
617
609
613
609
632
603
616
632
623
618
610
611
613
625
619
631
609
615
614
606
605
632
628
629
627
619
605
620
615
619
611
631
614
625
614
623
613
608
625
627
611
604
623
612
634
619
632
609
618
627
608
628
623
637
620
603
625
632
611
613
632
610
630
611
614
631
629
625
617
619
637
608
607
639
608
631
617
622
622
610
604
605
620
629
608
602
631
613
621
625
620
613
605
624
616
625
625
614
605
630
612
635
621
619
622
624
623
614
613
610
602
609
606
621
614
620
618
620
608
622
610
619
606
635
612
612
604
604
619
626
602
639
614
618
632
610
615
612
632
603
622
617
621
617
608
614
625
626
639
613
611
605
623
611
626
608
613
632
605
610
621
632
610
606
613
621
611
605
624
607
618
613
611
612
623
621
604
634
627
623
625
612
632
620
619
627
622
607
605
623
623
630
630
606
624
613
630
605
627
632
621
615
631
609
617
608
615
631
633
620
606
613
603
622
615
628
605
622
628
612
602
617
610
619
639
633
619
618
604
602
612
620
629
622
618
623
625
618
635
618
631
611
629
603
611
629
603
619
617
636
604
603
615
604
613
631
618
619
621
628
632
616
618
623
624
610
624
628
606
613
617
635
627
632
626
604
616
624
606
616
633
610
618
607
626
601
604
616
617
606
608
632
609
628
624
608
609
611
609
602
625
620
611
621
617
605
620
639
617
605
623
625
619
629
639
630
609
606
620
619
604
603
614
632
639
613
608
639
630
609
612
627
636
628
606
606
602
618
629
610
632
603
623
609
603
608
610
620
634
609
605
616
622
609
632
629
637
604
623
605
613
639
620
610
605
606
627
629
611
609
601
633
600
639
614
631
618
609
608
609
616
617
614
611
608
632
611
613
612
623
624
614
637
621
635
607
622
636
604
614
610
617
610
619
623
622
611
621
613
622
629
622
604
617
623
614
617
603
635
631
632
605
603
635
617
624
630
612
628
617
613
608
633
639
631
633
606
630
617
602
603
618
611
629
614
603
604
608
608
612
602
623
611
612
614
631
612
608
611
615
615
634
640
606
614
632
618
632
605
626
609
607
626
613
629
608
613
632
607
603
639
614
609
625
611
617
630
617
622
615
614
623
623
610
599
617
613
639
626
607
614
614
611
632
607
609
605
609
624
610
631
639
620
630
628
612
635
624
630
637
623
615
613
623
625
608
625
609
608
626
619
629
604
619
612
607
619
604
603
607
623
603
616
613
625
631
634
616
618
618
613
640
607
610
614
623
607
623
616
604
603
623
603
621
617
622
622
617
618
617
603
622
605
630
619
606
618
609
614
623
626
614
626
625
632
618
625
632
617
630
629
609
632
618
610
613
616
613
635
625
613
611
614
610
611
628
606
630
608
626
639
617
622
620
614
602
632
609
607
635
603
614
617
627
628
625
619
603
607
603
619
606
621
618
622
605
612
603
610
639
631
603
620
606
610
618
610
606
640
619
605
634
612
618
626
613
616
614
624
609
636
605
614
607
625
606
609
620
639
623
603
619
631
633
632
621
632
627
622
632
618
628
617
607
620
641
624
603
625
631
628
599
626
607
626
626
639
614
625
618
618
607
618
607
612
599
608
608
605
613
611
620
612
608
609
617
613
604
605
624
631
620
609
604
607
633
616
622
606
615
600
619
625
606
608
602
628
621
613
623
622
608
617
615
618
624
623
616
619
628
605
628
628
609
613
620
617
612
629
602
621
614
621
624
615
607
626
630
605
608
610
605
616
603
606
610
617
604
609
635
620
604
606
626
605
639
631
631
627
632
632
618
616
619
622
623
611
618
632
632
630
614
618
609
613
623
608
629
620
632
612
608
621
614
613
614
637
629
609
624
632
602
604
621
631
610
623
630
628
608
622
615
603
608
617
608
625
611
625
629
631
639
616
614
617
614
639
622
628
614
632
618
601
623
628
613
608
631
615
613
613
624
604
614
611
603
615
622
615
634
635
623
634
611
626
631
606
630
619
608
612
613
609
621
604
622
612
631
615
631
623
609
639
621
640
615
630
629
619
609
611
634
604
606
634
616
604
612
625
611
632
625
600
637
635
621
603
603
615
609
619
605
606
634
610
621
611
614
625
624
608
632
607
615
602
627
632
640
607
606
625
619
631
614
610
631
620
609
607
608
633
602
623
613
627
613
601
632
611
621
623
617
618
617
636
619
618
609
614
632
603
625
631
614
630
622
629
636
616
635
613
631
607
625
622
602
619
625
614
610
621
604
609
609
606
617
626
623
615
617
603
617
620
615
608
635
614
619
627
638
625
624
613
605
639
635
612
611
625
611
606
609
612
609
619
623
618
634
616
613
606
610
606
607
622
629
624
628
634
603
621
609
614
611
607
626
620
621
617
628
602
613
634
602
624
632
634
620
622
604
605
619
619
611
610
619
625
614
606
613
611
618
616
617
611
633
628
619
626
607
630
632
623
607
619
603
618
621
608
615
624
620
634
611
616
619
604
631
605
635
628
632
607
615
623
611
627
623
616
614
620
621
626
612
623
602
618
627
609
610
633
640
622
603
603
627
608
618
625
613
611
620
630
604
620
615
606
610
621
614
611
600
626
614
633
606
639
609
634
605
601
609
612
610
623
613
603
614
617
623
605
604
615
627
622
611
625
621
602
626
631
614
616
632
615
608
611
639
605
634
612
626
612
607
618
616
607
607
633
604
615
606
621
615
626
613
639
620
608
620
630
607
630
637
612
632
604
619
605
614
607
615
620
604
614
619
604
623
602
627
634
629
626
636
627
607
625
614
632
604
629
639
639
606
631
614
629
632
627
622
633
632
625
613
618
611
609
625
610
612
617
635
613
639
613
623
618
623
610
611
616
613
613
605
610
607
607
604
619
623
608
614
639
631
639
629
608
617
618
639
633
602
621
603
610
617
607
622
608
623
603
637
603
612
604
627
618
628
616
619
604
619
605
634
613
614
608
617
615
632
621
610
620
607
614
600
630
606
612
603
609
613
610
614
617
639
612
631
610
622
615
633
629
629
608
613
608
608
622
626
611
634
612
607
603
623
612
608
615
631
620
615
602
635
609
605
639
603
606
619
628
619
623
627
625
624
619
610
617
616
606
636
615
625
624
607
621
601
628
616
612
621
610
621
606
603
624
614
610
636
631
626
608
611
611
633
604
633
625
605
619
610
603
628
613
611
639
618
636
623
608
606
602
611
610
622
620
622
617
622
629
639
617
614
639
616
608
635
605
617
639
611
607
624
616
639
640
633
606
625
616
613
625
636
631
608
608
618
628
624
606
610
623
627
627
631
613
608
614
639
620
612
611
617
604
618
616
609
619
620
608
632
611
612
618
605
631
606
632
619
617
637
608
638
609
632
629
607
629
613
616
609
621
622
629
612
606
627
632
612
619
608
639
608
613
612
624
611
602
622
622
606
623
622
610
632
604
605
639
608
601
634
622
609
613
626
631
605
632
635
617
624
611
607
611
604
632
622
607
617
617
617
617
631
622
609
626
619
624
629
607
608
606
635
616
631
622
611
632
629
629
614
601
623
608
606
622
607
609
622
612
610
615
637
622
626
607
629
610
619
628
611
610
620
634
639
603
613
629
603
617
608
608
623
604
618
609
608
627
631
620
618
607
613
608
604
618
605
615
639
626
622
602
622
604
620
605
612
615
634
622
613
609
621
626
609
623
610
639
609
632
627
610
609
631
619
619
616
622
628
625
632
635
629
608
638
633
626
611
621
618
621
608
622
617
606
639
612
608
604
628
605
613
627
611
624
609
602
616
632
614
614
618
623
626
607
604
616
610
631
632
619
639
623
602
617
633
622
611
629
609
612
604
622
603
624
617
616
629
613
630
639
604
617
624
604
631
624
612
613
615
632
606
618
609
612
622
621
618
619
605
608
619
603
606
626
604
611
609
613
611
633
612
616
611
608
619
631
623
614
631
626
604
618
623
606
621
606
616
607
633
614
619
619
617
613
609
602
603
611
614
611
639
625
625
605
620
624
621
613
614
613
612
611
609
622
610
619
634
625
605
605
604
621
606
605
613
612
639
635
623
614
611
631
627
626
608
613
602
614
606
619
628
606
613
623
626
621
622
609
631
627
629
628
621
617
623
616
625
634
632
615
618
632
610
614
625
606
616
608
614
628
621
626
604
620
605
606
609
631
628
628
623
603
610
604
630
620
611
614
604
611
625
612
605
627
632
605
613
623
605
609
620
609
607
631
620
613
609
624
631
611
610
613
619
609
608
619
607
617
619
632
608
614
612
603
621
614
610
614
623
613
616
617
603
621
619
606
606
611
610
629
618
625
613
633
615
619
620
600
629
631
603
603
624
611
620
636
614
613
627
619
613
607
612
624
604
621
612
627
623
617
602
627
605
602
631
621
639
627
609
614
619
606
610
609
602
611
612
614
624
607
626
616
605
609
633
626
613
640
626
632
609
624
639
633
611
629
610
609
603
607
603
611
603
626
618
615
608
618
608
624
619
632
612
629
616
620
606
617
606
603
622
605
631
604
614
607
619
631
609
607
634
613
608
634
626
603
612
615
623
629
629
605
605
622
616
635
612
613
606
604
632
631
614
632
620
628
621
635
615
606
626
615
626
611
620
634
636
628
633
618
606
610
612
639
613
607
622
638
629
631
620
632
613
624
609
626
618
637
615
610
611
623
609
632
612
623
634
607
623
639
635
613
617
612
618
603
631
616
602
616
608
612
621
614
613
622
602
622
631
618
629
606
608
609
613
616
617
604
613
617
606
617
604
617
600
605
630
620
635
640
615
626
629
626
619
615
628
639
608
639
625
634
634
617
631
614
606
609
618
611
622
614
613
605
617
612
607
601
630
624
602
608
639
624
622
620
633
610
618
612
610
631
623
623
610
617
612
622
607
624
628
621
612
605
608
621
611
610
609
621
617
620
602
620
614
630
617
634
619
631
608
611
624
609
630
607
610
604
634
630
603
635
603
606
624
616
617
611
612
622
602
638
604
635
601
609
614
620
623
614
632
615
626
613
622
603
627
631
607
620
608
620
617
621
639
605
619
621
639
634
610
608
615
615
627
616
624
627
626
603
604
629
602
631
617
617
623
617
609
611
623
607
606
608
630
616
617
619
623
614
619
610
606
636
613
636
623
632
619
619
634
620
603
623
632
631
626
608
605
628
618
610
613
611
609
616
609
630
614
621
607
617
620
603
613
611
604
614
618
629
619
611
627
617
605
604
606
608
629
610
639
626
621
632
613
618
623
628
606
601
607
604
620
620
606
631
613
625
626
609
637
603
609
632
604
622
613
602
632
631
636
612
634
613
614
609
616
637
625
606
629
617
634
607
627
605
617
640
610
623
606
617
616
633
610
606
604
611
631
613
613
613
627
621
623
620
603
605
614
635
609
619
610
613
631
613
627
622
623
620
612
617
619
632
607
631
615
616
611
620
604
622
635
630
612
632
617
639
626
618
606
613
607
608
610
625
632
601
621
610
612
621
630
630
612
627
610
614
617
613
614
624
606
632
616
611
628
622
619
614
632
639
635
618
614
639
614
625
612
613
623
621
607
603
612
604
610
631
631
633
610
639
621
611
605
611
611
607
606
624
626
604
600
619
627
639
624
615
616
630
626
638
621
609
628
628
639
616
633
608
635
628
611
611
619
627
611
604
619
616
625
628
622
631
610
629
630
615
626
629
620
634
606
616
624
617
632
625
616
609
640
622
622
633
608
611
616
639
616
634
605
619
628
635
610
624
602
610
607
620
617
618
618
601
639
623
611
634
615
631
615
602
602
632
614
631
627
639
631
606
631
612
616
608
625
624
604
629
613
612
616
625
608
620
626
605
625
631
630
630
626
630
623
605
609
617
606
608
614
628
622
628
615
625
632
608
633
614
618
608
628
611
625
625
620
618
622
614
623
618
624
616
623
604
619
622
614
606
619
605
613
603
623
622
615
609
622
612
630
617
615
611
603
639
621
629
613
606
602
640
609
637
603
608
635
607
604
599
621
621
607
617
609
606
614
628
632
605
632
613
629
634
609
607
613
625
617
632
628
631
603
606
626
619
609
622
630
613
609
610
613
604
613
621
632
615
617
612
613
610
611
629
611
614
607
606
620
631
607
633
606
613
628
612
616
616
606
621
613
618
620
631
626
611
610
607
603
632
632
612
617
612
614
602
616
626
629
610
639
629
630
613
606
639
610
622
609
621
610
609
625
607
618
619
609
617
638
617
626
616
622
632
608
628
628
606
612
605
601
610
633
631
615
623
605
619
620
613
615
608
621
609
607
618
626
633
639
618
603
618
609
631
603
611
608
608
608
623
619
624
615
617
629
622
623
605
628
622
639
635
605
606
614
638
617
623
616
628
621
619
630
622
610
611
622
610
614
640
626
613
616
601
614
617
614
608
630
610
617
624
621
607
608
626
606
615
614
618
614
626
605
633
603
619
606
609
610
632
613
616
628
612
629
620
614
611
633
608
632
631
617
614
619
624
626
613
623
632
612
604
601
610
613
620
636
609
622
600
608
634
617
637
619
629
623
619
637
611
632
628
609
635
607
624
606
613
632
636
616
626
619
606
626
611
619
616
608
608
612
631
610
615
633
619
622
604
635
605
619
625
607
632
609
611
612
618
626
612
635
604
609
610
619
632
608
621
619
619
610
614
631
632
608
635
632
603
613
625
633
610
626
631
623
604
611
613
613
614
619
604
613
605
604
608
614
622
615
603
615
614
627
626
639
605
606
614
624
609
612
632
631
634
634
617
619
621
609
607
618
623
605
623
611
602
614
612
624
605
614
634
632
615
609
635
610
622
612
625
605
609
611
620
609
622
607
616
612
605
623
632
615
626
604
639
611
629
622
610
614
623
623
612
633
608
624
606
609
611
611
602
625
609
606
634
619
613
632
615
604
613
630
624
614
626
630
604
617
634
633
627
625
607
604
617
607
626
610
606
614
630
617
629
608
626
639
610
632
605
620
604
623
626
617
616
618
623
609
604
613
614
622
612
632
639
603
621
608
609
614
619
612
617
613
637
608
611
617
623
623
631
611
610
613
613
617
615
609
605
608
632
608
615
613
609
638
625
636
617
603
622
623
608
604
617
634
615
628
611
621
613
611
614
607
631
607
611
602
618
634
610
616
635
612
607
608
604
617
603
609
602
608
610
611
601
610
604
606
614
618
636
604
604
617
639
602
603
629
614
623
601
628
614
625
618
631
613
630
615
612
608
616
623
631
610
626
635
620
604
612
611
620
604
627
623
612
612
634
611
632
617
612
608
609
606
628
635
606
614
606
629
634
612
622
630
608
639
623
613
608
609
607
623
639
618
604
604
627
612
614
611
612
604
615
606
618
607
621
617
617
609
624
614
619
629
603
609
639
623
628
609
626
622
631
606
609
626
619
623
608
616
630
632
625
614
617
621
622
609
624
629
628
619
631
601
608
613
627
619
641
605
614
630
625
622
608
615
607
618
614
607
612
623
614
627
620
637
624
616
626
618
611
609
611
606
625
613
604
625
612
630
622
619
612
614
623
607
615
629
611
635
615
613
603
622
630
612
610
626
602
623
609
622
608
610
616
601
606
608
619
639
618
640
605
617
619
628
607
626
605
634
630
628
617
634
607
639
611
623
614
614
613
611
625
613
635
630
610
614
611
615
601
630
618
627
610
622
614
604
618
613
631
605
632
639
617
631
628
625
604
614
611
602
607
631
630
622
606
608
610
613
626
627
615
603
606
635
618
624
610
632
632
614
619
621
612
626
623
611
611
612
614
613
617
609
639
614
608
624
619
614
603
612
620
630
623
627
616
620
614
608
619
631
615
617
635
605
625
613
611
617
639
620
632
600
614
624
637
614
613
614
622
622
632
626
610
603
636
614
619
629
615
630
629
626
611
614
604
607
614
621
621
626
611
610
613
622
621
630
604
627
607
623
613
626
629
618
639
634
637
630
612
623
631
618
614
602
616
606
613
636
623
628
632
625
606
612
602
639
618
611
603
611
627
621
614
613
620
616
606
622
604
604
615
614
606
617
607
611
631
624
608
636
606
628
606
626
632
618
619
607
628
628
631
617
634
615
610
632
614
601
617
620
608
633
621
625
631
613
623
622
635
602
615
622
612
613
621
614
603
609
606
620
638
605
617
636
639
606
622
613
602
632
628
604
602
613
605
635
620
602
613
611
611
604
605
613
607
621
610
639
615
623
633
599
615
606
614
603
606
611
614
622
610
606
630
629
609
621
637
620
639
625
614
612
612
626
621
633
628
613
621
629
606
616
613
607
629
612
631
629
625
610
617
610
623
610
609
609
603
605
603
599
610
630
614
614
608
612
612
611
639
618
612
626
608
611
614
617
602
627
622
620
617
616
631
613
625
639
607
619
612
605
632
611
609
635
628
608
620
622
629
614
624
613
609
617
606
623
626
630
615
606
633
623
638
614
615
612
620
608
621
621
616
613
625
616
635
615
608
606
608
613
626
612
623
630
614
610
613
631
602
639
609
614
608
611
608
607
616
619
623
610
625
626
627
607
612
614
609
623
604
605
619
620
632
606
614
623
613
630
629
605
635
614
614
608
611
633
622
630
619
617
617
628
608
612
610
617
611
626
617
616
619
606
625
614
611
634
613
617
626
633
616
625
608
640
609
609
609
607
624
616
629
611
604
629
620
625
621
620
609
631
617
623
630
618
626
616
611
611
632
607
625
603
608
636
611
631
611
639
606
615
638
615
623
623
639
609
620
622
609
607
606
608
610
625
623
610
619
610
614
602
617
622
614
635
623
609
621
620
618
606
625
630
639
621
623
606
621
614
614
625
608
626
617
606
630
625
625
631
635
603
608
632
623
625
609
620
612
608
608
628
604
620
629
627
604
623
611
632
632
609
623
604
604
630
609
608
632
612
608
622
618
614
606
624
609
619
626
614
605
618
618
609
625
628
609
608
610
607
612
612
619
629
605
603
622
622
608
630
626
626
610
615
606
627
604
602
623
616
639
607
623
618
632
623
609
615
625
601
610
611
605
621
614
617
626
620
620
610
611
603
615
609
633
617
600
611
637
618
603
613
614
628
617
608
616
625
609
634
616
623
630
622
611
617
607
619
609
632
632
639
610
634
627
619
626
640
605
604
614
629
609
613
614
632
612
617
613
622
611
604
616
622
615
604
612
627
622
630
603
608
619
632
617
618
629
619
614
608
615
601
630
610
615
622
620
610
615
632
604
621
636
609
621
606
612
612
615
611
613
627
612
605
610
609
628
626
628
603
631
628
613
628
634
632
617
610
605
604
608
611
616
623
636
606
600
623
630
620
631
618
633
610
609
627
616
632
611
629
627
608
607
607
613
614
622
611
606
621
604
607
611
618
622
613
611
604
620
613
602
604
619
626
618
603
623
617
614
636
607
615
612
626
622
620
633
603
613
607
606
622
599
617
609
617
604
610
618
615
624
627
613
627
611
617
614
602
606
614
609
639
615
623
632
609
618
639
631
603
614
604
601
621
609
628
603
605
611
609
618
625
625
632
621
625
612
639
639
617
619
611
617
623
621
626
607
635
611
637
603
607
633
626
629
622
611
608
612
634
623
612
609
605
640
608
629
618
603
602
609
623
624
618
632
604
619
639
622
618
614
603
639
619
604
630
613
603
614
612
612
609
615
626
607
614
641
623
622
604
614
607
615
603
614
615
629
620
634
615
617
639
621
609
622
617
624
617
609
632
606
630
627
614
610
617
611
607
628
634
619
617
624
619
625
626
621
608
608
603
603
600
632
604
618
607
609
615
608
602
607
631
625
610
628
619
615
610
622
617
605
615
604
618
613
636
617
614
636
629
634
630
626
608
629
612
630
630
622
640
612
612
605
614
633
628
614
616
613
606
615
623
614
619
606
622
615
614
632
632
623
601
617
610
614
614
623
633
626
631
611
610
621
605
617
613
615
609
603
614
616
609
624
617
629
613
608
612
617
608
605
618
613
613
634
604
613
607
619
639
623
623
609
609
631
639
611
628
607
635
614
607
627
605
602
605
609
619
605
629
622
611
630
612
624
612
619
617
631
614
611
609
604
602
614
606
609
609
630
632
625
606
618
617
631
620
620
610
612
605
605
617
608
618
628
621
602
609
601
603
611
605
630
609
621
611
617
619
607
617
610
631
607
632
604
627
603
627
623
613
636
630
631
628
601
617
623
604
610
623
605
630
605
621
615
621
608
611
603
609
607
617
617
615
621
606
622
619
604
603
611
605
606
609
629
626
624
626
614
627
623
626
608
600
603
611
617
631
615
633
623
615
603
624
603
633
605
628
607
614
631
609
610
603
605
606
612
602
623
622
602
618
622
608
627
611
607
614
610
628
614
603
626
609
623
611
625
628
619
609
610
632
628
619
629
628
623
625
614
610
609
619
616
622
622
607
599
639
634
620
615
631
609
621
608
632
611
624
630
602
606
626
639
618
613
631
632
632
625
629
619
610
608
640
626
617
619
630
611
613
616
616
614
600
603
617
608
614
620
631
612
603
639
611
623
632
624
601
611
606
610
608
611
606
627
619
638
623
621
605
605
606
624
639
622
632
639
608
616
603
603
605
621
631
616
621
605
614
610
618
609
621
630
635
640
615
617
612
602
605
626
609
616
632
626
631
621
618
625
607
622
607
611
608
613
616
632
617
609
612
611
603
613
634
612
622
613
615
630
631
619
604
605
631
604
621
617
608
640
619
617
611
613
612
616
610
607
630
605
633
630
627
613
602
609
611
614
621
634
618
613
618
610
632
608
612
607
612
610
630
613
613
636
621
612
631
610
611
617
610
604
626
613
608
610
606
620
638
613
614
605
628
617
608
620
614
620
628
611
613
622
616
611
619
615
620
635
618
621
605
632
614
622
617
612
608
614
603
605
622
616
632
609
614
620
639
627
619
605
609
616
626
627
612
615
606
614
605
602
613
610
622
613
614
612
612
611
620
614
604
610
635
618
608
604
617
618
636
610
602
613
609
621
603
610
604
623
612
613
609
625
626
607
609
622
628
604
621
610
614
608
621
621
609
623
622
619
622
614
608
608
609
614
613
613
602
614
606
606
607
606
603
618
619
640
606
613
628
617
608
622
631
614
625
612
608
609
612
622
636
620
623
636
615
622
613
614
609
611
624
603
606
610
615
625
617
633
614
625
614
619
606
607
630
632
622
606
624
639
605
610
623
618
634
611
628
629
609
626
603
625
605
611
615
632
629
618
615
627
638
611
631
639
620
632
605
615
604
620
618
620
626
606
617
629
614
608
621
625
609
628
606
625
617
625
604
632
623
621
639
602
608
629
632
629
611
605
631
602
610
625
622
611
626
618
607
626
602
620
631
611
632
621
631
615
627
608
604
633
604
635
631
623
610
607
629
614
610
629
616
632
621
627
618
602
610
626
629
617
620
626
605
639
609
614
618
613
605
603
613
631
619
618
621
610
622
639
618
622
615
617
630
608
608
626
632
610
610
626
605
601
632
613
621
607
603
632
620
609
623
611
615
613
610
617
608
628
620
622
611
612
616
615
612
636
625
617
616
615
623
623
631
605
614
632
621
632
609
620
639
606
629
608
609
613
622
634
624
618
623
610
615
631
607
611
613
627
613
622
628
623
618
619
624
619
617
632
615
622
616
617
602
632
626
621
610
608
623
620
613
607
611
609
605
622
609
625
614
607
617
616
624
623
609
620
628
626
613
602
610
608
603
624
616
631
630
626
608
635
620
613
606
608
638
604
619
604
602
623
606
639
610
606
605
622
616
629
632
616
632
609
612
608
605
618
603
625
603
609
628
628
638
601
628
612
606
616
613
622
620
623
611
626
619
632
605
601
622
610
617
633
607
622
620
619
606
603
606
634
639
623
608
622
605
618
605
613
616
612
610
604
622
614
618
608
616
634
603
623
611
611
616
605
612
634
625
617
632
626
617
616
606
636
621
617
615
605
605
614
603
611
619
608
603
611
620
605
622
612
604
612
624
611
628
602
636
630
631
616
610
631
611
608
606
621
623
623
615
612
606
608
614
618
618
627
627
614
609
603
622
633
614
631
606
620
616
623
608
619
607
615
629
605
604
616
615
611
609
621
608
639
611
631
604
622
605
607
616
610
620
615
623
613
603
623
609
616
622
609
631
639
623
613
610
613
609
610
608
614
613
639
602
629
617
632
615
604
635
630
614
625
622
613
636
629
611
639
604
623
640
613
604
628
609
625
628
618
606
609
608
616
634
603
632
627
620
621
603
613
617
624
608
605
633
623
633
603
604
634
639
614
605
618
622
636
610
614
606
617
614
628
604
623
605
629
614
624
614
630
621
636
620
636
604
635
603
607
624
617
614
608
613
639
608
608
609
616
603
623
638
612
614
614
611
605
621
606
628
628
608
631
609
631
608
611
635
617
606
606
625
619
607
625
610
614
624
635
632
614
627
623
609
623
637
608
631
638
618
614
617
617
613
625
613
614
631
609
628
620
604
629
609
631
603
634
605
629
625
604
604
622
622
607
629
611
615
631
605
604
605
609
617
602
621
612
617
612
609
623
603
608
604
606
622
608
608
605
608
614
622
614
617
617
610
616
611
607
610
608
630
631
608
615
618
627
612
608
605
629
604
609
625
609
617
606
613
611
605
620
614
628
612
614
628
609
607
639
622
624
603
634
632
623
613
604
623
616
604
607
613
617
615
615
630
617
624
615
610
607
612
632
635
632
611
637
632
624
637
602
631
623
624
629
608
620
637
610
630
639
604
625
614
618
627
637
620
608
605
622
632
609
609
635
603
619
603
609
618
608
619
621
630
639
631
604
619
614
610
609
611
640
629
618
624
624
615
607
618
612
617
629
602
607
640
609
634
617
622
604
603
604
622
625
631
614
626
622
623
612
622
619
627
612
632
612
603
623
606
606
616
608
614
611
619
610
635
623
610
628
621
625
609
620
606
628
617
627
604
619
616
629
614
608
603
639
622
621
609
632
623
630
620
609
614
623
620
612
604
605
624
608
622
606
605
609
632
610
630
603
626
604
621
613
611
612
604
611
613
627
613
607
603
603
612
632
639
609
622
633
631
603
603
624
627
610
625
620
611
632
639
618
626
626
604
621
606
616
627
628
618
604
605
602
639
608
627
620
620
611
632
631
604
622
608
629
633
611
626
623
633
616
617
629
605
614
628
608
639
610
617
624
620
613
628
626
605
630
604
625
630
629
614
624
605
614
612
615
632
620
631
641
628
629
604
608
615
605
608
614
637
622
615
612
634
609
607
626
612
607
616
630
626
611
609
609
605
633
622
615
623
622
629
632
608
628
625
614
625
623
609
613
619
621
631
620
610
607
622
609
608
627
632
623
631
633
607
619
621
618
631
629
627
608
629
617
603
616
635
617
617
615
603
625
614
609
630
618
628
614
632
602
621
630
627
602
636
613
606
627
639
623
609
609
621
632
608
639
609
619
607
614
623
619
623
621
621
609
624
618
603
626
632
612
636
612
608
632
612
607
612
627
608
609
631
623
612
610
619
606
606
608
614
618
616
603
608
622
625
624
623
639
610
626
623
613
606
625
624
632
610
608
624
631
610
614
640
617
613
614
626
628
609
615
614
604
607
605
631
636
603
612
611
627
612
635
606
621
610
627
614
600
604
613
607
617
603
612
617
614
608
605
626
605
632
602
610
603
605
606
606
608
624
621
628
607
605
618
617
607
624
623
630
608
635
607
613
625
634
619
602
602
628
618
621
611
608
604
621
617
623
612
622
612
622
626
612
606
640
618
615
617
635
605
609
619
613
609
637
630
615
630
623
602
613
618
602
631
606
609
626
607
606
616
620
634
623
615
633
612
608
613
606
631
634
603
609
610
607
634
611
614
612
618
603
611
628
621
626
617
617
609
604
609
620
611
620
603
619
618
609
621
614
611
612
639
635
630
621
603
612
623
614
620
610
625
623
630
606
639
611
636
634
606
607
620
601
605
631
632
631
613
620
630
618
631
601
625
607
639
612
622
613
609
613
634
602
612
613
606
639
639
623
610
603
615
631
604
624
631
603
611
605
608
609
613
614
607
609
600
638
609
619
628
623
618
632
620
618
626
611
606
633
612
610
614
632
612
604
605
639
622
612
608
617
604
614
606
608
615
623
623
619
615
612
609
615
617
631
603
627
606
602
625
627
602
606
617
635
606
639
612
618
610
615
626
606
628
626
604
609
634
614
616
614
617
614
612
631
606
631
630
624
602
627
618
605
625
608
617
603
606
613
622
613
618
627
618
618
639
631
622
635
608
604
604
621
619
607
634
622
611
625
604
627
625
609
626
633
610
618
601
610
614
619
632
608
639
626
635
610
623
613
614
626
632
619
612
638
618
628
624
618
622
610
604
610
637
616
608
599
614
635
614
622
608
612
617
610
606
604
625
610
628
611
614
610
617
614
631
610
603
606
626
620
609
603
630
603
630
639
614
605
639
606
623
607
619
607
623
618
621
627
604
628
614
613
612
624
619
638
617
609
605
610
632
621
606
620
627
612
612
622
639
604
601
609
603
606
608
606
608
621
639
611
636
613
615
624
607
606
610
639
632
622
617
622
602
613
634
614
620
606
627
629
609
612
622
605
603
605
629
628
630
609
621
608
639
631
616
633
639
639
621
609
623
608
610
623
603
612
619
629
629
627
617
615
608
612
627
631
623
625
635
626
632
610
615
613
613
608
626
628
610
632
631
629
609
621
615
634
612
614
603
611
617
618
627
619
608
608
613
621
617
603
622
639
609
619
626
622
626
615
609
622
605
618
615
617
610
611
601
621
623
609
617
639
602
639
625
608
630
621
624
606
639
616
614
624
626
630
629
623
605
608
603
603
624
617
617
627
611
617
606
631
621
627
629
606
614
612
606
632
615
624
623
615
609
620
606
620
617
613
629
623
627
603
604
618
614
625
632
609
628
628
616
616
631
608
615
608
629
624
618
615
628
609
632
603
611
620
621
607
606
626
620
628
633
625
612
604
610
622
634
608
619
617
611
604
613
623
616
607
626
610
626
639
613
632
612
613
616
640
623
610
610
613
618
618
605
617
615
626
623
602
630
609
626
614
622
613
608
611
606
611
632
628
620
607
603
638
613
616
604
618
628
631
609
612
614
616
634
628
603
604
620
610
615
639
606
626
613
621
603
613
603
618
617
610
606
630
639
606
622
604
632
606
615
627
635
620
632
634
605
601
604
613
635
629
623
634
618
617
621
621
618
605
606
606
605
634
612
618
613
631
615
613
606
609
605
607
603
617
636
612
604
639
640
610
610
615
608
606
614
633
608
614
613
632
603
629
614
616
632
621
615
611
604
608
617
609
623
631
612
626
611
638
603
633
623
621
612
631
611
639
610
609
615
617
612
602
627
640
616
604
607
639
628
625
610
606
618
616
614
609
623
617
618
635
625
623
634
611
622
626
619
629
630
625
608
635
621
613
639
613
610
614
606
603
623
614
606
631
608
622
615
608
624
607
604
615
608
617
622
599
613
610
628
631
629
616
618
604
631
620
604
607
633
612
607
615
619
628
619
627
617
610
629
632
624
610
621
615
632
617
612
625
611
622
622
630
606
616
607
634
633
627
617
618
630
631
629
618
614
613
613
609
612
602
639
613
639
620
615
624
631
640
617
614
625
627
617
608
614
609
606
619
605
608
613
627
608
617
605
618
616
623
612
619
625
621
614
605
608
624
623
612
616
628
623
619
611
599
606
623
628
627
620
610
611
626
623
617
613
612
603
609
626
638
612
611
632
619
618
617
615
613
616
628
602
623
622
623
604
629
623
639
627
621
617
632
614
623
603
622
611
603
614
608
639
605
621
630
621
617
606
623
606
632
613
616
626
623
603
610
621
622
606
626
606
607
613
608
620
614
622
639
611
622
632
628
632
617
639
626
607
634
611
619
630
626
621
623
612
606
617
612
608
626
629
613
605
618
630
622
618
607
628
608
614
606
615
602
605
617
615
618
604
618
614
605
606
606
639
622
620
608
620
618
611
625
634
615
608
627
630
608
619
613
629
614
609
609
631
640
614
605
616
621
609
608
612
620
606
615
605
610
601
613
619
619
619
623
613
612
619
613
624
627
625
622
605
611
617
612
623
614
612
634
635
629
614
608
606
622
631
614
621
636
631
604
604
612
629
635
602
613
613
602
616
614
614
608
625
630
613
623
615
601
608
610
624
613
608
614
642
626
639
622
620
601
633
630
626
622
616
632
610
610
602
609
605
609
623
635
619
603
605
619
612
628
632
616
602
616
606
622
602
629
634
611
606
631
626
609
628
602
625
621
612
627
621
629
605
615
605
624
613
619
609
616
619
601
630
613
610
612
614
631
639
615
607
609
623
618
616
605
609
616
625
625
633
619
625
635
633
604
610
623
619
623
612
628
612
616
603
604
616
613
623
606
610
614
603
629
639
619
624
615
609
632
602
636
635
626
624
603
629
600
619
606
616
619
603
607
622
619
638
629
632
613
609
610
628
609
618
623
627
625
603
608
614
613
609
615
619
604
613
622
622
624
624
625
611
608
625
619
616
609
614
631
599
623
605
636
608
604
614
609
610
610
604
611
617
607
602
621
614
601
619
622
628
617
634
623
627
623
607
626
616
604
618
620
618
634
628
633
639
632
616
633
613
617
607
611
631
630
620
631
616
612
610
610
617
608
625
610
616
623
621
623
617
611
623
615
612
600
626
603
619
623
618
607
628
610
630
620
626
607
615
609
631
617
628
614
622
605
599
617
612
622
630
614
609
611
607
627
614
604
612
621
614
627
611
635
609
617
623
621
627
628
605
618
624
629
624
632
631
634
635
611
630
623
609
615
611
626
619
634
625
640
634
621
642
615
625
639
622
611
637
626
611
606
610
610
614
609
632
610
621
625
613
628
621
611
610
620
613
627
617
613
605
627
606
603
632
613
603
606
624
609
607
613
603
599
639
604
615
603
611
611
611
621
634
632
606
635
611
622
608
612
618
614
617
614
637
632
606
623
632
622
632
614
618
622
609
622
602
609
614
617
624
603
606
629
624
623
605
610
636
613
616
636
602
610
622
614
626
604
605
625
606
618
606
636
628
629
623
627
615
635
625
609
625
616
619
606
634
613
614
617
631
609
608
620
639
603
636
605
623
631
603
613
622
611
613
633
610
625
632
619
605
610
617
623
610
606
609
613
607
616
623
632
637
604
608
625
608
623
632
633
606
609
630
612
609
630
639
630
607
623
624
620
611
603
613
639
609
630
625
621
615
621
629
610
622
613
611
622
612
618
601
605
631
613
633
613
602
607
633
616
624
618
620
618
602
635
629
617
618
607
606
634
617
627
611
620
623
605
639
633
622
611
623
632
617
629
607
604
624
609
621
620
608
611
603
618
612
620
606
639
613
615
611
633
606
620
609
603
620
629
636
632
605
617
607
600
639
606
610
631
613
626
631
607
604
623
615
639
614
629
611
613
615
613
631
611
617
617
618
606
609
608
631
609
625
619
601
620
611
617
622
605
608
602
604
620
613
610
606
629
639
632
605
623
617
610
605
603
619
624
621
608
626
621
614
606
609
616
609
607
608
630
614
605
615
610
604
627
614
616
607
616
609
619
603
602
602
611
617
615
604
630
634
608
604
612
621
615
612
610
632
604
612
629
611
609
613
632
607
609
622
634
612
608
606
610
615
612
613
620
625
608
623
604
608
616
603
620
612
636
635
628
619
620
602
621
632
624
630
618
615
612
617
621
614
617
618
617
639
614
621
608
622
614
608
614
609
623
613
620
609
610
629
605
626
617
632
626
606
603
628
629
617
613
611
615
601
606
629
612
609
606
625
625
607
610
611
624
622
606
625
627
620
614
612
614
613
607
619
615
624
609
628
605
616
626
617
635
609
620
624
612
613
621
626
619
614
615
608
617
623
623
633
617
611
612
621
634
639
600
618
615
632
611
631
614
630
635
600
630
611
607
623
632
609
609
614
616
633
625
622
612
608
608
616
600
623
622
635
618
606
617
619
609
617
614
606
611
611
607
622
615
625
614
620
637
624
612
608
633
599
625
623
629
619
604
626
610
609
615
613
605
606
608
635
628
613
630
629
618
618
617
611
616
612
608
628
639
609
629
636
617
613
612
606
603
614
604
606
623
609
614
635
620
612
639
620
606
614
609
634
609
600
603
607
613
605
610
603
619
608
619
606
611
615
617
630
605
612
614
617
613
616
606
623
631
610
629
608
607
616
623
639
635
625
634
608
615
611
611
613
636
611
605
610
604
610
612
624
639
611
610
608
621
615
622
613
612
617
608
632
612
616
631
611
605
633
626
628
608
629
612
632
617
639
612
635
640
620
605
623
608
611
613
631
604
623
615
632
608
611
632
604
609
618
608
627
631
616
613
612
623
634
627
609
629
611
608
630
634
608
609
604
608
601
609
609
610
601
633
625
608
623
609
623
626
632
611
621
630
623
607
610
629
607
602
607
616
604
608
627
630
635
626
635
631
620
633
610
602
619
613
612
611
622
639
614
633
639
611
605
632
631
617
619
612
623
613
612
614
629
630
639
610
639
640
632
616
609
633
634
619
624
623
626
606
610
610
615
613
623
603
631
617
627
619
623
621
615
603
623
622
602
607
610
608
611
625
609
631
605
607
609
604
619
631
639
603
617
634
613
634
606
617
633
610
616
634
620
633
601
614
617
618
628
631
619
604
623
623
606
632
631
609
613
620
614
613
608
620
605
629
621
611
625
608
603
623
616
613
617
602
606
634
626
633
624
616
618
617
626
614
612
626
616
601
607
606
612
608
641
615
604
614
618
621
624
630
618
633
613
608
632
614
634
610
609
623
605
617
602
615
630
629
636
632
603
635
621
613
614
628
610
613
617
612
604
612
638
622
639
620
605
610
621
614
625
612
602
629
635
614
613
607
610
622
614
634
631
624
614
607
627
609
623
609
611
610
599
608
611
629
610
611
628
629
617
618
625
617
623
619
619
603
614
622
609
609
616
614
600
624
612
613
611
610
615
616
631
619
615
630
615
626
602
613
631
625
604
632
617
618
605
612
609
625
601
620
619
623
603
621
608
622
611
608
622
608
601
612
625
606
606
631
625
632
613
635
622
608
609
629
623
612
602
615
623
622
609
617
607
609
604
610
629
610
613
623
619
603
610
616
626
608
628
609
608
617
626
621
614
625
630
621
626
625
625
619
609
626
620
618
605
606
608
613
614
638
619
639
619
609
629
614
627
608
621
634
603
607
614
614
610
629
634
624
622
631
605
624
604
612
625
629
609
630
618
615
607
623
623
607
606
602
619
617
610
623
632
617
607
609
632
627
622
610
625
625
615
612
603
611
614
623
629
607
611
618
605
615
634
610
629
635
629
631
621
630
625
615
614
608
615
639
611
613
618
603
610
623
612
632
609
630
612
611
616
630
614
611
631
632
628
623
609
615
608
608
618
625
631
632
624
620
620
619
601
635
618
632
609
611
603
603
625
602
615
626
617
617
621
639
608
624
608
606
623
617
623
616
616
614
634
610
615
605
613
607
631
606
610
614
609
619
620
623
606
623
619
612
609
612
630
615
609
613
606
625
617
616
611
623
611
631
605
625
627
614
608
622
612
620
640
608
628
626
623
608
625
623
617
632
619
616
625
613
604
638
606
613
618
602
631
629
601
631
602
628
612
627
632
614
607
605
626
606
615
625
635
625
639
624
605
637
614
620
630
606
604
630
631
608
627
635
632
608
626
620
622
616
616
614
620
606
613
616
610
623
624
622
604
603
610
612
635
631
616
610
608
627
606
605
629
631
606
605
603
622
630
611
639
605
634
632
614
605
618
608
628
604
639
628
622
614
618
618
607
625
636
625
626
627
629
619
603
618
628
604
609
603
622
605
631
613
617
619
613
613
619
629
604
625
607
620
615
611
612
629
619
616
619
632
631
619
616
635
613
612
626
606
625
609
617
606
614
618
622
637
626
612
623
609
614
620
621
614
626
608
623
626
631
630
615
611
606
609
618
630
606
613
606
623
623
624
622
607
603
628
632
622
613
606
639
623
609
604
637
599
635
610
630
622
617
632
618
623
613
603
631
607
618
609
620
609
610
623
605
623
622
622
628
612
625
634
617
608
613
613
608
621
630
621
608
606
617
622
618
609
627
608
607
608
611
614
639
621
623
605
632
609
607
614
604
614
611
625
633
613
625
612
608
614
623
605
615
632
624
634
616
609
603
629
618
607
620
625
623
612
629
625
633
613
621
624
615
623
614
624
609
607
616
626
602
606
616
614
625
605
615
616
626
611
608
627
631
632
620
603
631
613
615
639
625
624
615
622
622
608
620
628
609
631
605
609
616
622
626
607
614
612
635
614
634
617
628
631
610
608
612
608
615
634
626
633
617
619
626
615
635
620
630
617
614
613
614
639
623
626
620
615
625
603
622
615
608
608
615
632
605
607
624
627
627
625
625
623
638
619
621
604
634
608
623
624
632
631
635
611
605
610
610
636
620
605
606
602
606
626
625
614
638
610
615
599
603
632
613
637
620
609
610
629
629
618
630
625
616
615
618
611
618
625
624
620
610
617
611
630
610
635
609
611
632
604
607
613
623
614
615
631
613
626
618
607
605
627
611
612
613
612
636
620
639
609
629
608
627
631
616
609
618
604
614
602
620
622
626
601
603
611
625
614
617
631
612
615
611
620
611
625
621
623
607
622
623
609
632
613
638
625
623
613
612
609
629
615
639
611
609
613
623
607
626
615
608
629
626
625
611
633
614
618
626
609
610
610
604
634
634
618
615
631
639
614
623
627
630
606
606
631
610
612
607
615
608
611
607
633
628
615
617
612
613
617
604
615
608
617
614
606
616
609
612
603
601
606
619
624
609
619
612
606
608
608
613
617
617
623
605
611
621
608
606
608
622
605
625
623
632
609
606
614
632
617
619
623
602
602
603
612
607
613
605
619
624
626
623
602
606
611
625
633
604
637
608
610
600
609
623
611
610
611
619
603
623
620
607
632
606
621
621
612
640
605
619
630
629
612
612
615
628
612
603
628
611
613
611
613
631
628
619
635
606
605
609
618
627
605
636
604
618
604
617
619
633
608
611
630
602
622
604
611
634
617
616
632
620
619
611
631
618
604
622
631
614
623
623
614
608
606
613
607
632
617
619
619
612
615
613
619
608
639
611
619
630
616
613
617
613
622
624
603
612
610
609
602
604
620
621
604
603
614
620
603
624
607
604
603
610
604
606
613
631
626
613
605
603
618
619
624
626
616
613
616
604
614
620
626
619
609
603
606
632
639
617
629
617
606
610
634
606
629
611
609
620
613
610
610
636
639
615
614
603
618
603
620
611
614
601
605
620
604
602
620
639
613
612
605
629
623
614
610
623
613
624
634
626
612
626
617
632
626
632
612
626
616
611
628
634
635
616
619
621
605
614
613
625
619
617
611
609
620
621
604
613
609
613
632
632
613
624
605
619
611
605
610
639
604
617
612
609
612
606
634
604
622
635
604
618
610
612
603
622
618
611
624
610
603
614
624
605
633
609
629
629
621
607
603
607
608
606
608
623
634
613
609
609
623
617
635
603
629
627
607
608
614
630
613
614
623
614
624
610
630
606
617
608
606
632
604
621
617
617
630
641
612
624
600
611
629
603
607
608
603
619
615
604
620
620
629
608
602
629
613
631
613
618
603
620
612
617
602
606
606
618
613
618
608
611
611
622
611
610
610
613
635
608
605
639
621
620
626
616
605
613
631
611
607
620
615
617
611
602
639
617
625
630
617
609
628
605
612
612
621
613
611
621
624
602
610
614
623
607
608
615
610
632
600
606
632
619
617
636
606
609
639
634
617
623
634
620
624
604
624
612
615
634
622
601
613
632
630
608
639
604
609
629
623
609
631
622
626
608
610
628
624
633
611
608
617
628
625
605
632
614
618
607
620
625
631
606
626
624
614
623
617
613
608
619
615
631
620
631
615
610
628
612
621
617
602
604
620
608
623
632
604
618
599
610
615
627
606
636
608
603
630
635
620
623
618
600
629
622
604
615
629
620
603
631
616
612
619
617
631
608
618
614
625
608
639
613
621
610
625
623
603
603
610
601
616
620
625
635
617
610
617
612
628
629
625
635
633
617
604
612
609
621
610
637
612
618
635
632
618
603
622
606
617
610
604
615
624
639
626
612
610
636
615
605
631
639
623
623
632
612
614
606
611
614
617
610
603
617
612
612
605
615
631
636
633
603
620
626
615
619
603
618
608
627
637
622
618
623
634
612
606
606
616
620
619
612
601
610
610
630
608
617
613
624
612
638
605
616
610
622
603
609
605
612
617
607
621
605
621
602
623
626
639
620
601
621
628
625
620
639
619
615
623
609
613
614
625
606
604
611
606
619
610
621
604
613
612
639
608
633
620
617
619
605
614
623
608
619
624
626
625
626
618
621
638
628
605
621
630
606
624
620
632
606
620
630
639
604
618
632
619
606
607
632
617
606
630
622
605
607
626
626
610
614
618
616
612
606
619
610
614
616
621
614
608
608
639
624
605
608
610
639
630
621
631
618
623
608
631
630
605
637
622
626
616
634
632
610
604
626
603
627
620
609
611
615
609
608
627
617
616
611
639
611
634
634
607
604
626
612
601
631
608
602
631
606
608
632
632
617
619
625
611
619
607
613
618
616
634
613
617
603
626
617
609
607
617
630
623
612
631
618
613
607
625
609
625
608
626
630
614
605
639
606
614
610
620
636
605
619
610
618
629
621
632
613
622
615
630
608
616
630
627
621
606
609
601
621
636
613
632
628
603
622
618
617
625
631
610
607
610
609
614
622
606
610
629
612
623
620
616
605
625
624
608
625
612
624
617
613
610
611
629
634
639
615
603
616
608
603
628
608
602
609
627
627
603
628
610
606
610
607
635
621
631
632
608
621
614
602
604
631
612
606
623
612
602
609
603
616
612
617
618
615
605
632
618
626
605
624
630
615
609
609
624
608
628
634
639
607
601
618
611
603
630
639
608
611
620
631
604
639
606
639
614
628
622
625
601
611
615
608
617
610
630
614
612
632
604
609
632
616
603
613
634
605
611
626
630
625
609
618
604
625
617
602
606
617
608
626
611
626
617
639
611
622
626
613
602
631
602
625
619
613
603
617
614
602
612
623
602
629
635
611
610
619
605
619
605
612
620
614
613
613
628
622
607
624
610
610
614
625
620
617
619
611
610
609
609
607
612
618
619
607
631
608
605
617
619
640
605
622
606
639
626
612
626
628
632
639
604
610
625
612
610
613
614
622
625
608
630
629
636
625
611
631
616
616
640
631
623
632
625
623
613
619
611
621
607
614
635
628
608
607
630
610
617
611
606
634
612
602
619
618
634
625
614
605
611
620
603
620
608
624
618
628
605
626
631
604
621
615
618
608
608
639
629
612
610
609
615
626
639
627
614
631
640
617
616
632
606
613
615
613
610
609
622
622
615
632
611
626
628
606
606
629
613
610
616
617
621
623
611
618
622
630
609
625
609
635
639
603
639
604
623
608
620
619
622
611
608
605
626
612
611
621
613
615
608
629
620
625
606
608
622
601
612
610
630
608
631
613
630
608
610
603
613
605
601
606
614
617
630
622
639
630
632
617
639
602
604
625
613
634
619
610
617
623
608
609
631
602
615
608
627
609
624
611
620
631
608
608
630
608
636
623
603
626
611
617
615
633
605
604
604
606
607
603
630
623
619
620
626
629
632
641
636
609
604
611
610
618
639
631
639
610
623
612
612
603
613
618
632
623
615
606
635
609
610
626
609
610
625
604
607
612
610
622
623
614
624
629
616
619
620
619
606
610
616
606
626
639
609
624
602
612
617
609
613
632
611
621
614
621
632
623
606
611
622
612
615
624
615
607
626
619
606
629
623
631
631
611
622
605
621
613
630
614
638
604
603
610
624
622
615
639
615
636
608
620
639
621
618
603
632
620
615
608
611
633
610
619
609
609
601
603
624
628
630
604
610
612
631
614
602
626
603
632
611
605
628
617
609
631
631
605
627
620
625
617
604
608
623
609
623
606
639
614
606
632
619
616
614
614
612
622
607
620
618
603
604
619
631
615
617
614
634
620
639
628
604
618
608
639
621
613
639
615
618
617
605
632
612
616
611
633
612
608
608
614
626
608
631
639
609
639
622
618
620
619
609
606
609
613
639
600
614
625
610
622
618
621
618
625
613
615
604
614
610
610
628
611
609
609
611
618
634
618
608
621
632
609
613
610
634
629
617
626
618
607
622
622
602
619
609
626
625
612
611
625
612
621
615
632
617
633
615
608
617
604
604
613
631
625
636
630
620
606
611
616
613
617
609
618
611
631
626
624
630
619
620
626
632
620
601
608
632
605
605
614
609
612
625
614
608
625
622
629
623
612
610
620
606
613
604
623
614
635
613
614
607
606
628
604
614
634
632
615
603
630
613
606
616
628
623
623
613
618
635
610
626
625
616
611
632
607
622
610
606
611
629
619
617
612
609
616
606
610
631
605
623
613
613
619
605
606
607
625
631
608
607
633
604
616
631
610
639
606
634
607
619
614
635
638
623
613
609
614
621
610
625
623
624
626
609
612
619
602
631
619
630
604
623
603
606
638
625
622
615
619
622
634
623
626
618
612
639
613
638
623
636
611
625
609
637
617
603
623
623
605
603
611
627
626
602
605
618
608
605
617
608
626
601
603
606
604
630
624
619
620
613
614
625
615
603
603
605
639
618
616
614
605
638
621
613
639
611
607
622
604
602
631
604
609
629
617
608
636
615
638
611
624
617
639
627
616
621
632
619
602
603
639
607
628
631
617
604
605
619
617
611
636
605
606
624
616
622
633
613
602
621
636
604
631
612
617
618
632
612
614
623
608
611
623
618
608
622
625
602
633
623
608
614
618
639
626
611
614
639
633
628
630
624
612
639
621
620
614
615
630
639
606
617
626
618
612
626
609
604
621
618
621
614
623
623
621
617
601
611
602
618
604
611
622
628
611
612
627
614
622
604
613
612
623
631
632
630
626
629
614
613
612
630
631
632
614
632
627
608
605
631
601
619
618
605
621
624
621
613
629
601
622
616
613
614
635
626
617
609
633
630
628
607
610
604
610
631
639
613
622
626
620
604
607
604
634
614
632
618
634
613
603
608
617
632
620
632
612
612
602
609
623
615
632
639
613
608
609
622
622
616
619
622
609
608
623
617
603
618
611
605
614
606
637
625
606
633
609
609
631
621
617
609
622
629
613
617
626
626
608
616
618
635
628
627
611
623
609
611
604
608
624
620
616
618
628
609
611
627
618
605
616
626
609
603
605
615
618
626
622
621
606
618
623
617
616
621
616
619
613
613
603
613
636
636
623
609
625
621
636
621
609
603
635
629
615
621
615
601
611
604
638
608
606
629
635
606
605
622
632
631
617
602
611
600
603
624
623
627
617
612
638
614
615
631
608
625
616
632
629
611
612
604
608
611
621
607
636
615
611
618
618
631
631
614
609
631
625
639
610
605
633
631
621
606
609
613
605
623
606
615
626
607
615
623
623
629
625
602
615
614
632
627
607
608
624
617
608
604
609
613
604
614
603
616
613
619
627
606
604
608
619
632
602
631
624
632
626
620
609
607
608
628
603
609
612
628
623
615
615
628
614
615
606
608
631
623
607
613
611
619
604
612
607
629
609
603
629
637
619
637
612
635
614
632
623
611
609
620
618
625
611
614
605
639
623
617
611
620
606
617
615
604
634
616
608
603
626
621
614
608
631
610
609
637
604
614
609
604
617
623
627
613
618
620
609
609
614
616
618
634
614
629
606
607
622
605
626
637
618
613
611
627
609
628
640
608
622
639
613
621
611
599
608
610
628
625
608
613
606
617
633
600
636
603
637
612
605
629
608
630
613
625
636
616
626
623
632
619
639
632
623
617
629
606
617
638
611
613
620
622
608
609
611
604
632
623
622
609
624
637
623
639
615
621
607
629
622
617
620
609
614
615
630
620
604
618
614
610
629
617
620
605
630
619
623
609
617
632
619
631
617
617
624
603
610
629
620
618
602
632
603
607
631
626
602
617
626
610
620
631
617
622
617
607
619
619
618
614
610
615
603
623
621
625
603
628
619
630
604
639
631
616
641
606
628
622
623
604
609
617
605
623
614
602
625
620
607
606
615
618
612
623
603
622
622
605
620
623
624
622
616
631
626
603
612
607
623
635
614
639
611
602
607
613
612
605
608
632
621
611
614
605
616
626
610
627
618
610
604
610
633
632
634
613
613
622
607
613
614
605
604
617
625
626
612
613
635
614
640
606
616
639
625
637
610
625
618
620
623
605
630
623
635
618
613
635
612
622
607
605
629
622
605
622
617
607
630
607
628
606
635
631
617
620
630
618
613
621
608
626
633
622
620
616
607
631
619
617
604
631
625
609
619
612
628
616
609
610
605
614
613
607
620
615
632
616
610
617
610
614
638
606
613
622
626
614
623
604
605
612
622
615
603
628
610
615
623
608
615
613
616
629
622
613
627
613
605
627
606
620
609
613
632
617
617
637
602
612
617
610
620
606
617
611
606
614
626
626
610
631
629
604
628
621
601
605
624
611
608
607
631
623
617
617
615
623
613
610
620
624
614
610
620
605
614
613
627
632
614
607
639
620
604
619
631
605
613
615
607
604
608
603
640
613
615
606
639
639
626
611
617
630
608
627
607
626
633
626
631
616
609
620
616
630
628
626
634
612
630
632
626
608
639
624
606
628
604
614
613
617
612
604
618
614
634
603
631
625
613
609
607
616
606
612
619
625
605
616
619
603
618
621
616
627
621
625
615
610
627
614
603
621
639
604
639
618
607
631
616
638
608
629
614
630
632
632
639
621
605
614
625
611
603
607
619
610
631
623
613
621
617
626
617
631
627
613
614
630
626
617
634
628
635
614
639
619
618
603
603
622
611
622
639
635
628
608
630
631
602
620
607
616
604
621
612
607
603
633
603
610
622
614
624
608
629
620
619
602
615
620
638
639
622
609
629
608
601
619
626
609
627
607
630
608
605
618
607
621
603
608
621
622
608
625
622
628
617
609
606
626
618
626
623
608
626
611
605
614
608
613
612
606
606
639
628
623
608
604
622
632
608
617
614
631
611
603
611
603
623
625
625
631
631
613
604
609
639
634
623
614
613
608
611
620
632
609
606
603
623
607
636
635
616
611
609
625
618
639
610
619
603
632
615
633
632
617
631
614
633
617
609
613
617
618
630
638
612
616
624
619
622
621
625
609
630
628
605
604
621
617
634
633
608
639
628
615
606
610
606
609
622
604
631
620
629
610
626
631
610
639
617
636
627
615
604
619
617
615
614
616
609
613
624
626
610
631
610
610
611
639
631
608
623
623
606
608
622
639
626
626
603
619
626
622
608
624
611
609
622
602
609
610
606
631
609
621
627
611
608
613
623
607
612
606
631
604
608
609
624
624
628
613
615
610
614
612
613
604
615
608
605
631
631
609
607
609
611
608
605
613
618
600
607
602
625
614
604
625
631
622
608
623
621
613
614
613
623
623
605
608
605
609
628
616
613
622
614
631
622
607
610
622
615
639
626
627
606
610
617
620
632
617
606
619
618
620
604
604
625
622
639
613
626
608
620
623
619
609
609
616
608
627
631
605
621
618
605
632
618
612
625
614
607
618
623
616
618
639
601
616
615
608
623
611
629
629
632
612
617
609
606
609
627
619
605
611
612
614
631
623
623
604
620
639
609
621
620
625
639
624
629
633
609
617
621
606
604
620
620
627
622
608
616
612
624
632
607
617
614
607
618
629
604
623
622
610
614
630
605
604
605
607
631
625
608
625
621
618
631
639
612
622
637
622
619
609
608
631
614
629
635
611
612
605
614
605
603
617
612
631
632
628
615
629
613
612
614
617
612
623
611
626
612
613
637
617
639
631
614
613
621
612
631
617
623
630
613
606
617
604
603
639
633
610
613
615
608
615
628
618
612
632
613
603
630
609
619
626
631
619
626
610
614
628
620
610
618
620
614
634
606
607
612
630
620
624
619
609
639
639
621
618
608
614
617
611
636
632
625
639
614
609
626
623
603
623
639
606
631
631
623
611
632
604
604
609
606
629
627
611
609
632
612
613
620
618
606
639
626
635
603
607
602
639
614
618
611
633
617
611
639
618
609
623
632
621
616
615
602
624
626
603
622
630
621
614
623
640
613
604
617
623
639
613
625
618
612
614
617
621
626
612
619
623
622
622
607
616
610
619
614
635
615
607
627
621
613
640
610
608
613
639
612
615
605
613
601
623
623
620
626
606
609
606
625
616
639
612
607
608
602
601
609
610
632
623
613
624
623
602
615
615
628
614
622
618
628
626
611
628
628
634
604
609
622
604
617
625
619
621
617
609
622
624
610
620
604
615
606
631
610
618
609
604
640
622
614
631
613
609
624
605
621
603
635
618
610
606
629
616
626
621
631
606
612
631
621
625
614
616
636
639
609
607
602
632
608
613
625
609
623
613
610
612
633
608
629
618
630
605
610
614
604
627
629
619
622
606
605
631
635
615
629
639
617
613
618
629
610
617
621
602
618
606
629
606
610
616
620
609
613
639
636
608
618
617
607
604
603
615
616
631
621
624
622
630
617
630
626
621
634
604
612
633
603
611
623
614
614
611
617
639
613
617
619
609
602
608
617
608
622
617
602
640
607
603
620
620
616
618
638
617
628
603
620
625
625
604
607
640
606
611
631
616
612
611
622
614
626
602
623
611
625
634
612
625
603
605
605
608
630
610
622
619
638
617
623
614
625
619
626
610
623
620
626
613
612
603
612
621
607
617
618
618
625
635
612
624
604
631
607
613
610
623
623
603
602
607
614
617
606
611
617
614
619
624
617
622
617
610
617
608
610
604
610
612
626
611
623
621
608
623
629
623
604
615
626
606
634
615
611
632
610
609
629
609
604
627
610
626
624
606
620
603
612
628
617
630
621
619
619
640
615
629
625
627
617
610
621
630
621
626
602
623
623
611
634
614
627
609
617
632
604
609
623
612
631
617
608
627
623
619
613
629
617
618
635
637
614
607
634
609
615
614
608
632
609
623
632
620
639
639
624
622
603
620
635
612
609
613
608
615
603
616
608
607
618
613
616
610
623
621
625
609
631
614
605
620
611
614
630
603
616
622
608
606
604
618
632
630
614
610
605
605
626
607
630
632
609
631
625
614
637
612
617
617
604
605
610
620
606
639
611
631
615
625
624
621
628
604
620
608
623
625
614
608
624
609
630
603
605
611
631
639
618
614
623
628
615
624
622
610
613
623
621
622
609
635
604
624
614
610
620
609
617
611
634
626
618
620
611
607
612
603
625
612
605
603
605
619
629
608
617
629
623
618
625
613
601
609
609
619
608
613
616
611
609
608
630
629
604
614
605
631
619
613
640
613
614
628
614
615
629
609
623
617
609
633
605
623
619
639
614
609
601
601
627
602
623
629
608
614
606
627
621
604
612
609
613
623
612
635
610
604
611
607
638
616
608
604
611
617
608
615
618
625
616
633
601
632
628
613
608
612
631
609
632
619
640
624
609
606
633
603
611
614
608
623
611
607
610
610
618
631
608
632
605
626
618
614
634
619
613
622
604
631
612
602
607
623
639
607
610
614
625
632
614
613
606
620
620
631
614
621
620
607
621
608
614
633
624
615
611
627
613
606
604
612
611
610
605
631
618
607
618
605
623
607
635
603
633
617
613
628
633
609
601
626
634
635
614
617
611
607
603
612
613
612
602
632
601
622
611
630
609
630
609
623
607
612
609
605
608
616
633
634
629
617
630
639
619
618
634
612
622
623
615
614
627
611
632
629
632
609
616
604
632
617
622
612
618
606
602
608
617
622
612
606
603
604
613
632
639
620
609
608
638
626
615
603
618
614
621
610
608
632
615
612
616
623
613
639
639
614
624
614
622
640
613
632
614
632
623
613
620
621
618
601
616
605
614
623
626
604
634
608
614
605
608
618
609
614
605
639
623
614
610
625
619
606
610
629
619
605
602
604
621
605
635
603
619
639
613
612
617
613
602
631
602
608
629
613
609
621
613
621
617
609
607
629
612
629
604
605
617
602
627
602
626
631
605
619
635
607
627
636
609
626
617
608
611
621
604
611
605
603
617
614
619
609
611
614
620
614
617
606
610
615
607
607
625
602
605
610
623
633
608
613
618
611
610
612
629
632
621
639
611
614
613
632
637
629
626
603
626
628
606
625
626
625
620
611
614
620
620
608
620
626
626
607
626
612
623
613
629
608
613
627
613
635
603
603
608
606
621
604
614
606
621
606
619
625
632
638
622
614
613
622
608
626
612
605
617
607
615
619
613
623
609
633
620
623
611
621
608
607
603
610
618
630
617
617
608
617
611
617
611
604
632
620
620
612
620
630
628
630
628
613
620
639
635
624
625
616
625
605
624
604
603
629
639
620
623
613
626
629
615
612
603
604
602
613
616
631
606
612
618
635
613
615
615
633
608
613
607
612
613
625
639
612
627
623
614
619
611
625
606
605
610
608
608
622
619
609
606
617
614
621
627
611
608
609
622
606
603
608
612
615
635
604
608
610
626
631
617
615
625
617
604
621
605
619
621
630
613
628
619
638
617
621
609
603
617
624
613
606
617
616
633
632
611
614
616
619
614
609
625
608
618
617
629
609
625
601
636
626
617
606
618
606
607
609
620
626
622
631
623
610
617
632
625
604
632
620
630
617
604
616
614
615
616
639
629
627
612
617
631
611
604
612
602
622
599
627
606
628
604
612
605
621
615
611
618
636
626
639
632
614
611
626
639
610
613
632
607
623
633
604
631
623
612
609
622
614
629
612
612
621
635
607
621
622
605
613
617
623
631
613
631
621
607
612
605
621
608
609
620
632
613
623
613
620
607
612
617
617
617
639
634
622
606
621
639
604
635
609
629
639
612
628
631
616
603
636
616
606
623
607
639
603
615
608
602
615
639
628
620
625
603
610
619
605
635
612
622
628
635
608
614
608
629
621
608
619
603
627
610
608
605
623
602
613
617
604
634
607
619
614
608
616
627
605
635
625
626
632
631
608
618
609
616
616
627
613
608
628
620
621
609
610
609
631
606
612
622
639
620
601
635
605
619
624
611
610
622
601
613
608
610
616
624
630
611
635
616
610
621
624
622
608
622
633
611
630
609
626
606
618
639
623
633
627
613
622
609
613
622
606
619
609
631
622
609
604
603
615
634
602
619
613
623
606
622
602
612
613
628
608
606
613
623
611
623
616
604
618
606
627
611
622
622
633
624
626
606
623
631
624
623
604
617
611
617
608
615
632
626
614
618
627
639
609
604
619
604
633
614
621
632
632
613
630
615
629
630
614
618
632
627
607
624
640
608
606
629
625
608
626
622
639
616
613
613
607
624
606
609
628
619
630
618
628
610
632
625
625
619
605
603
618
621
613
634
613
618
640
611
611
614
611
629
620
616
623
605
605
628
602
611
618
612
610
629
625
616
620
633
610
630
603
613
628
617
625
611
639
623
624
617
624
612
613
604
609
619
630
604
614
629
621
609
622
611
627
641
639
605
601
623
631
625
621
609
631
621
606
639
610
619
609
639
610
614
619
633
608
604
626
639
633
625
629
615
607
612
606
621
610
617
622
608
605
637
632
608
606
608
619
607
635
611
606
630
609
632
611
608
605
630
608
611
604
606
626
631
632
631
635
624
601
607
610
613
616
632
623
606
613
618
617
638
612
614
639
609
606
607
620
604
612
606
636
625
612
613
618
618
629
632
605
622
620
622
609
607
622
610
620
609
611
618
614
637
610
610
609
608
621
605
602
632
605
605
638
614
608
609
602
630
625
634
631
607
613
619
633
620
630
614
624
603
611
611
640
636
615
618
603
632
625
622
639
617
622
611
614
633
616
625
616
622
615
609
618
610
605
630
619
610
610
631
614
639
625
612
608
610
604
619
602
613
626
606
630
606
618
621
609
621
634
620
616
623
608
626
610
611
606
610
609
623
613
630
611
625
639
608
613
622
608
604
632
612
624
610
627
614
601
620
611
626
631
624
599
617
608
629
615
617
629
615
610
606
622
602
631
612
603
608
630
609
634
630
626
606
635
626
636
609
608
604
623
607
620
630
625
602
616
610
601
630
638
621
612
619
612
607
615
614
631
616
608
606
609
601
603
607
640
606
604
614
634
635
622
629
613
629
617
613
608
610
610
640
607
610
617
619
626
607
625
610
628
631
603
617
618
620
608
617
614
623
601
610
610
626
604
619
612
604
605
631
634
610
639
640
634
627
640
623
627
616
620
623
635
630
629
639
614
613
610
619
607
610
615
623
614
612
606
607
608
607
619
619
639
619
607
618
614
637
614
630
622
635
616
622
615
630
615
621
602
610
608
624
615
631
606
620
608
634
629
626
611
629
623
622
609
607
622
625
630
632
615
605
610
629
628
612
600
613
620
607
606
622
613
639
609
629
617
606
605
626
603
625
640
617
609
619
617
628
624
614
628
608
635
631
604
617
639
614
619
603
631
614
621
632
628
609
629
605
602
606
608
619
606
608
611
628
616
630
630
602
605
632
604
615
610
608
617
620
612
606
613
614
604
611
618
617
606
612
600
604
626
619
630
623
639
621
631
605
630
623
621
622
613
604
617
620
626
634
608
603
620
616
640
631
617
609
617
612
620
620
628
628
629
631
610
614
621
623
606
634
636
613
607
603
610
623
605
625
604
616
639
609
620
604
623
610
621
617
613
607
605
634
616
614
632
622
606
623
618
607
632
606
622
624
617
607
620
629
602
621
619
634
601
609
602
627
610
622
630
619
617
607
605
629
622
625
609
618
626
625
609
609
614
607
623
618
613
602
613
635
604
604
624
633
614
613
639
636
613
613
608
606
635
609
610
608
605
622
601
615
618
612
604
608
639
614
617
626
615
633
611
617
616
608
629
639
625
601
614
614
603
620
614
603
625
603
618
618
607
611
613
626
616
628
607
612
622
613
619
618
631
620
614
609
632
607
620
626
614
628
621
622
615
605
615
623
610
607
613
605
603
613
615
612
623
611
609
603
628
622
624
622
614
631
613
606
631
622
610
633
616
605
618
625
608
628
616
616
605
608
617
626
628
608
635
609
625
613
628
625
601
630
608
617
608
613
631
616
621
612
602
626
604
628
632
623
612
613
625
640
635
616
612
610
622
639
613
603
628
602
621
605
605
611
622
618
603
612
616
604
604
608
615
604
623
611
608
602
604
637
635
622
605
605
625
611
609
627
609
607
606
604
635
615
610
629
613
599
619
617
614
617
630
606
628
609
610
607
624
611
622
614
635
618
607
624
612
607
634
609
608
626
618
606
607
605
627
601
615
631
604
605
611
611
626
625
622
618
602
608
620
622
617
626
623
619
618
615
629
625
611
604
630
628
624
610
621
631
629
639
622
611
609
608
617
606
612
605
605
623
639
626
611
613
618
621
620
614
634
618
612
611
614
617
619
611
604
617
610
636
619
612
608
624
619
626
614
615
632
609
610
608
608
605
610
605
601
610
605
616
618
613
615
635
626
612
608
615
602
618
616
606
607
622
634
639
608
610
607
626
639
619
602
631
632
604
605
621
613
622
616
607
633
613
611
615
605
614
621
603
604
616
605
626
603
605
608
609
632
607
629
610
639
621
605
603
625
614
612
630
610
605
621
622
616
612
635
615
611
611
609
634
602
608
613
626
622
630
620
619
601
623
623
623
606
613
622
615
624
605
608
613
608
629
616
611
621
610
605
611
602
628
610
609
631
607
621
624
606
610
604
604
607
611
635
612
604
617
608
632
620
609
614
613
605
617
635
613
612
613
636
639
622
602
606
624
603
626
615
616
604
628
605
609
609
632
617
629
626
629
621
614
606
640
622
620
624
625
622
605
620
613
616
604
611
626
606
618
608
606
611
633
606
611
616
614
605
615
622
630
611
618
623
636
607
608
628
609
628
612
619
622
629
613
603
603
632
608
615
629
608
613
611
614
607
608
612
623
620
628
627
599
614
608
630
623
622
626
606
625
603
613
632
607
614
605
611
621
620
637
612
617
610
624
607
611
613
620
606
630
635
605
616
639
604
606
608
631
602
620
612
609
628
620
622
602
628
634
614
620
627
610
627
610
634
618
623
611
637
626
631
614
614
625
636
619
637
610
607
605
612
632
604
620
623
632
622
612
622
614
630
608
639
613
634
617
626
633
608
605
622
606
617
607
623
639
612
607
609
615
614
613
604
617
600
608
603
607
605
606
623
635
609
617
635
604
609
605
616
608
625
605
623
606
631
614
619
608
611
605
615
621
630
602
617
606
603
616
618
614
607
613
628
633
629
614
610
606
613
632
620
623
602
624
613
613
607
631
632
639
620
639
610
607
621
626
622
621
604
612
603
609
604
610
603
625
618
622
599
628
617
602
604
605
629
633
610
611
623
609
631
619
620
631
609
613
603
634
634
604
625
619
607
609
603
611
615
629
615
619
606
602
627
614
614
625
634
630
625
611
617
606
619
609
626
631
619
618
603
608
605
614
626
601
606
608
614
611
628
605
618
623
620
622
619
626
608
610
607
608
631
602
605
635
632
617
623
601
611
625
632
616
621
614
631
624
624
625
613
612
613
614
611
608
615
607
630
628
605
623
632
606
615
615
620
611
631
622
634
606
605
607
622
614
618
613
628
611
612
609
618
604
639
625
634
610
631
614
623
612
607
611
620
623
618
616
615
638
603
634
625
620
615
632
609
616
607
608
613
621
610
619
606
618
612
608
639
617
627
608
619
622
609
636
612
630
618
632
628
623
623
615
614
603
622
623
614
628
624
631
619
627
626
622
631
625
620
625
608
615
615
612
609
602
606
628
633
606
625
624
607
604
626
616
620
601
623
603
606
612
616
615
604
623
619
607
612
611
637
620
617
609
632
619
639
611
614
638
623
619
625
613
610
609
630
607
607
610
615
616
604
626
633
628
639
611
605
610
628
614
629
608
616
626
611
625
608
613
630
604
620
613
621
616
605
631
623
623
629
609
607
635
621
602
625
603
615
633
617
614
631
609
606
630
630
614
634
614
606
632
619
631
624
626
627
624
617
611
617
604
601
612
606
614
613
618
624
608
623
605
615
618
632
617
613
610
616
629
614
627
621
630
608
635
609
622
612
609
609
618
624
611
631
625
618
603
611
639
610
619
616
608
613
609
626
610
616
623
638
613
603
603
623
612
625
622
609
629
634
623
618
608
605
605
606
615
614
608
614
620
639
626
621
618
602
626
617
605
606
608
628
619
603
608
622
614
639
616
607
615
613
607
621
629
613
605
613
605
633
612
618
608
622
622
632
632
613
626
615
617
616
614
634
617
622
631
601
629
629
625
635
615
636
604
605
623
621
630
609
606
630
639
606
612
611
635
619
611
612
620
634
614
636
611
623
606
612
623
632
608
633
622
618
608
614
617
621
631
626
624
629
615
611
630
626
634
616
612
617
610
621
610
603
609
607
625
614
606
623
619
610
628
622
617
631
624
610
619
617
605
620
608
612
631
626
627
612
613
605
614
612
631
623
611
639
622
635
637
610
603
611
621
604
605
618
628
618
609
622
631
624
633
608
621
608
624
609
622
615
616
618
631
620
628
606
613
631
609
615
622
631
615
630
613
615
628
612
613
614
629
629
619
605
628
611
629
631
608
610
630
621
628
614
605
604
605
617
612
621
606
625
618
627
620
625
613
621
629
632
634
625
632
607
620
632
603
613
601
625
607
605
628
610
621
602
615
609
639
605
614
623
631
612
625
632
615
608
617
613
622
620
621
619
626
634
632
613
602
608
613
615
610
619
624
605
607
632
618
617
612
607
609
608
614
623
616
600
606
613
615
604
631
607
627
619
614
616
618
626
618
604
616
609
605
613
627
605
614
603
608
611
619
621
625
639
615
623
623
605
639
633
614
612
601
628
628
607
629
622
604
625
604
616
607
614
623
632
627
607
619
602
602
617
617
603
615
603
629
617
630
632
632
610
614
607
639
613
617
609
603
612
608
615
629
614
617
618
634
624
635
615
603
610
610
606
623
610
615
624
639
610
604
623
623
614
624
639
631
625
635
634
611
624
609
619
626
610
609
611
618
613
625
599
620
611
640
618
633
622
622
604
608
625
616
624
625
612
611
616
632
606
623
619
613
616
605
617
623
608
612
624
606
617
617
603
617
619
608
629
602
604
614
620
626
632
610
610
618
631
610
614
605
632
605
613
617
623
628
612
622
604
635
604
614
614
625
625
627
609
619
626
639
619
621
613
631
602
614
625
613
637
615
617
605
606
632
619
607
610
602
609
603
612
628
608
606
615
614
617
624
621
624
630
604
606
609
620
604
610
629
635
619
616
622
615
607
625
622
627
634
615
620
609
612
610
625
612
608
623
616
622
639
604
618
629
639
640
608
603
605
635
610
610
609
608
639
614
601
639
620
607
616
622
626
604
608
609
604
618
619
627
608
614
615
611
612
625
629
604
623
630
606
639
612
616
616
612
615
623
606
611
614
623
627
610
607
608
607
619
617
608
605
627
623
614
611
623
608
603
618
622
632
625
635
620
610
622
611
603
621
626
615
631
605
625
617
612
614
608
620
628
639
610
611
606
602
605
607
609
614
616
639
617
639
631
614
632
603
603
623
623
623
614
601
616
613
605
609
612
624
614
632
617
625
636
621
625
608
627
612
615
611
620
629
605
609
609
632
634
606
628
630
618
634
622
632
608
618
610
606
621
639
606
620
631
611
601
599
625
609
620
612
629
631
639
614
608
630
608
624
607
612
611
619
625
602
630
618
616
622
639
605
629
630
603
623
623
606
632
603
619
633
618
625
634
639
625
626
613
603
629
625
639
623
618
610
634
618
624
621
604
603
637
608
622
613
626
622
616
630
610
632
617
633
609
633
606
614
625
623
632
604
606
617
613
611
609
612
612
606
610
640
613
624
606
616
606
639
609
625
631
605
617
608
603
621
612
618
629
635
607
630
621
608
626
623
625
609
610
626
635
609
624
629
609
634
626
605
608
608
632
606
617
632
626
616
622
627
602
608
604
622
615
632
623
620
635
605
607
611
626
613
613
617
637
603
615
638
607
617
614
619
608
629
617
640
629
624
604
612
612
604
603
624
617
607
606
620
614
623
614
605
634
619
618
615
607
628
621
617
623
615
620
633
616
610
623
600
625
606
628
610
613
614
623
623
613
607
635
614
616
607
610
623
614
625
626
625
623
624
640
610
605
604
614
613
611
600
628
614
625
606
606
610
607
606
625
638
604
605
619
611
606
603
639
614
616
613
606
606
613
609
612
629
603
623
614
615
629
639
614
617
618
610
609
613
626
636
611
610
606
618
611
616
603
611
634
614
626
618
613
631
614
613
615
617
625
633
604
605
614
603
622
635
626
639
626
611
625
612
635
629
612
614
606
603
631
612
604
608
602
604
614
614
623
626
639
616
622
629
610
610
621
616
607
601
628
632
614
617
609
612
624
629
617
639
639
611
618
632
634
626
607
608
617
624
632
604
619
626
605
610
607
628
622
604
612
632
606
629
607
611
626
608
639
632
627
610
629
614
623
620
606
630
609
616
607
628
617
617
607
623
623
634
630
623
637
622
603
623
607
630
633
620
622
622
630
619
607
615
613
607
608
629
620
614
604
604
616
610
601
603
630
610
607
608
619
614
615
611
621
621
620
624
634
631
604
610
620
639
630
609
635
618
625
608
635
621
627
634
639
606
625
604
617
639
607
614
611
623
628
631
611
612
624
603
632
612
602
623
631
608
620
623
621
637
627
633
606
600
614
638
614
606
615
608
624
610
625
631
604
632
626
628
607
601
602
626
631
611
608
632
619
607
613
639
602
605
614
607
615
623
615
632
601
624
603
607
618
606
607
634
620
628
622
611
602
616
623
628
615
628
601
625
606
602
624
606
609
621
630
629
629
613
622
626
624
626
603
621
618
611
609
615
619
609
615
614
610
609
634
611
626
634
626
632
631
630
606
619
626
610
624
625
619
623
603
608
610
626
621
618
633
608
631
623
622
605
632
616
613
622
609
633
623
621
632
620
617
613
632
608
617
633
632
626
610
604
607
608
614
631
628
623
620
619
621
614
608
607
620
630
607
639
613
623
610
609
609
623
608
632
606
602
618
617
612
606
617
620
622
611
613
621
612
607
612
610
614
619
628
615
631
629
627
616
602
621
609
631
626
628
621
632
605
610
601
614
618
621
616
625
609
621
617
613
603
632
605
608
610
622
626
623
620
612
614
608
614
614
611
609
622
614
622
616
601
621
620
608
613
623
623
639
633
619
603
617
607
623
630
608
605
621
623
610
605
619
607
629
617
628
628
630
613
613
614
605
618
633
625
614
615
618
632
616
624
623
629
608
615
637
622
639
613
616
624
629
608
607
634
613
606
619
605
609
628
604
609
618
622
612
638
623
623
613
616
617
610
626
608
607
610
616
623
628
620
609
628
602
633
622
605
603
615
617
616
611
612
607
612
639
605
607
609
616
609
622
617
615
632
632
614
616
618
620
614
610
608
614
619
634
621
611
622
614
613
608
618
609
631
630
635
634
615
623
606
619
611
629
626
614
611
634
601
624
618
627
622
624
606
609
619
626
610
619
628
630
614
635
613
611
613
623
629
606
599
611
615
609
632
615
613
614
629
623
622
631
610
617
614
614
622
608
636
639
620
621
614
634
603
640
614
625
627
604
620
609
605
608
634
619
622
614
615
618
611
636
611
625
626
620
610
610
607
602
615
624
601
612
630
618
604
610
611
621
608
612
622
615
633
608
639
618
627
629
613
603
635
634
609
629
633
606
603
604
627
605
614
634
620
606
610
619
617
605
629
632
631
629
635
635
635
618
629
626
622
613
614
614
617
633
616
634
616
632
602
608
615
615
631
639
610
623
639
606
603
612
602
623
619
609
608
620
623
609
610
613
605
619
632
609
619
604
632
627
605
617
615
618
639
631
609
620
636
622
633
608
622
611
635
607
632
605
617
605
624
606
615
609
639
635
623
611
624
631
624
612
613
624
606
616
612
609
630
613
632
605
629
617
613
617
622
619
622
612
618
607
608
609
607
612
612
608
639
607
635
607
608
625
617
618
632
615
621
613
613
617
605
622
626
604
629
607
623
609
636
613
606
631
639
604
609
605
606
617
626
615
606
610
632
629
629
613
628
630
620
617
610
625
615
615
617
629
629
629
604
623
606
604
613
628
607
609
619
612
608
610
612
631
618
632
612
607
612
623
619
621
632
622
625
611
615
634
618
635
609
609
613
605
618
621
629
619
610
604
616
608
613
619
613
618
630
631
615
614
605
615
620
604
628
626
610
614
635
608
636
614
610
599
624
625
610
605
610
625
620
605
620
602
615
622
623
632
610
623
621
614
611
608
628
630
617
622
617
614
604
608
617
626
632
628
609
618
636
615
624
622
636
600
604
625
613
631
608
616
622
609
604
636
623
612
639
607
617
625
602
610
605
632
611
619
602
623
626
612
620
630
639
618
613
617
639
626
639
625
610
615
617
631
612
611
602
602
603
641
620
632
635
631
618
623
603
631
630
637
613
622
614
638
630
627
628
615
635
632
614
615
607
606
604
631
632
610
609
615
616
608
613
634
608
630
619
631
617
612
611
613
615
614
620
629
606
612
606
632
631
611
612
619
617
615
610
617
618
605
609
622
619
614
602
625
614
629
617
605
609
602
634
612
613
621
630
612
613
607
602
618
630
603
601
615
625
626
611
618
609
621
610
606
623
629
633
634
627
608
611
603
619
636
615
617
607
607
631
630
613
622
636
618
613
623
623
606
626
603
639
609
610
609
605
628
631
607
614
613
607
620
606
626
612
631
622
610
608
617
619
602
603
614
602
626
613
640
627
620
603
613
605
625
602
629
611
611
614
613
623
623
639
628
623
611
611
610
622
639
614
609
609
604
609
619
621
626
603
612
613
607
623
622
613
623
629
614
604
618
615
626
608
622
621
623
608
609
605
624
630
620
620
603
621
629
625
602
606
625
624
609
599
603
608
615
602
632
611
639
622
631
611
617
621
611
610
617
639
606
614
622
627
625
617
605
605
626
611
619
613
612
616
634
613
628
610
621
609
628
606
625
630
622
612
601
610
627
619
630
626
622
611
602
605
625
626
601
606
613
622
631
633
604
612
617
601
626
616
612
613
612
622
636
604
603
606
610
607
619
611
620
604
604
606
615
623
633
611
620
613
632
623
609
634
620
610
610
605
632
621
619
623
611
611
614
614
609
613
635
619
605
629
617
603
614
632
629
602
614
626
619
603
625
626
606
608
622
608
606
635
628
603
608
603
609
625
614
609
639
607
615
630
614
617
613
625
604
612
618
629
621
620
621
630
631
609
614
603
618
622
634
635
623
613
629
621
617
623
629
619
606
603
622
622
618
625
630
609
608
606
623
636
622
612
630
609
616
614
612
609
623
624
612
603
632
616
606
599
634
623
620
614
631
618
622
622
604
622
615
633
623
619
624
622
626
615
617
631
618
605
615
610
603
606
609
617
625
618
619
617
626
603
617
610
628
622
606
622
606
615
632
624
611
630
604
639
616
623
603
610
610
629
610
611
632
624
639
628
636
619
623
614
616
610
616
629
609
603
622
621
610
616
625
621
606
613
631
634
620
623
633
622
608
615
606
612
620
622
628
611
615
626
613
628
606
612
605
604
617
617
614
612
622
637
632
630
608
603
605
639
628
614
605
613
604
608
625
616
628
618
613
613
608
605
602
639
630
614
615
621
628
623
634
603
608
613
605
607
609
617
624
623
609
635
613
620
624
617
632
603
603
622
632
623
618
631
602
626
611
632
613
613
631
629
605
639
626
633
615
617
606
625
614
609
607
610
621
617
617
620
628
605
627
616
608
625
640
623
624
615
605
617
615
632
614
613
631
624
604
631
614
634
612
627
612
606
609
632
613
613
619
626
612
626
627
618
602
613
626
627
630
627
612
602
634
614
623
628
614
621
613
610
616
615
612
609
611
618
619
639
606
625
609
609
630
609
609
627
615
625
612
629
639
615
605
618
614
609
612
602
634
600
613
629
623
639
622
631
608
632
608
627
610
628
612
610
613
620
628
621
605
616
622
609
635
632
609
615
605
632
609
629
632
640
623
612
607
611
626
624
609
606
617
639
607
604
632
613
611
611
610
614
638
602
619
620
631
614
604
632
602
620
614
613
614
617
633
612
625
622
615
607
613
609
631
638
603
623
602
603
613
611
605
604
610
631
603
611
605
633
633
618
620
608
605
610
603
624
609
631
629
630
639
603
630
604
612
610
613
601
622
612
622
622
614
620
599
599
621
604
603
611
626
626
616
606
612
614
636
631
618
632
621
605
603
613
639
603
638
639
618
605
628
617
613
622
625
608
624
613
612
608
626
630
614
617
606
600
620
622
629
614
619
610
605
613
631
626
632
616
618
608
611
614
614
609
622
604
619
609
603
611
639
603
613
606
610
614
632
613
625
613
622
616
626
606
604
609
601
625
616
630
632
624
612
628
627
610
613
613
602
609
618
612
613
632
600
614
634
618
626
614
611
602
612
610
609
614
610
611
605
623
635
622
636
631
605
623
620
623
631
609
617
605
609
623
611
604
636
608
606
630
605
618
604
620
616
605
623
608
632
620
603
622
629
613
617
612
623
604
630
609
640
632
606
622
620
639
600
605
603
631
615
619
609
606
630
631
610
618
616
614
608
609
612
608
607
616
613
612
608
617
616
639
610
624
625
620
614
609
603
609
616
617
608
620
625
609
614
626
620
632
627
632
610
602
612
622
626
606
630
616
608
604
618
611
607
618
604
609
610
625
604
603
616
611
603
625
617
606
612
605
602
617
624
608
639
603
607
606
617
609
620
630
617
614
613
622
623
631
606
612
620
606
625
605
605
621
615
630
611
631
619
638
638
615
615
628
621
632
636
621
633
614
634
605
618
617
619
613
609
609
609
618
606
613
630
605
624
614
622
623
632
632
612
625
605
608
621
607
612
604
608
620
606
625
611
618
611
617
622
616
625
626
605
608
639
620
634
626
623
628
607
627
640
604
611
621
609
613
629
610
612
613
611
617
639
611
613
608
615
617
616
608
609
617
606
632
608
614
609
616
625
605
619
608
603
610
615
616
614
617
607
613
615
617
620
626
627
606
608
613
608
615
634
618
610
627
615
603
619
609
632
602
607
619
626
610
605
624
608
613
614
633
602
613
605
618
623
627
630
639
616
608
613
614
636
618
638
630
607
639
632
614
606
611
623
621
617
621
616
616
625
626
626
614
623
610
624
629
617
614
607
611
614
618
621
623
608
608
620
626
634
634
612
608
620
628
614
609
609
612
620
632
614
610
609
637
614
632
630
625
610
608
628
610
604
618
623
629
637
606
612
616
628
617
633
617
624
613
622
635
619
606
603
618
634
611
622
624
632
608
611
636
615
610
618
630
608
631
612
608
609
634
608
610
616
608
635
631
624
611
632
617
635
624
628
625
618
631
623
626
606
629
607
613
606
639
601
615
615
614
639
616
639
611
623
614
613
624
615
632
609
616
610
619
611
604
639
615
631
604
616
617
619
631
623
609
603
614
616
623
614
610
606
639
632
609
616
619
606
625
604
603
606
631
604
604
608
630
618
623
617
608
611
631
626
617
619
631
608
614
619
628
603
615
629
635
604
614
631
639
628
628
636
623
614
639
610
613
603
606
613
613
624
629
605
630
635
614
623
635
605
621
633
628
618
612
609
617
618
608
624
602
619
627
599
625
612
608
619
624
611
618
636
634
612
623
632
611
631
608
606
606
610
614
627
607
622
623
617
606
630
628
628
604
606
617
622
628
602
611
605
623
629
614
617
617
602
605
629
613
632
605
621
609
615
629
620
626
614
607
615
637
630
611
632
614
621
612
621
604
614
619
632
610
630
639
627
622
599
611
613
632
610
630
626
621
631
604
602
621
614
609
617
602
610
629
631
622
630
599
613
603
627
610
606
620
613
622
639
622
611
613
606
624
639
617
608
627
628
603
604
632
620
632
615
607
606
603
617
606
607
610
640
639
626
617
636
630
622
615
613
628
612
611
618
608
608
614
630
639
617
617
625
626
612
631
618
620
634
629
623
610
622
618
639
609
603
606
619
609
639
607
633
632
627
619
625
628
640
622
623
622
605
608
614
617
620
623
609
636
604
625
623
620
617
610
636
611
607
610
606
617
615
618
617
623
610
612
604
612
612
639
613
609
610
612
608
602
628
604
613
625
639
613
631
608
635
634
610
616
606
627
625
630
616
611
629
615
630
614
617
614
631
618
609
613
606
606
629
629
622
604
639
607
611
610
615
620
609
612
625
628
610
609
610
608
620
610
631
608
602
639
614
612
634
609
615
599
613
634
610
619
607
613
634
635
616
611
630
630
604
620
613
618
630
622
604
607
624
632
612
623
632
604
622
607
632
613
606
619
615
606
612
627
608
638
614
607
612
601
623
616
605
626
634
608
617
610
610
609
612
630
605
623
628
602
612
608
605
617
612
622
611
615
606
615
631
614
609
637
611
605
606
626
612
613
607
621
609
615
623
615
606
617
610
603
628
610
614
600
621
632
634
608
622
603
632
599
626
617
631
613
611
620
632
622
623
639
621
608
623
609
610
618
616
605
624
616
606
620
603
616
611
604
613
632
606
618
609
603
612
623
633
622
612
635
633
638
606
617
614
613
613
632
624
632
627
608
603
601
603
620
621
626
613
607
615
608
610
625
617
603
600
610
610
617
619
615
619
620
639
614
606
602
627
618
608
614
605
600
608
618
636
605
606
621
610
612
616
622
606
611
621
625
611
624
609
620
609
613
614
634
631
624
635
615
612
615
632
619
603
623
618
631
620
624
607
617
613
629
617
626
614
636
619
616
617
634
621
628
615
612
626
607
614
639
632
615
614
615
609
608
609
620
625
636
631
608
614
606
624
631
613
615
612
631
626
616
617
606
610
605
609
608
608
619
631
627
625
617
609
612
628
622
605
609
609
602
602
626
619
616
630
619
614
634
627
632
614
627
606
639
625
629
617
626
625
612
606
616
610
623
602
604
616
604
623
617
628
623
611
617
609
603
619
614
623
639
620
613
605
613
610
620
604
627
617
608
609
606
628
628
612
603
638
603
610
625
616
605
612
612
635
615
616
608
605
625
613
609
625
613
604
627
616
616
613
617
611
603
630
626
634
615
618
630
621
603
614
627
607
631
613
612
639
609
629
635
610
621
624
635
611
638
632
624
608
615
614
613
606
606
602
603
634
607
626
628
615
603
617
609
615
607
618
617
612
606
608
606
617
629
612
609
605
619
611
614
610
608
621
616
608
604
609
606
604
615
622
622
612
617
627
614
610
625
614
605
607
623
640
635
604
610
610
619
613
626
609
621
621
619
628
615
619
621
605
614
633
605
610
620
623
625
609
619
616
611
606
612
612
608
635
639
616
613
632
628
619
610
602
610
620
606
605
626
620
606
639
639
605
630
612
639
603
611
616
623
631
614
605
612
635
601
607
630
629
607
604
620
630
627
615
625
623
605
613
608
609
605
614
631
632
616
604
616
610
619
629
605
620
615
634
615
631
620
609
627
613
618
615
614
616
623
619
607
631
612
610
637
623
609
616
624
614
631
604
629
617
629
609
612
601
629
604
639
625
614
618
624
626
632
606
621
606
605
612
632
636
606
620
614
637
608
620
602
611
608
609
639
612
603
616
604
605
610
606
614
614
635
613
626
613
621
603
614
638
605
635
635
631
603
603
616
602
628
623
603
613
632
615
604
608
612
634
603
607
617
632
630
639
613
622
620
623
610
618
628
609
619
620
608
604
639
631
610
623
627
616
634
612
635
608
614
605
609
622
610
614
627
629
605
620
610
622
623
619
619
602
627
628
640
639
619
634
604
625
630
630
612
608
614
618
611
621
625
622
606
604
615
614
626
606
622
604
607
617
613
615
609
623
622
613
620
628
625
608
639
637
639
609
634
608
615
604
613
607
612
616
634
639
626
614
623
607
630
622
610
607
639
612
634
618
631
621
611
619
612
625
608
615
607
606
621
623
620
634
622
616
607
619
617
608
613
616
626
605
620
618
603
632
610
599
614
618
611
614
636
611
632
618
608
623
626
618
608
638
614
621
608
605
632
631
622
634
626
613
622
623
631
615
607
627
605
625
614
624
609
614
623
608
632
612
627
614
624
624
626
620
600
639
607
621
607
602
611
610
608
621
603
614
613
615
635
622
610
619
627
623
630
632
623
603
622
623
616
617
610
614
614
634
626
628
625
621
620
631
611
608
603
620
606
620
608
618
632
604
612
605
635
621
601
602
602
625
605
605
627
606
608
616
612
639
632
636
606
606
639
606
605
613
631
619
608
627
616
609
610
618
612
613
620
626
617
608
605
624
619
631
612
625
622
600
606
625
611
615
626
619
637
625
610
634
618
611
612
622
608
603
605
605
615
617
629
602
613
617
624
610
622
605
629
613
612
619
623
628
620
606
634
609
601
610
614
622
639
639
628
611
615
634
609
608
606
606
605
606
607
612
604
617
610
628
616
613
611
635
612
622
626
617
622
615
632
613
605
622
602
606
614
635
621
613
622
612
613
626
609
618
623
610
614
603
626
631
599
632
617
617
631
611
621
631
611
611
637
639
625
613
612
606
618
618
640
623
603
623
637
615
613
608
632
614
617
625
615
618
608
627
639
604
621
617
604
606
603
634
607
617
602
602
622
617
626
607
611
632
605
610
610
609
632
608
625
632
635
616
635
615
630
613
617
634
621
632
629
618
612
600
616
612
623
618
626
614
613
623
627
635
601
621
614
636
603
613
609
616
628
636
634
604
614
613
618
611
636
628
624
614
620
610
609
606
608
625
612
622
612
622
607
607
623
622
620
621
622
611
627
613
621
624
603
639
604
615
605
631
628
618
608
623
616
625
620
640
606
621
616
600
604
607
632
610
632
627
609
603
634
609
634
609
607
617
601
623
629
631
618
619
608
631
605
607
610
621
612
635
606
618
635
610
611
612
613
615
632
640
618
616
613
605
639
630
608
617
603
604
611
604
604
610
623
629
612
620
608
615
613
631
630
605
601
625
615
605
610
614
625
606
619
614
620
630
614
622
603
620
610
616
607
602
635
607
629
636
637
613
602
608
605
612
608
636
610
625
623
622
617
613
629
640
615
625
622
608
625
630
611
617
638
632
614
605
612
611
632
617
614
608
602
618
619
630
639
637
619
632
617
634
632
627
607
614
632
607
638
613
608
613
629
624
604
609
613
613
616
622
604
610
622
614
625
625
619
617
609
626
618
619
601
617
624
607
606
628
617
622
631
622
608
614
618
613
620
606
604
607
623
618
613
635
626
613
626
632
609
618
629
635
614
610
623
610
609
632
608
605
607
619
622
629
616
639
608
603
608
613
614
611
630
623
610
614
623
633
623
617
628
613
629
616
624
613
627
618
622
629
606
632
632
622
622
606
617
628
612
629
612
629
617
631
612
606
610
607
618
603
614
621
608
625
630
632
606
606
606
612
615
629
613
618
607
616
613
624
634
618
629
618
619
608
605
621
609
611
612
624
627
618
626
613
629
611
610
619
628
615
616
626
623
626
604
624
610
603
634
617
603
621
614
631
612
608
629
619
630
629
635
610
627
627
623
617
610
629
606
617
613
616
633
606
616
613
614
632
620
622
622
607
617
613
613
630
614
617
632
630
614
629
614
620
608
623
607
627
608
618
609
620
604
607
627
605
605
623
616
618
608
608
616
603
611
603
631
604
610
614
611
636
619
604
612
632
627
612
607
608
624
623
611
610
605
614
612
630
608
606
615
627
623
623
602
615
624
624
605
613
613
625
613
616
629
617
617
609
637
623
621
603
627
606
611
621
621
639
613
605
610
608
620
607
609
623
623
627
609
614
606
603
607
610
624
603
634
632
613
622
632
620
610
628
606
613
639
603
623
637
613
610
604
625
606
629
614
624
610
635
613
609
625
614
624
626
609
626
614
603
604
614
605
608
627
607
602
625
618
608
625
630
619
639
624
628
616
610
612
619
609
608
640
617
620
631
612
617
609
616
606
619
608
620
634
622
606
605
637
607
614
608
613
613
629
628
608
616
605
614
609
613
620
610
604
607
607
613
629
615
623
629
622
614
633
631
606
624
616
629
622
612
632
610
614
606
609
614
629
608
639
608
612
608
604
633
618
612
608
634
630
631
628
620
631
608
623
634
606
611
633
604
608
606
613
612
633
622
607
639
631
636
613
605
611
620
629
627
627
607
608
632
639
625
615
609
626
627
637
618
606
609
606
621
631
603
608
603
631
624
614
615
626
629
612
610
622
609
610
614
621
613
603
630
619
606
616
613
607
618
606
604
605
611
634
619
617
620
625
634
607
635
625
609
617
627
640
623
625
622
603
607
608
608
618
639
639
628
612
609
632
632
626
608
622
607
608
607
612
604
611
627
640
631
638
608
606
610
616
618
612
606
628
628
608
629
609
610
611
617
618
608
620
612
633
617
606
620
611
629
614
617
605
635
614
608
615
608
633
607
632
624
630
603
639
605
608
615
625
636
605
610
619
618
627
623
617
640
607
639
612
629
611
620
609
632
630
635
628
604
631
632
629
623
632
631
621
601
613
603
635
622
624
629
639
622
622
639
601
612
611
615
629
614
613
616
639
611
607
621
621
640
626
635
603
614
633
629
619
608
622
622
630
631
613
621
612
614
604
616
635
621
601
614
616
625
604
613
639
629
602
609
616
610
619
614
610
621
609
625
603
614
608
612
609
610
620
604
612
604
624
622
630
607
603
606
611
629
602
615
613
624
604
625
612
615
608
599
639
623
609
613
627
615
632
624
614
601
623
614
615
625
629
615
614
613
632
604
607
617
613
621
631
619
637
615
613
613
625
620
626
615
625
633
614
616
619
610
626
622
609
624
618
637
623
606
628
632
604
610
605
611
613
629
612
620
603
632
605
608
606
609
625
619
614
639
621
604
626
613
602
611
620
603
639
617
632
616
630
622
613
613
609
616
631
618
605
612
623
618
626
635
623
614
622
618
618
614
635
617
604
611
633
603
631
623
606
631
620
622
608
628
632
620
612
606
613
623
620
602
614
609
627
631
605
613
605
605
635
620
606
615
619
640
627
603
637
605
611
605
628
638
613
622
610
605
625
614
625
627
605
618
637
624
609
609
622
608
611
620
621
614
604
629
634
623
632
628
625
610
625
622
618
603
612
610
632
624
622
614
619
632
610
625
604
603
614
622
608
639
619
629
604
619
634
613
604
629
604
603
614
628
614
606
615
610
608
619
635
602
613
616
613
626
622
631
614
615
617
609
604
615
602
626
617
606
611
609
607
620
616
601
629
605
634
610
626
602
607
603
609
631
606
618
629
602
631
613
631
617
606
614
636
609
614
620
614
613
607
603
611
604
622
611
612
611
620
624
613
609
626
613
603
606
624
618
616
603
621
616
610
615
610
627
623
622
631
623
613
609
621
603
626
603
617
605
614
620
621
621
616
612
609
634
634
625
639
613
618
609
620
615
611
608
628
639
623
610
629
607
629
615
625
617
613
621
638
632
610
626
624
632
639
624
607
601
636
632
603
612
614
631
609
622
611
617
623
616
622
626
611
627
619
619
616
610
614
609
623
607
622
613
608
611
622
604
621
607
602
616
603
613
616
608
603
608
631
610
622
613
608
606
629
609
622
616
616
613
609
639
603
612
639
620
606
614
631
613
632
608
608
626
619
623
619
621
604
625
610
604
623
617
627
609
610
631
614
633
617
624
606
601
603
635
604
617
614
622
614
627
634
614
613
609
636
624
604
603
634
606
618
609
628
635
611
635
613
616
616
611
625
616
621
605
619
612
601
608
633
628
634
622
609
622
605
606
622
625
618
628
606
614
610
607
620
618
617
611
617
605
620
602
613
628
632
609
629
635
602
604
614
630
622
614
620
619
627
620
618
634
620
612
622
616
624
622
630
612
638
609
609
610
624
609
628
616
622
613
613
619
625
618
607
632
634
625
607
618
620
619
621
617
631
623
614
615
608
605
612
605
623
609
637
632
607
626
612
620
604
609
623
621
613
627
618
624
614
623
623
605
609
619
625
634
639
613
613
623
621
623
609
626
639
615
609
615
617
615
600
602
601
618
617
630
612
603
623
616
626
605
629
605
610
635
613
604
603
608
605
613
605
623
606
626
612
614
607
621
620
618
626
619
631
602
639
610
617
619
611
617
607
611
623
614
620
619
619
638
602
614
619
617
629
610
611
604
631
633
616
610
611
615
606
610
608
604
607
635
607
620
604
612
607
604
606
628
638
629
613
630
611
639
624
616
618
626
606
618
627
619
610
617
627
606
628
626
609
635
630
612
618
604
604
608
603
626
604
602
602
610
622
628
608
617
615
621
610
623
605
615
605
611
636
610
616
613
621
635
617
632
607
615
627
610
623
617
632
608
606
613
605
608
611
603
634
615
611
623
618
621
618
631
626
639
623
615
616
624
622
610
606
605
603
623
624
612
616
604
616
612
639
607
625
613
616
637
610
635
623
636
627
612
639
612
609
626
604
623
620
625
615
608
634
611
631
608
603
618
627
635
609
608
623
616
610
616
619
630
632
631
607
617
639
623
626
619
604
608
614
619
610
617
605
634
623
608
628
617
621
603
631
609
627
634
608
639
616
603
624
612
633
620
604
620
620
632
609
609
607
620
612
611
619
610
629
625
634
608
602
627
628
614
631
625
639
615
612
616
613
609
621
610
614
613
620
607
634
604
624
614
598
620
617
609
610
635
632
608
628
606
632
615
639
628
626
612
604
622
609
602
630
629
610
620
630
604
625
617
616
632
605
617
613
607
606
608
609
613
604
609
610
627
614
634
620
619
621
621
629
620
632
617
602
620
631
622
614
626
618
606
600
640
610
615
629
608
617
616
612
628
600
622
620
604
616
619
630
623
628
617
611
618
620
605
621
600
602
605
609
607
614
632
616
626
614
628
614
626
626
605
606
607
614
628
618
619
615
604
617
622
611
620
619
634
631
621
615
614
613
621
623
605
615
632
632
607
625
616
630
627
612
617
608
614
605
606
612
605
602
630
612
618
629
606
605
624
627
623
636
606
613
611
611
639
610
610
607
627
602
635
615
611
604
611
620
605
601
620
630
611
620
607
623
620
611
634
615
621
610
613
612
617
601
608
602
639
613
615
609
611
614
608
636
626
630
631
611
634
614
621
626
623
618
617
606
625
630
639
603
608
603
616
610
625
611
639
610
622
615
628
610
630
623
609
607
614
626
628
622
621
603
611
633
632
621
636
614
610
625
624
632
614
625
627
621
613
634
611
603
626
602
614
617
605
605
635
631
631
605
623
620
616
605
632
608
621
606
633
635
633
628
606
622
633
623
613
635
620
616
631
623
612
610
605
621
611
632
612
616
617
626
639
616
639
627
604
615
616
622
608
602
607
614
628
620
613
606
607
608
637
607
625
616
609
604
623
627
618
611
620
626
634
623
635
626
628
620
607
614
614
628
600
621
627
603
619
625
608
605
630
624
603
601
608
619
618
607
630
634
620
611
613
606
601
614
623
631
613
640
613
609
612
632
599
617
608
610
620
619
611
623
620
607
614
610
615
616
612
621
634
633
630
604
626
623
606
608
613
611
609
617
618
632
614
622
622
609
631
623
620
616
619
622
604
615
615
620
618
618
615
627
626
629
617
608
632
623
621
608
629
613
612
614
620
606
612
608
611
610
602
616
640
615
631
607
606
603
620
611
602
620
608
630
614
609
620
619
639
623
622
622
611
610
619
639
604
606
619
610
617
632
619
626
611
622
600
611
609
603
604
608
635
607
616
630
619
602
620
631
611
623
613
615
608
606
634
631
617
601
614
632
634
613
611
631
611
613
637
622
627
623
611
624
614
604
624
631
617
623
624
610
628
606
608
608
625
609
634
622
613
617
611
611
621
607
610
629
611
613
623
616
608
626
623
603
613
638
610
608
608
614
624
615
606
603
616
622
609
625
639
607
632
602
603
631
626
614
635
618
621
614
622
621
617
604
606
631
621
617
625
632
631
606
627
638
608
603
614
608
624
621
617
624
623
621
603
634
632
608
599
617
628
616
620
619
622
611
615
602
616
614
624
630
611
608
622
638
628
609
636
612
634
609
603
632
621
616
610
607
602
615
623
619
610
610
620
619
622
612
608
636
630
612
610
626
631
617
639
628
614
608
608
617
629
635
635
610
618
633
616
619
631
623
621
610
625
606
617
618
622
607
626
625
605
620
611
632
612
626
615
625
607
607
625
635
639
623
619
634
616
614
629
613
606
614
603
631
623
601
614
607
615
608
613
632
617
637
608
615
621
614
618
637
633
604
608
603
632
602
619
613
608
605
608
622
621
610
640
602
639
628
608
615
610
634
634
611
612
619
606
620
628
603
606
624
618
618
610
604
628
616
633
611
628
617
608
639
617
618
606
620
605
627
615
610
629
622
617
611
618
610
612
610
622
604
628
631
617
620
628
627
625
611
609
608
614
626
603
639
633
619
635
621
621
607
610
603
632
611
609
605
617
606
603
632
625
608
608
623
605
623
635
624
613
619
632
607
612
618
626
617
629
603
625
613
619
612
613
614
606
635
614
616
639
627
616
605
606
610
607
616
617
613
605
607
624
610
616
615
605
605
614
608
623
629
612
607
616
608
623
623
613
613
607
626
604
614
621
619
603
608
623
632
601
611
631
606
610
614
608
612
626
618
623
609
616
613
613
620
625
604
611
608
615
614
617
604
616
628
607
634
628
603
620
602
616
632
622
605
605
606
614
632
623
611
611
609
616
622
611
626
629
632
609
621
635
616
610
621
612
608
603
617
622
626
624
634
618
623
611
636
622
626
608
612
604
630
628
617
605
625
619
634
638
630
615
611
631
608
603
611
616
611
605
610
606
625
622
636
617
635
611
611
616
629
612
611
614
618
640
608
621
611
618
605
614
608
634
619
632
616
608
607
615
613
617
611
616
629
629
628
622
604
621
606
633
610
602
621
622
631
623
610
631
623
619
616
618
618
615
640
600
609
616
614
622
614
632
614
614
603
627
619
608
626
631
636
626
608
620
607
633
618
609
615
608
613
620
633
603
611
609
608
622
615
616
622
623
633
609
618
606
599
613
634
621
602
605
604
612
611
624
618
639
613
618
611
616
623
606
618
612
615
605
637
606
613
627
611
629
605
614
609
627
619
613
611
615
612
607
608
610
613
632
604
603
620
605
618
614
617
610
612
611
624
615
607
610
609
626
620
615
620
607
629
623
621
604
628
627
612
617
614
604
627
619
625
617
618
632
632
621
636
628
609
614
629
629
619
616
623
624
614
615
634
631
606
626
603
622
615
626
610
610
605
608
634
629
604
636
613
627
604
602
628
602
627
619
607
608
605
607
639
613
605
623
603
604
612
613
610
631
625
636
620
631
631
605
618
635
612
607
632
604
633
624
627
604
636
604
610
618
619
618
632
600
631
604
632
632
606
611
607
617
624
602
613
615
614
624
621
622
618
612
608
618
619
619
623
611
605
602
609
618
623
614
623
610
606
622
619
608
607
635
607
620
605
639
610
631
621
612
618
619
624
612
626
621
614
633
616
617
609
617
606
613
632
625
608
631
620
615
625
618
613
624
627
609
630
614
615
605
613
619
606
604
603
611
611
606
619
604
630
615
617
622
606
625
631
621
611
626
632
623
632
630
616
621
625
611
630
622
609
618
617
630
612
621
635
606
613
621
603
608
612
613
608
604
617
636
633
633
621
614
604
627
629
610
635
613
635
639
619
606
631
615
613
619
608
629
609
605
620
614
601
622
608
614
617
608
617
625
635
636
609
621
631
630
632
616
608
621
615
632
640
619
615
605
616
604
603
617
607
603
616
635
613
607
605
627
612
607
639
603
613
604
622
618
625
623
619
619
617
600
612
617
632
613
613
604
624
602
616
613
617
618
626
609
607
612
607
630
629
613
624
603
617
618
636
632
605
614
622
609
623
631
624
611
613
636
601
604
605
622
610
612
607
639
622
622
634
616
612
614
606
618
629
608
616
623
616
608
607
615
611
628
626
623
618
626
619
614
611
631
611
620
627
621
631
606
619
639
614
606
630
604
619
605
605
610
606
622
629
606
618
622
605
617
607
606
623
621
611
625
607
623
617
623
613
610
613
627
603
606
629
611
621
633
622
612
606
620
616
631
630
604
618
610
623
609
606
626
618
622
606
637
630
614
618
609
619
637
639
609
621
607
617
607
621
611
624
618
605
616
635
626
638
640
622
623
632
631
622
639
614
610
611
615
623
623
626
615
605
610
623
606
622
637
626
622
613
607
607
614
630
623
618
606
617
606
620
617
606
614
611
609
616
608
621
604
625
617
605
611
614
621
610
613
604
639
632
617
610
616
616
632
601
604
603
635
617
619
607
616
616
602
630
635
627
635
629
601
614
611
626
612
618
607
605
631
612
611
614
615
626
605
628
632
604
620
607
626
622
611
604
631
613
603
623
635
619
628
611
631
603
618
603
614
624
617
639
626
629
636
618
609
634
635
609
631
629
619
613
626
629
603
605
626
627
615
618
614
622
604
607
617
612
608
604
609
631
635
607
614
621
621
621
623
604
628
623
619
608
622
604
617
614
604
611
615
621
612
615
611
624
623
619
626
610
611
624
629
614
625
632
614
620
615
611
605
623
629
622
626
616
613
614
614
639
613
625
604
625
621
609
616
620
625
613
613
604
624
615
623
617
618
609
638
624
635
621
627
614
605
624
620
613
624
631
619
641
607
609
626
613
609
616
618
632
614
613
612
614
632
614
608
639
635
633
632
606
612
630
629
630
620
605
624
623
603
604
613
620
607
615
604
630
626
610
623
639
637
614
604
613
616
607
627
609
618
627
635
632
619
603
621
631
622
603
639
629
609
608
626
636
629
609
618
619
632
616
629
626
621
630
625
609
610
617
630
610
609
613
613
606
618
608
625
609
631
607
617
634
608
622
611
627
632
607
607
615
602
617
617
614
611
610
611
607
624
606
615
602
610
623
608
625
614
614
639
604
620
639
620
607
607
608
621
616
612
613
610
614
608
614
604
611
605
632
615
639
622
613
606
605
608
620
622
631
609
630
620
603
610
634
610
603
613
604
622
615
622
618
610
632
613
603
627
618
613
619
627
618
603
619
608
611
613
620
625
604
608
612
619
618
632
621
612
614
609
634
611
626
603
619
613
610
635
610
626
618
612
613
619
614
605
633
617
622
628
623
608
623
624
635
620
629
608
615
631
607
606
609
632
616
639
618
613
606
614
610
627
623
613
634
608
628
609
626
612
614
634
634
637
617
615
613
625
629
622
615
617
629
632
613
605
622
601
623
612
623
626
629
620
617
639
622
626
611
621
634
603
619
619
603
601
613
607
608
618
605
602
619
603
622
616
614
625
626
604
619
622
624
617
609
613
626
628
607
631
631
618
606
620
617
625
611
632
609
609
622
624
622
628
616
637
612
607
631
633
616
624
612
622
602
613
609
611
608
612
637
614
629
630
619
629
635
619
612
613
625
622
623
605
626
606
614
632
619
605
627
618
629
621
605
622
618
609
614
631
609
612
628
632
615
607
635
621
602
605
607
607
606
630
631
635
618
607
629
615
610
621
631
636
609
606
611
607
604
619
630
616
628
634
617
610
621
623
618
620
608
618
608
614
629
617
619
622
613
628
631
612
617
611
626
633
639
625
607
624
626
619
625
606
606
613
608
621
607
625
620
610
631
615
638
621
619
617
625
614
607
633
607
609
624
629
630
622
632
608
613
608
608
614
634
620
610
606
629
622
628
621
634
620
600
604
604
629
631
602
622
616
634
626
611
605
634
631
631
604
639
631
612
616
604
605
605
618
606
639
620
607
602
623
605
631
632
614
636
612
607
631
617
605
622
637
616
609
603
611
615
604
620
609
626
638
622
621
612
610
619
604
620
599
633
618
607
616
636
604
627
601
614
613
612
613
604
618
639
615
616
604
622
603
618
625
623
631
604
616
603
620
631
632
626
639
616
631
606
620
622
617
614
618
622
636
602
623
606
609
629
626
618
604
599
622
613
639
625
623
615
601
616
614
611
615
613
602
608
639
619
630
610
638
626
629
604
632
608
637
632
619
605
621
617
617
618
626
610
605
604
625
617
627
621
626
613
602
626
619
625
611
622
633
606
614
634
620
615
625
604
631
630
609
611
624
623
629
614
627
622
608
608
611
611
621
617
628
620
622
628
607
603
610
626
616
618
609
626
610
632
609
622
612
632
615
615
617
607
632
617
612
612
603
602
611
606
604
604
604
626
614
611
615
603
623
623
618
639
608
640
608
639
609
606
610
617
610
628
623
614
614
608
609
605
611
628
619
613
611
633
632
638
616
629
619
632
624
627
606
640
605
634
604
621
632
608
609
613
619
607
611
613
627
623
633
621
639
635
611
609
630
610
612
607
634
639
634
603
604
618
613
608
601
603
624
608
605
605
611
608
612
612
628
605
631
634
617
613
605
605
625
621
607
622
629
602
607
609
633
608
633
617
616
614
610
607
611
622
613
602
612
617
635
625
625
616
630
636
616
629
611
602
628
606
611
611
609
606
612
617
605
605
610
630
622
624
620
627
623
620
604
636
619
635
608
603
619
613
623
606
632
604
617
606
624
616
611
631
608
626
632
607
608
629
618
619
635
639
613
625
612
625
621
634
623
611
604
599
622
615
617
608
630
608
605
615
631
621
612
612
608
620
640
629
605
618
603
608
628
617
606
633
629
620
613
617
632
639
631
629
639
617
612
604
619
623
606
635
617
607
629
613
641
633
625
604
612
611
635
639
625
631
617
611
625
606
614
605
615
611
623
612
607
625
605
610
604
603
614
616
607
631
626
616
608
617
610
626
609
608
636
611
629
608
624
613
625
612
610
603
632
609
629
614
617
604
603
624
624
606
628
632
602
620
601
615
622
634
632
633
617
612
605
617
610
639
612
607
614
613
618
612
611
611
610
612
639
633
601
614
622
631
612
623
611
622
617
613
603
610
621
624
608
625
612
607
634
615
626
614
629
625
612
621
601
627
613
632
609
626
614
626
611
631
640
610
632
617
629
612
632
614
629
612
610
605
639
624
609
622
621
603
612
608
610
604
610
603
603
623
612
619
611
610
634
620
617
608
626
608
627
629
616
620
623
618
614
639
603
608
634
629
599
606
629
622
605
623
622
618
626
623
613
634
622
601
622
632
609
613
619
609
611
614
610
635
611
612
606
606
607
609
617
602
606
621
620
634
617
616
612
609
614
610
625
613
611
632
613
617
627
611
615
613
623
617
622
604
625
619
617
618
611
621
620
639
606
608
627
609
606
623
613
609
608
611
622
626
607
608
602
610
604
613
623
604
610
629
603
607
611
616
623
634
613
606
609
606
624
610
614
617
618
620
609
613
614
625
628
605
623
613
613
611
603
608
611
608
608
626
635
610
632
629
617
617
604
621
639
609
617
626
611
603
606
622
639
632
616
622
620
619
616
625
616
636
611
605
635
628
603
616
631
618
615
617
617
617
634
635
617
639
611
607
632
604
625
639
613
603
611
614
617
608
609
608
631
639
614
622
637
617
631
603
614
607
621
607
603
615
626
628
620
619
628
617
614
620
619
628
633
629
606
611
613
606
632
611
615
609
605
638
622
607
632
628
608
625
619
625
623
623
604
639
617
617
614
633
614
623
613
611
604
606
604
629
607
601
601
629
619
616
631
621
607
626
615
606
625
604
619
626
620
620
632
635
604
614
621
633
614
608
638
639
632
625
616
636
614
631
614
622
610
639
618
608
610
639
620
606
610
618
613
603
634
634
619
610
616
614
610
630
618
621
603
604
616
603
613
612
618
626
614
610
621
633
618
623
617
608
627
604
605
602
603
622
622
635
623
637
618
603
620
613
613
627
633
623
610
622
623
629
610
623
630
620
614
609
629
630
608
634
630
610
604
604
613
623
606
602
632
604
616
610
614
622
623
623
626
608
605
614
617
607
614
609
623
603
607
615
609
610
609
626
612
604
639
616
603
622
602
601
611
635
618
617
614
611
628
618
632
621
609
635
620
615
612
612
632
608
622
614
615
607
618
631
619
616
609
614
614
621
625
613
610
605
616
622
635
614
626
610
620
606
617
639
606
606
617
610
617
625
606
635
616
623
616
623
632
614
611
619
621
610
618
640
606
628
627
621
621
630
623
625
608
626
622
614
616
620
629
629
621
609
618
631
613
628
613
609
620
604
640
613
634
601
610
619
614
614
621
617
618
618
623
613
613
621
626
618
625
619
627
619
606
609
605
613
626
616
612
620
605
611
601
606
617
631
608
613
629
639
607
625
616
622
634
613
609
623
612
602
631
605
606
614
606
616
632
606
603
606
630
602
623
610
614
609
613
609
630
609
608
617
622
606
623
613
614
605
605
619
634
615
606
626
617
612
613
623
633
608
625
631
632
615
621
618
623
613
617
623
628
629
625
639
615
613
621
616
609
608
601
612
635
633
632
615
615
616
629
621
625
618
619
613
634
623
632
639
617
609
621
621
620
609
629
638
635
619
607
623
621
626
605
609
626
630
602
627
608
615
615
624
614
629
608
608
631
626
619
617
614
627
611
611
626
617
612
630
631
625
618
634
603
606
601
614
622
609
611
620
630
605
613
640
617
639
608
627
614
602
619
620
628
609
613
608
611
603
613
626
628
622
623
619
619
609
618
612
621
605
611
623
622
622
622
619
617
609
619
607
607
614
615
611
617
608
609
633
607
610
632
609
637
617
621
628
616
617
607
608
612
620
625
604
609
610
635
618
624
611
630
611
634
622
613
605
612
617
631
618
632
600
624
613
607
607
608
604
610
623
617
606
610
610
609
621
627
615
623
614
614
624
600
640
636
624
623
614
610
613
620
611
630
614
639
635
618
631
607
631
632
599
632
618
608
633
609
604
606
603
623
623
602
619
629
605
611
631
604
611
613
622
606
632
604
611
606
613
629
637
620
629
632
617
630
606
623
605
627
614
616
609
632
613
620
618
613
604
612
635
621
624
608
629
605
616
635
602
614
625
617
625
626
605
606
626
625
611
611
614
624
606
629
603
621
609
605
606
608
610
634
604
601
604
621
618
633
624
640
619
608
616
613
606
631
610
628
619
611
604
603
625
627
619
621
623
618
611
639
611
612
607
621
632
613
604
622
608
621
612
629
626
622
604
614
612
623
604
630
607
608
614
616
613
621
636
610
626
615
615
632
623
620
625
621
625
614
604
601
622
623
640
615
610
617
619
626
623
624
610
606
640
623
608
623
611
632
632
633
626
630
625
631
618
623
639
613
607
629
620
612
634
603
627
631
610
604
629
617
613
613
619
632
607
606
627
611
612
631
622
616
628
623
622
630
633
614
612
613
633
625
614
612
626
626
608
616
613
612
602
617
626
603
626
611
621
609
621
624
605
609
641
611
609
624
628
610
601
615
621
617
605
603
610
622
623
630
615
627
607
623
617
626
621
625
606
608
623
611
631
603
608
623
616
601
620
618
631
609
606
603
630
622
612
614
626
634
610
612
615
620
609
624
606
612
626
611
609
623
622
620
609
618
616
607
620
612
608
613
635
633
621
616
632
630
613
629
625
605
618
617
623
609
616
622
618
620
624
630
637
639
623
640
610
626
616
604
625
615
624
629
604
620
635
614
634
610
619
619
602
607
606
614
609
634
608
618
614
621
622
608
631
603
605
604
607
606
635
625
602
609
617
608
625
606
608
604
619
609
616
617
634
623
620
617
604
626
602
626
607
604
611
610
603
615
602
622
613
614
617
624
617
623
608
622
616
620
632
619
620
635
632
610
608
632
613
623
609
615
614
608
608
609
639
632
622
620
619
637
605
612
609
611
624
629
631
615
619
613
621
619
635
615
628
618
607
621
612
632
608
610
627
604
612
606
631
604
629
632
624
601
631
606
605
613
613
619
625
612
608
614
613
606
630
618
622
637
615
613
603
617
612
615
631
605
617
608
606
607
607
610
629
614
610
604
616
602
628
613
631
606
614
615
616
632
639
632
625
618
606
633
628
620
622
610
615
612
608
617
607
604
626
618
609
603
610
620
606
606
616
623
618
618
633
613
606
634
618
639
623
617
614
611
615
620
613
612
619
605
602
618
613
608
605
607
609
611
603
619
618
625
632
626
609
633
624
606
631
607
608
631
632
636
624
604
610
610
608
604
604
621
633
611
618
612
631
617
629
621
611
618
623
606
635
626
629
605
608
601
635
615
609
613
627
610
614
622
606
631
607
616
617
625
638
624
623
609
628
629
612
623
616
622
618
622
611
619
602
607
606
611
632
635
626
607
625
631
619
604
614
613
602
616
610
613
621
608
614
613
615
633
609
616
608
631
632
621
607
610
610
617
633
635
608
620
630
625
610
608
633
626
620
613
618
608
627
604
605
625
639
625
614
615
620
639
603
603
632
629
639
606
636
620
609
624
639
629
635
639
616
626
625
609
621
623
620
622
613
621
610
626
618
608
613
604
605
602
622
617
631
621
614
607
621
622
624
618
601
617
615
609
623
606
614
606
614
631
639
617
624
602
605
611
616
628
612
612
626
623
601
614
626
626
628
632
608
613
632
625
632
617
634
620
623
617
621
632
605
626
612
621
614
612
618
606
633
621
613
608
602
615
630
634
626
620
632
614
612
615
610
605
621
625
620
631
604
622
614
617
602
614
622
630
603
629
632
610
622
623
614
610
616
631
621
611
626
610
608
606
639
626
621
621
621
614
612
608
618
610
634
614
622
618
617
607
617
614
607
631
609
610
616
623
614
607
611
610
606
619
624
639
614
613
618
617
630
624
631
630
604
631
623
606
603
604
620
608
605
610
607
614
614
608
626
608
627
614
620
620
633
608
609
618
605
623
607
639
606
631
614
615
608
622
635
621
620
628
616
625
625
637
625
606
636
639
608
609
622
630
620
609
617
615
632
621
635
626
616
639
609
617
627
629
607
628
631
631
631
620
618
620
609
609
609
622
612
621
617
627
608
629
611
625
606
617
619
635
620
607
613
614
625
631
613
617
624
631
622
608
620
640
621
631
617
620
610
618
611
615
605
630
602
610
609
608
623
613
610
628
634
629
614
613
639
626
639
637
617
626
610
628
615
625
601
640
608
620
606
623
603
617
613
612
638
629
622
610
618
607
608
616
627
623
640
604
617
613
625
620
629
630
613
610
629
608
608
632
631
613
609
625
627
623
624
606
612
607
604
623
606
618
619
609
628
607
613
631
629
614
627
632
608
624
639
608
622
612
637
606
635
603
624
632
620
630
611
623
617
618
623
612
605
605
623
613
629
620
629
619
613
601
606
617
619
618
626
635
617
612
622
615
606
620
622
637
611
609
605
637
639
614
632
613
629
600
623
634
618
619
609
616
611
639
607
603
606
608
627
620
607
613
607
601
612
621
617
614
610
603
621
623
622
620
601
622
611
616
611
608
630
610
613
622
614
610
603
606
604
635
622
614
611
619
618
608
632
602
632
616
632
617
614
626
632
628
635
623
610
602
612
611
639
606
609
625
614
627
611
609
617
603
629
635
629
629
618
623
622
615
607
605
634
613
613
610
613
604
607
620
613
629
612
618
620
629
601
613
636
630
612
633
603
621
615
605
617
616
611
605
610
617
605
623
631
604
612
606
613
628
608
608
613
630
617
607
618
604
627
614
616
616
631
616
633
622
604
603
618
608
632
609
611
612
635
612
605
610
632
622
610
606
616
614
614
606
610
611
621
610
608
614
627
625
605
615
610
635
620
606
602
632
607
616
613
630
610
629
627
612
608
622
613
626
608
628
628
614
608
603
609
607
618
622
615
622
607
608
610
605
615
606
613
604
617
625
614
608
626
613
603
610
616
625
632
610
613
605
613
608
603
605
600
614
616
617
613
602
612
631
631
602
616
618
620
640
615
633
611
614
626
616
609
622
604
623
621
611
638
612
617
622
628
619
607
605
632
618
614
617
631
615
631
613
623
614
626
607
615
608
614
615
629
613
619
631
632
610
612
618
614
634
639
603
603
612
603
609
606
620
613
603
621
613
617
611
623
608
624
628
630
605
617
610
609
635
613
621
630
625
614
617
639
624
610
613
618
610
614
626
620
635
621
605
607
629
629
610
629
632
619
605
607
625
632
617
617
618
613
607
619
630
619
620
636
622
620
611
628
634
620
635
617
609
626
623
619
615
606
611
621
622
609
631
634
616
618
601
611
613
625
620
626
614
627
627
624
628
626
608
609
620
623
611
606
613
619
613
623
603
631
622
618
611
604
611
603
605
631
628
615
625
620
629
637
632
605
600
611
632
606
607
633
617
631
618
610
630
618
617
614
607
609
613
604
610
606
613
631
622
613
622
613
603
618
611
623
613
629
609
623
612
619
610
629
612
605
632
605
633
610
632
605
628
615
639
606
609
634
605
609
610
614
616
605
630
634
615
603
623
613
614
617
625
639
621
629
606
619
605
627
604
623
622
617
630
611
612
624
626
623
614
633
628
620
614
639
610
613
628
634
633
614
613
605
619
619
611
614
606
623
607
607
606
612
603
612
615
616
608
617
606
611
623
612
614
635
629
603
603
629
619
632
615
604
630
615
618
601
603
611
614
618
632
632
614
603
623
610
635
609
617
610
608
625
604
600
611
612
605
605
612
603
625
613
627
639
610
623
613
621
617
629
608
617
631
603
619
618
613
621
623
620
631
608
609
608
616
603
606
612
632
616
605
621
609
620
627
612
603
624
619
625
618
620
639
626
632
626
604
624
624
640
614
604
622
625
609
607
610
622
634
639
624
609
609
616
634
617
609
608
619
607
629
617
616
614
623
621
615
627
627
614
608
621
620
615
620
616
614
616
622
603
635
630
615
606
632
604
614
632
632
613
615
606
637
637
617
607
613
613
625
632
616
611
605
624
628
631
629
614
609
612
611
613
624
630
616
623
612
622
621
611
621
606
617
606
608
627
615
614
623
620
617
614
623
622
633
620
634
639
608
610
611
610
611
606
619
612
608
609
609
608
635
623
622
633
606
611
609
623
608
623
619
626
611
629
614
639
610
604
614
636
632
616
610
639
614
631
626
639
632
620
606
607
640
612
631
629
620
607
621
609
619
638
617
599
622
604
613
614
614
630
609
616
613
609
626
600
634
609
628
634
608
607
618
604
605
632
614
628
606
617
620
607
610
613
623
605
614
625
606
613
635
606
620
610
607
629
614
603
626
622
621
628
626
609
605
621
622
612
617
601
622
622
607
620
609
616
623
623
602
609
631
625
617
618
607
633
625
613
616
617
624
626
613
624
614
608
613
608
635
630
616
608
620
627
626
621
617
630
636
602
604
639
623
608
611
639
629
613
619
604
632
601
622
620
605
620
634
633
631
626
614
625
639
617
620
602
631
612
631
612
628
610
611
635
625
604
624
632
626
635
623
620
611
621
607
626
608
622
629
613
630
637
612
623
610
629
607
632
628
630
602
617
620
620
604
610
603
601
613
612
635
623
627
627
609
617
610
620
630
620
620
609
617
610
628
606
622
625
618
615
619
624
604
603
630
612
614
607
603
627
621
608
623
628
602
629
624
622
617
609
626
614
634
618
608
622
612
617
614
634
632
631
609
621
615
621
615
617
616
619
604
609
614
609
612
608
625
602
617
615
623
625
631
605
629
617
599
610
619
624
630
603
611
631
616
606
613
617
623
607
630
632
637
612
606
606
617
631
623
622
610
615
614
614
637
635
605
624
616
626
615
632
617
612
603
612
618
627
616
618
602
631
613
629
627
608
635
609
635
631
609
636
604
610
632
618
608
613
617
599
613
606
608
614
615
628
620
603
621
634
609
609
615
629
629
631
612
612
607
621
623
615
619
627
600
609
600
634
619
619
615
610
612
627
623
627
626
608
621
625
610
624
604
608
625
625
626
632
607
609
618
621
606
624
635
614
612
613
602
611
623
599
621
607
623
603
608
629
614
606
612
614
615
605
637
625
634
609
611
626
605
610
633
605
631
619
624
631
626
621
605
618
622
608
628
617
615
635
612
604
630
620
635
627
610
618
611
631
608
617
612
610
620
618
609
608
622
613
609
622
604
629
624
613
636
610
613
606
606
617
618
637
608
611
635
615
613
611
604
635
618
632
628
608
626
635
629
601
604
616
610
615
620
622
620
628
615
622
606
611
606
618
621
634
628
610
616
620
611
618
626
608
609
631
608
626
622
599
627
603
621
606
603
604
621
612
603
634
623
628
604
632
621
609
615
599
621
602
622
607
608
624
614
603
618
603
607
601
615
612
615
619
606
623
639
624
629
616
631
607
621
612
626
608
612
632
617
625
606
608
612
602
611
628
619
607
615
621
637
639
623
617
620
606
606
608
618
619
615
620
614
610
604
618
608
614
603
633
619
608
630
616
631
618
630
599
608
611
639
625
614
634
621
630
631
608
621
615
623
620
639
605
609
612
634
607
613
628
623
609
607
613
625
626
613
619
623
628
640
624
612
626
617
616
623
623
608
614
622
609
628
629
603
617
631
612
631
606
620
605
620
600
628
614
606
620
624
631
619
608
624
621
610
610
639
621
632
622
631
628
615
608
634
608
602
622
613
631
624
613
619
616
634
614
605
620
601
627
626
626
613
632
615
622
618
623
607
618
618
622
624
630
605
610
608
632
607
608
621
626
604
623
622
617
626
622
613
621
612
621
617
640
621
622
622
608
605
613
620
608
617
610
608
623
615
602
611
631
625
623
627
605
626
613
620
602
631
634
640
606
615
620
604
619
618
626
639
603
617
631
603
608
633
615
622
611
606
615
636
611
615
607
615
609
603
614
617
611
613
620
604
609
621
623
639
630
617
612
603
614
621
635
616
639
619
606
613
628
627
611
612
608
631
620
607
639
603
610
612
605
617
610
617
607
610
609
609
617
607
606
620
612
608
604
613
630
623
616
631
607
627
609
609
610
627
611
632
604
603
619
634
610
608
606
600
635
618
630
608
611
621
611
602
621
622
632
627
614
617
608
618
623
623
639
616
621
632
621
615
630
630
610
605
605
630
611
613
610
628
623
633
617
609
628
621
620
617
612
611
615
608
610
605
609
607
623
604
623
623
611
605
637
611
615
618
606
602
628
616
610
607
617
608
603
617
626
610
619
628
601
629
624
625
601
606
605
634
615
610
610
613
603
611
624
628
604
617
633
606
639
639
613
615
622
622
615
634
609
616
628
623
632
628
617
631
637
602
627
639
617
621
618
621
603
611
605
609
629
627
617
623
631
614
620
623
604
629
615
623
614
631
624
606
603
626
608
631
611
619
618
625
610
632
621
619
606
626
635
620
622
639
616
602
618
605
618
610
611
609
605
609
615
608
604
614
631
607
617
622
608
621
613
612
617
605
631
625
603
619
609
605
616
611
631
612
612
611
637
611
625
606
604
603
629
609
631
617
617
615
630
607
616
608
622
613
617
610
635
617
602
607
617
635
628
622
609
614
622
624
609
627
629
633
615
637
623
630
606
640
613
603
612
619
613
617
625
623
616
617
635
617
628
626
614
633
612
612
611
625
617
605
613
620
631
635
604
636
623
618
622
621
639
610
605
608
635
619
614
608
613
633
602
631
626
619
608
623
624
613
613
616
610
608
632
612
618
610
604
605
604
617
617
606
609
611
614
634
629
603
624
622
612
627
622
613
610
613
630
634
635
622
627
603
613
605
623
616
610
626
603
629
613
619
608
609
609
629
610
632
615
616
608
629
628
607
606
632
632
607
603
613
632
607
633
602
611
606
605
608
624
613
616
607
614
603
632
622
608
607
606
610
612
621
609
631
611
603
603
603
629
605
609
607
606
611
630
631
608
632
621
618
613
629
620
613
603
619
621
619
612
610
628
605
607
609
628
629
607
609
627
617
634
626
614
617
633
611
603
626
639
627
614
602
617
609
618
624
631
626
625
630
614
639
608
617
632
604
609
633
616
618
637
609
618
625
622
621
609
604
635
625
631
614
625
629
624
610
623
610
611
639
607
609
614
622
613
626
617
615
632
616
611
614
621
613
622
634
622
608
604
629
632
605
635
618
614
620
616
605
612
615
612
613
629
618
615
623
619
625
616
609
623
606
613
601
620
610
622
619
602
624
628
625
614
607
622
614
614
606
625
608
629
630
614
616
639
620
609
626
603
610
608
622
615
608
605
629
620
619
614
639
629
620
615
618
609
622
606
622
625
620
606
624
611
608
614
640
603
618
620
621
623
611
633
622
639
634
632
609
619
622
617
607
612
622
620
608
603
608
611
624
602
620
613
624
615
639
611
634
606
605
628
606
613
631
612
629
619
612
611
617
625
610
603
601
618
623
612
610
610
603
614
605
621
617
606
639
626
613
607
604
603
621
609
622
611
605
609
618
626
621
627
616
608
628
620
605
618
632
639
618
619
617
605
611
634
614
625
622
624
606
623
604
611
609
632
611
612
626
622
613
630
601
603
609
620
617
618
632
639
639
635
600
610
599
603
613
625
608
614
613
630
610
610
625
629
629
612
619
632
626
624
624
610
619
602
607
623
633
610
606
617
606
620
614
611
601
622
612
615
629
612
607
614
615
623
616
618
638
603
613
610
615
617
611
626
616
614
616
623
605
635
614
621
605
613
616
611
612
609
611
615
621
610
623
613
605
607
639
629
624
604
604
614
604
608
623
604
612
611
625
610
617
605
611
631
611
632
605
621
631
630
627
603
602
632
620
617
640
619
630
608
639
614
618
639
614
612
605
623
618
625
622
610
622
609
600
612
618
604
608
605
610
608
605
631
612
616
606
617
632
614
609
612
609
612
615
605
632
605
616
608
613
609
624
617
605
613
623
612
631
604
605
621
607
605
621
609
621
628
633
609
614
623
608
610
608
617
618
616
606
634
620
636
608
623
623
610
618
621
630
622
618
619
603
620
640
611
631
611
614
610
611
606
606
626
601
609
603
634
603
614
616
622
608
620
607
623
616
632
610
616
609
631
603
608
603
614
603
603
619
606
616
608
602
626
605
635
620
617
619
626
625
603
633
618
613
620
606
615
612
618
637
624
630
623
632
605
608
607
616
605
614
605
625
608
621
611
616
623
619
620
622
625
615
636
621
618
607
623
634
613
627
626
636
633
615
622
635
617
617
606
606
634
605
603
618
632
611
610
626
622
609
626
619
621
623
609
631
612
613
613
626
620
612
610
622
604
628
628
617
610
623
609
626
607
608
609
605
622
622
606
605
601
635
608
614
612
605
619
607
614
613
631
615
634
603
620
635
618
607
635
608
604
607
617
608
611
608
613
612
614
632
605
620
606
626
620
609
622
620
606
636
611
640
626
608
625
614
612
619
628
605
611
618
608
612
631
606
622
624
610
627
606
605
632
631
629
606
606
604
617
631
603
616
608
632
611
606
610
611
610
604
639
611
623
619
625
614
622
616
632
606
615
612
608
616
615
605
613
608
602
622
601
634
629
625
614
616
607
619
616
610
614
622
625
609
619
603
613
611
621
614
604
612
610
626
615
619
605
622
640
611
622
621
634
610
611
625
613
628
609
603
639
620
616
605
613
618
618
604
623
639
627
634
635
617
632
634
610
613
610
632
628
615
613
619
612
611
617
624
622
630
601
603
611
620
622
609
613
605
639
611
605
615
602
610
630
604
610
614
605
625
606
634
622
626
625
625
630
633
620
625
623
631
639
615
614
632
617
624
608
617
610
637
612
610
610
603
623
622
612
604
608
624
606
640
613
602
608
616
613
623
606
608
617
623
603
619
628
606
626
619
631
623
623
630
609
613
616
609
635
619
605
633
603
640
621
625
607
620
631
626
617
636
609
605
628
605
606
616
616
607
607
609
619
619
609
613
602
618
607
609
613
623
610
622
612
619
608
607
603
613
632
606
636
635
636
617
608
614
612
616
635
639
632
616
614
622
609
633
603
631
623
624
638
610
620
609
628
613
610
623
634
609
610
623
622
606
603
617
616
614
606
631
612
624
618
623
603
617
621
620
613
608
612
622
605
610
617
612
631
607
623
629
617
635
605
607
617
603
609
629
617
623
633
604
604
614
605
631
609
614
608
610
627
619
632
623
606
612
605
602
608
625
608
620
621
620
621
613
621
610
610
603
606
628
629
636
630
605
610
606
605
605
620
617
610
612
613
612
612
615
633
623
631
604
614
610
608
631
626
630
612
605
618
617
612
606
608
608
606
609
614
622
601
607
600
632
606
603
615
616
623
621
623
611
623
604
603
618
615
600
614
627
619
613
606
630
615
617
623
635
622
639
600
631
604
608
632
623
604
617
614
613
609
632
621
610
625
613
612
605
632
605
602
605
606
611
626
605
620
607
604
610
633
625
617
604
604
617
639
611
613
607
627
614
608
617
634
608
606
633
622
613
623
632
605
613
613
617
606
603
626
604
612
623
607
614
618
639
619
622
630
613
613
608
607
612
612
603
619
627
609
615
627
609
614
627
612
618
612
619
604
615
612
601
604
613
615
624
610
620
612
623
622
619
631
606
610
636
622
628
613
610
629
633
629
611
607
629
612
604
632
617
621
635
608
605
609
613
622
618
622
625
622
602
629
637
623
606
639
638
614
614
630
612
616
624
623
609
609
607
612
604
616
634
633
621
608
632
608
602
613
630
639
599
606
613
613
604
604
614
637
621
624
610
604
606
603
630
629
628
613
631
618
621
623
609
607
613
606
613
627
606
615
619
615
612
625
611
627
605
627
615
633
607
618
626
639
612
634
632
632
631
627
604
614
632
612
616
620
614
607
613
610
614
615
604
621
637
611
612
622
604
622
613
604
603
608
625
610
634
606
615
635
612
621
614
621
608
605
607
635
607
617
611
613
606
613
632
621
623
635
620
620
608
633
634
628
604
635
620
621
623
601
606
607
622
617
608
606
620
608
631
611
605
621
612
619
615
609
616
621
613
623
616
621
616
606
622
604
635
626
605
615
639
629
621
634
626
617
624
610
626
639
611
602
631
623
628
602
639
618
629
632
639
603
603
606
639
626
604
622
627
626
622
608
607
602
616
610
601
632
623
611
602
617
631
604
622
631
606
609
608
626
620
634
622
630
640
622
610
606
640
608
619
628
627
629
620
639
610
614
620
604
628
611
634
611
613
607
613
614
604
624
624
636
606
617
634
615
605
627
605
622
608
618
619
610
623
632
634
618
630
605
604
614
625
618
617
626
607
610
613
624
612
608
633
628
606
603
616
621
628
623
612
622
616
617
626
639
628
608
609
634
615
609
602
611
610
631
629
623
633
628
599
613
630
604
621
620
609
610
632
632
605
615
612
604
615
623
605
606
614
609
620
618
623
599
613
611
639
604
634
612
627
607
620
613
608
611
614
603
614
615
632
630
606
605
618
626
620
613
622
635
621
611
624
624
623
625
629
620
625
613
623
627
628
618
608
632
621
604
629
636
619
626
603
625
614
616
604
620
616
606
626
612
610
631
634
635
632
610
601
610
610
628
616
607
629
631
627
619
613
613
639
617
614
623
617
614
630
604
609
613
614
625
639
626
617
615
619
617
610
631
630
631
626
620
609
626
621
627
618
633
609
610
617
601
607
610
603
609
635
609
629
619
620
623
639
623
614
614
628
617
621
601
635
607
621
611
610
619
621
616
608
617
629
607
607
621
627
625
604
621
618
616
636
623
610
622
604
639
620
610
617
632
606
628
634
608
599
631
633
627
621
610
615
639
616
622
632
613
616
623
611
613
613
606
625
633
610
616
618
608
624
607
604
607
607
606
622
603
605
628
625
631
611
611
626
632
613
612
632
602
608
609
606
618
610
639
605
604
610
631
631
635
629
620
605
620
609
622
608
606
617
616
608
622
603
631
617
612
621
625
620
608
639
639
613
617
621
604
613
613
613
634
610
619
626
615
616
616
618
639
622
609
613
606
623
622
608
629
603
606
623
608
633
608
609
622
626
608
635
607
610
623
615
623
625
604
632
599
613
617
620
606
615
603
612
635
608
623
602
610
622
639
604
604
612
616
605
616
613
628
604
616
623
606
618
626
613
608
635
614
612
619
621
611
633
615
624
620
604
624
618
615
615
612
607
623
605
625
629
620
638
628
607
613
617
614
626
631
608
622
605
612
613
615
615
615
616
621
640
614
600
609
602
613
606
622
622
635
634
617
608
630
624
631
636
624
610
634
623
606
611
603
603
617
605
604
626
613
625
616
618
605
629
640
635
612
614
623
614
620
608
634
611
617
619
634
619
607
629
623
609
610
608
618
634
618
607
622
613
607
602
609
611
614
610
616
609
632
623
627
622
600
606
609
602
619
632
610
639
613
629
629
616
629
605
639
626
613
624
610
612
606
613
611
614
623
610
602
607
639
607
616
602
613
602
616
620
618
609
606
612
622
616
603
608
632
633
604
614
618
633
617
620
635
623
621
607
627
613
611
623
602
623
605
609
620
610
634
627
619
623
605
620
629
605
617
602
613
620
627
616
623
604
620
625
639
609
614
620
608
632
628
610
626
635
616
605
618
627
625
612
613
631
629
616
603
616
614
608
617
604
626
619
627
632
607
612
634
617
608
610
631
630
612
612
624
619
615
613
631
629
630
608
615
617
617
618
615
620
621
629
606
605
611
614
606
610
613
625
603
606
630
631
615
605
605
612
623
630
639
610
626
621
617
622
615
614
629
616
632
635
620
632
623
609
625
623
615
610
614
607
639
639
609
618
606
606
614
618
609
619
627
630
609
610
604
613
616
612
622
623
618
632
603
609
616
613
609
606
612
628
619
599
602
617
622
603
609
625
639
614
619
604
604
638
612
603
620
614
609
626
610
625
608
632
609
631
614
610
622
603
608
632
617
623
617
613
610
608
630
617
624
634
620
617
608
613
620
615
632
604
615
625
626
613
606
639
603
612
617
607
604
608
626
605
616
625
630
612
616
616
616
632
621
627
631
616
624
607
624
613
632
629
615
612
624
626
603
606
619
612
605
608
610
606
615
623
612
629
616
632
626
622
621
618
605
613
611
616
610
610
626
606
619
606
621
625
605
625
611
617
613
604
602
603
629
620
617
616
601
600
622
606
613
606
613
615
609
612
608
607
631
618
623
605
620
607
633
614
618
621
619
629
607
616
614
612
603
613
621
606
603
640
608
629
621
608
606
609
611
614
619
608
614
639
631
607
611
625
617
616
603
606
611
626
601
608
636
621
616
626
632
602
608
613
602
627
604
605
612
612
628
610
619
609
634
621
609
614
637
623
619
638
623
623
611
617
608
616
618
624
608
610
612
631
621
615
612
626
620
611
611
614
615
626
616
618
606
614
639
615
635
616
621
625
617
610
617
614
616
608
632
614
615
610
603
622
607
606
620
605
606
614
625
616
608
614
632
621
630
600
631
606
608
603
617
632
617
603
603
607
602
628
639
628
613
621
608
606
621
634
622
616
625
610
617
613
606
615
606
605
615
620
612
603
616
614
626
619
607
605
625
616
612
639
603
625
628
605
610
620
613
631
626
618
617
622
605
615
606
614
620
624
605
615
612
617
634
611
612
639
635
616
614
628
633
616
618
630
614
614
625
623
629
607
616
610
602
606
625
625
623
617
619
619
617
607
605
631
614
607
620
610
625
612
623
627
620
609
611
616
619
622
628
633
633
622
607
626
608
615
612
614
623
610
626
626
625
608
605
620
626
625
607
620
628
611
606
621
626
629
631
633
630
625
627
605
624
632
624
631
619
631
627
633
614
608
608
610
621
616
605
622
612
613
613
623
611
616
625
634
621
625
610
619
629
618
627
635
603
636
609
639
608
621
634
602
612
617
615
620
628
606
607
617
603
624
629
615
632
607
608
614
619
632
606
609
634
610
601
634
613
617
621
613
625
612
622
608
625
605
619
624
612
624
610
620
621
608
613
613
608
625
634
623
612
610
617
633
630
616
625
620
622
629
617
610
632
619
620
621
615
614
609
634
614
604
615
611
639
609
617
620
626
634
625
614
622
622
604
629
630
605
619
622
614
620
638
614
617
617
610
623
619
621
605
605
639
620
614
626
616
616
620
635
632
627
622
610
618
614
611
608
633
604
610
629
608
610
609
610
614
601
604
615
605
613
608
612
608
616
620
622
612
613
625
639
623
623
634
623
626
622
639
609
628
621
603
607
608
603
614
607
603
616
626
613
610
627
609
616
626
604
635
604
623
615
605
635
608
626
610
617
617
604
628
639
630
609
605
609
606
607
606
631
602
631
622
621
605
613
610
620
631
620
606
623
624
603
618
620
614
631
604
623
621
616
613
614
611
618
623
639
614
622
613
609
626
631
631
619
617
632
616
606
626
608
622
611
625
608
608
629
603
620
615
632
612
612
617
609
613
617
632
602
613
605
628
613
624
604
622
616
618
621
624
612
613
632
607
608
611
639
616
622
615
616
613
610
611
610
604
626
609
628
614
608
630
625
628
599
632
631
619
623
611
609
619
635
613
610
608
607
627
631
636
614
626
629
618
605
605
605
631
616
610
635
613
628
631
628
626
615
611
606
618
632
632
624
620
618
604
609
605
610
621
609
612
621
609
618
621
630
621
628
618
618
611
623
630
610
620
617
609
615
614
620
612
609
606
630
607
613
614
626
613
609
629
616
614
609
613
613
615
630
638
614
625
626
632
619
621
622
611
609
613
619
613
626
612
634
623
630
617
635
614
616
603
619
610
610
637
610
636
613
615
617
627
621
634
619
631
606
610
617
618
634
614
630
602
612
615
628
620
617
613
608
620
633
633
614
630
622
616
623
618
608
614
628
629
613
621
626
616
621
624
608
607
604
626
611
603
622
630
631
614
614
622
605
611
611
627
635
630
617
614
603
611
630
616
608
615
615
635
611
621
623
622
610
611
612
616
606
630
609
628
601
613
631
609
608
632
618
603
602
608
639
611
627
639
604
619
610
613
606
625
623
610
605
612
609
628
620
605
608
616
609
627
604
608
640
629
618
613
617
612
635
629
613
637
612
615
615
603
623
610
620
625
617
601
609
609
613
608
614
604
626
607
635
632
622
628
622
632
624
612
619
619
606
627
605
605
601
603
608
605
607
623
630
634
622
623
609
625
620
614
632
601
602
614
630
615
631
639
614
616
610
635
635
605
639
610
604
619
612
628
616
608
631
634
633
625
611
615
625
603
606
631
606
613
616
619
622
631
629
628
610
623
615
629
615
626
608
625
605
609
626
618
615
613
603
625
613
632
618
612
601
625
623
614
612
614
613
611
604
615
610
607
639
632
610
617
622
609
613
620
626
599
622
618
606
616
610
605
604
604
614
620
608
630
620
622
616
614
611
605
609
626
628
603
612
605
605
617
610
613
605
629
607
628
610
610
639
627
628
623
601
631
620
606
612
632
612
612
617
613
628
612
603
618
604
618
627
601
614
639
610
604
622
612
623
629
626
609
629
606
640
632
603
630
607
603
609
624
606
630
618
631
613
606
634
621
608
624
608
609
608
602
618
611
609
611
617
631
611
606
611
607
608
613
610
602
604
610
626
610
604
614
616
623
617
613
606
628
604
604
613
604
617
617
607
602
603
617
625
619
602
603
608
631
611
625
614
621
604
639
611
627
622
615
629
611
630
627
611
615
613
610
617
622
627
604
614
627
611
614
622
603
604
628
615
633
608
614
605
606
636
607
607
613
609
610
603
623
627
612
629
617
627
617
609
613
605
614
617
630
612
614
612
629
614
612
639
615
606
631
609
608
605
605
608
622
618
631
620
611
611
613
626
620
621
630
620
617
607
613
624
612
610
627
625
609
626
624
627
639
615
621
633
612
600
606
609
600
607
617
614
618
637
639
617
611
613
609
612
625
604
633
613
631
604
610
608
632
634
632
614
612
623
610
617
633
622
604
604
623
623
609
611
632
610
606
609
607
603
629
615
604
614
639
608
602
601
606
616
629
614
608
615
639
611
610
620
614
607
631
611
614
602
619
620
608
614
617
625
635
615
624
626
607
629
627
612
614
634
626
635
616
614
621
623
621
633
628
610
628
614
613
615
639
614
606
621
610
607
634
621
638
628
639
613
623
609
608
625
613
633
617
613
624
622
622
622
612
614
605
602
610
632
635
626
621
617
619
614
609
609
614
603
631
626
603
617
610
613
634
612
604
614
631
620
614
626
604
612
606
612
610
600
611
632
611
638
632
632
629
614
617
629
605
623
615
604
607
622
605
606
625
618
608
626
632
601
614
625
623
629
639
609
604
611
607
607
627
610
606
615
618
623
610
625
614
615
628
616
624
609
630
635
620
615
613
607
621
611
611
628
619
622
624
626
622
609
623
629
601
627
614
629
609
615
627
623
632
612
618
611
613
620
607
605
624
639
610
622
617
616
640
614
608
621
623
614
624
614
603
617
614
606
621
620
616
634
619
616
619
605
614
615
625
605
623
606
631
617
615
625
607
613
611
626
630
626
611
613
614
632
609
631
627
623
632
632
635
602
610
616
617
611
629
621
612
607
622
625
618
626
622
614
629
609
624
622
614
602
603
631
622
612
608
632
626
605
608
612
602
628
617
623
615
623
611
615
628
614
605
604
604
629
611
633
623
628
609
628
632
609
618
612
623
605
602
602
617
610
613
603
613
618
635
619
621
624
614
601
639
609
629
611
607
614
625
627
627
615
605
629
615
630
615
609
609
608
630
606
624
613
616
603
611
606
631
600
631
611
615
620
620
631
632
612
617
617
622
613
630
613
615
603
620
607
609
614
609
614
631
603
608
615
624
620
613
613
609
624
603
619
609
626
631
631
602
617
612
620
603
621
612
609
605
620
638
615
614
619
603
623
621
605
628
608
607
613
608
613
609
634
631
606
615
634
623
636
605
613
610
605
614
623
628
619
632
605
610
623
630
602
616
627
609
616
616
635
623
606
607
619
626
613
616
630
600
633
618
621
634
618
627
623
605
608
604
631
615
611
621
611
617
602
632
628
612
620
635
614
611
604
601
626
613
632
607
619
620
627
615
603
603
612
608
621
607
633
604
613
625
602
608
622
610
606
622
614
615
607
626
621
609
618
604
610
622
617
608
606
603
608
621
622
616
613
603
607
622
611
617
632
623
626
617
629
632
608
618
623
610
612
628
617
623
634
623
626
635
613
618
623
604
611
627
641
607
610
622
611
612
629
631
613
614
623
627
605
619
604
605
629
617
639
623
608
613
613
606
611
632
629
615
625
622
604
618
631
623
620
605
612
605
628
622
639
622
624
627
610
623
618
603
623
629
626
604
617
639
627
634
612
636
630
623
634
610
606
617
609
603
632
621
622
629
614
621
612
614
621
621
616
606
603
607
606
621
614
611
612
614
602
604
627
606
612
622
620
618
604
608
622
620
606
630
617
626
618
623
604
605
613
631
607
625
624
639
624
605
630
614
614
611
631
615
614
617
607
610
604
607
621
607
620
614
622
637
619
633
607
617
614
623
610
602
614
613
607
607
615
617
613
635
632
625
637
627
628
620
605
620
630
617
604
630
612
624
606
628
611
613
614
636
609
613
634
622
608
615
612
620
619
631
610
605
627
603
622
604
629
630
620
621
614
625
622
625
629
626
603
630
632
619
628
608
601
632
610
614
621
619
612
611
628
613
617
616
605
610
622
610
613
606
611
613
614
627
604
618
627
609
619
631
637
627
603
611
620
606
621
635
623
611
620
620
631
613
620
613
615
629
617
628
618
629
613
626
622
606
623
607
607
613
610
613
618
621
608
607
625
604
611
634
614
607
640
610
605
631
624
609
631
621
620
623
610
629
621
631
603
607
609
613
620
632
625
619
612
602
617
629
632
618
623
613
621
630
611
614
630
611
615
619
617
609
617
610
615
613
617
614
605
631
622
613
605
621
616
611
615
628
602
621
632
622
607
611
621
623
627
615
613
609
608
627
609
622
631
610
611
633
613
620
619
614
612
623
634
639
623
626
617
608
634
631
626
634
625
612
613
639
618
605
610
604
621
622
607
619
623
619
616
617
614
612
605
608
639
614
615
613
639
609
623
612
604
617
615
606
623
630
622
622
628
610
620
608
635
626
627
632
611
630
608
601
618
609
626
612
621
606
609
628
638
620
603
630
630
636
634
628
620
621
624
627
608
609
633
615
606
622
625
623
611
612
620
632
604
619
613
629
639
640
606
617
622
630
604
634
639
630
622
627
637
617
623
639
623
611
640
606
617
635
612
613
604
621
608
619
603
629
610
624
613
620
615
610
635
601
631
616
616
617
620
622
620
639
605
627
632
609
630
629
605
632
610
610
632
619
638
609
626
614
614
608
623
612
614
611
623
629
611
621
613
609
639
608
614
612
613
631
618
630
619
622
620
625
603
633
603
606
608
607
614
614
613
632
618
613
625
614
619
613
635
618
630
613
608
619
631
610
627
610
614
635
630
609
613
634
605
619
614
623
628
609
612
611
628
631
605
622
624
617
623
635
604
607
637
611
628
625
624
607
632
623
614
607
625
617
608
619
608
605
613
606
620
615
612
607
632
637
627
639
623
632
619
635
622
623
637
610
615
640
608
622
631
607
615
603
603
631
618
623
618
609
623
635
608
622
606
619
639
629
617
631
614
614
610
633
609
604
608
618
620
609
639
614
609
624
611
629
624
610
616
614
616
639
614
603
614
610
612
616
608
608
608
609
639
628
603
622
610
606
611
620
615
634
623
617
625
611
607
613
613
628
631
613
612
640
610
632
610
605
621
635
610
625
622
614
621
606
605
609
608
615
639
615
615
612
607
627
613
609
625
634
608
617
607
608
639
606
621
614
627
613
613
608
624
615
605
619
637
629
620
609
606
634
623
619
626
634
616
615
632
623
611
604
614
604
599
608
614
609
637
601
623
623
628
633
624
632
606
602
619
610
622
626
617
621
615
616
611
635
634
614
602
607
613
623
623
634
624
616
621
621
630
625
626
604
605
610
617
623
605
628
630
619
628
604
624
614
616
612
623
625
615
638
631
633
614
629
633
623
614
615
614
616
623
623
620
605
624
611
619
620
621
608
631
614
613
618
609
622
604
616
616
607
629
607
623
629
611
612
617
603
605
617
630
624
617
611
616
601
625
609
622
612
602
617
605
605
611
613
609
607
611
603
640
610
632
612
613
610
616
604
617
614
601
631
614
598
610
615
629
608
632
627
602
611
607
617
628
623
625
608
612
608
617
614
622
614
613
627
614
611
623
607
612
629
604
632
607
621
610
614
613
626
614
610
602
614
622
606
632
618
609
624
631
623
625
619
614
608
616
609
632
605
611
621
622
614
608
614
619
610
632
602
604
617
616
607
629
617
611
623
602
623
609
605
610
604
605
637
614
622
633
602
607
628
624
633
612
603
618
602
623
618
601
620
619
625
628
613
603
634
608
617
617
603
615
612
631
609
626
606
627
614
602
611
610
609
611
607
605
608
616
610
626
608
620
615
639
603
640
610
608
610
620
602
639
605
613
620
614
632
632
614
629
609
630
620
611
610
607
610
623
611
603
621
615
605
615
609
618
607
625
617
609
624
634
602
631
604
608
611
628
623
633
629
600
616
623
613
620
632
639
625
638
602
614
608
632
602
619
627
606
624
604
630
609
628
627
621
618
606
617
613
611
608
622
618
625
614
604
608
606
631
625
605
633
624
625
623
613
623
624
610
612
617
602
602
606
611
627
610
616
601
633
608
614
639
612
608
606
610
622
609
639
623
625
621
606
637
611
605
612
606
613
632
609
615
631
611
608
630
623
639
609
637
608
603
613
625
628
614
624
606
609
631
630
599
608
609
620
612
635
640
621
613
621
608
607
603
615
613
639
617
612
603
639
629
625
613
616
604
612
614
619
604
612
617
610
617
608
614
608
621
625
623
618
616
614
623
611
610
622
608
610
613
624
618
623
612
620
607
613
612
632
611
619
616
632
603
623
610
608
602
626
629
638
633
602
620
631
606
623
613
639
619
603
617
605
615
628
610
629
639
625
619
631
634
622
623
632
617
616
632
612
622
620
632
613
603
612
619
602
607
631
609
612
608
609
612
631
613
607
639
627
625
631
627
632
620
613
606
632
613
627
609
610
631
615
632
605
634
629
612
613
631
628
617
611
622
622
613
605
620
620
620
620
613
615
620
620
605
615
600
617
608
631
615
623
611
610
624
608
625
632
614
624
615
616
627
618
616
612
615
618
628
622
621
621
630
623
614
623
602
624
614
623
628
636
606
612
619
602
617
629
634
608
608
609
617
623
607
626
635
628
617
618
605
609
615
617
612
632
606
625
605
632
621
631
604
629
630
618
625
613
620
606
612
623
612
609
620
612
620
610
629
604
605
625
624
610
624
611
630
610
602
630
626
606
619
611
604
626
611
639
630
606
606
606
628
620
623
606
632
629
612
607
635
602
633
624
610
612
631
610
618
609
625
632
612
631
608
623
614
625
606
604
619
624
632
607
614
619
639
618
615
604
627
606
631
621
603
604
623
610
626
605
627
611
612
621
636
631
639
605
619
622
609
608
603
604
605
613
610
620
619
612
623
602
605
626
613
613
603
637
619
606
613
622
618
612
613
605
630
622
625
633
630
605
623
619
630
607
610
615
604
623
606
616
621
630
623
618
606
613
625
616
613
611
619
616
614
622
640
626
608
627
626
611
639
629
623
608
604
639
617
629
603
624
632
617
608
621
607
615
605
634
603
611
613
610
615
609
602
628
608
628
615
623
604
622
609
615
631
618
607
613
612
623
609
604
606
637
615
605
604
617
619
602
605
617
622
604
615
613
605
620
616
604
609
607
625
604
610
616
620
624
616
636
614
626
619
609
617
637
603
618
614
622
605
613
606
636
604
613
612
614
626
618
619
606
616
611
619
638
620
612
603
622
622
625
626
628
620
612
620
617
635
611
611
623
613
614
619
610
614
606
614
619
612
634
613
604
607
620
604
619
615
611
606
634
607
621
610
605
610
618
629
623
606
626
610
612
629
604
612
618
630
614
618
617
629
607
607
626
607
626
609
625
618
616
626
625
615
625
620
627
608
618
629
625
624
611
612
638
633
639
605
624
630
608
620
603
623
612
614
628
627
611
622
610
619
612
622
610
604
617
615
605
612
630
609
615
609
624
607
616
632
607
608
621
613
626
610
617
613
619
624
606
619
621
604
636
633
612
605
608
617
617
632
602
606
621
609
611
622
620
609
608
613
603
626
626
612
611
628
630
629
621
612
609
607
637
619
615
618
623
622
619
613
622
601
615
627
606
609
609
609
606
606
599
611
603
609
611
627
609
622
609
622
639
639
617
626
622
603
606
614
602
615
609
601
606
610
616
612
602
610
622
606
617
635
631
639
611
631
612
631
610
625
611
616
632
629
631
623
622
602
604
622
606
639
617
613
603
613
606
617
605
603
611
611
614
623
607
615
617
611
619
609
613
624
618
610
598
616
614
619
603
628
608
635
606
607
617
639
609
622
624
618
609
623
605
614
605
618
605
607
628
626
613
632
615
610
614
623
618
611
610
606
617
603
631
625
615
614
603
616
610
634
630
604
608
628
607
614
611
611
610
611
605
636
599
610
638
609
610
631
618
623
635
599
612
625
610
629
602
609
610
618
631
626
621
639
631
629
630
612
616
617
613
605
623
620
635
632
637
615
639
635
629
626
611
617
603
622
613
634
622
614
613
610
603
622
609
615
612
615
639
603
629
614
612
608
613
605
611
614
606
624
623
629
607
628
614
615
617
629
613
620
619
614
615
622
610
611
611
605
620
621
639
624
608
616
634
607
612
622
606
614
617
629
621
614
617
612
616
609
623
637
611
609
617
606
614
608
634
623
614
632
602
609
619
614
605
609
610
623
619
635
613
629
612
612
611
639
603
609
626
628
604
637
606
608
629
633
608
608
617
630
616
605
626
608
603
617
626
615
615
614
603
607
626
604
629
613
619
613
606
632
639
619
606
617
623
625
616
608
605
628
628
625
626
628
629
608
608
626
622
627
618
614
628
602
622
611
612
613
614
623
610
610
622
616
620
609
614
613
618
610
610
622
628
612
603
605
620
636
619
623
610
603
612
619
630
603
604
613
617
620
604
615
618
612
624
615
603
624
634
627
620
612
617
618
639
620
630
611
600
627
617
602
612
617
612
617
615
621
638
610
625
639
609
613
604
605
603
605
620
639
603
614
602
608
612
632
619
609
615
620
606
612
604
623
613
631
612
606
606
622
611
624
618
612
612
619
604
613
622
634
607
611
620
626
607
639
627
613
629
614
634
608
613
622
622
623
621
635
617
639
623
631
620
605
618
635
608
605
626
608
617
640
634
623
602
606
614
619
620
612
624
624
625
639
617
622
625
608
614
629
623
609
634
633
605
604
623
634
609
603
610
615
604
606
609
604
614
625
611
608
622
625
625
625
639
614
639
605
612
639
607
609
632
632
632
625
620
639
617
611
605
612
618
609
623
609
614
620
614
605
612
612
603
606
631
614
612
603
615
620
611
608
606
627
608
627
614
622
610
614
616
631
615
603
622
610
623
608
622
614
612
612
610
609
627
617
609
623
608
618
615
615
629
608
613
612
609
629
612
605
614
629
611
606
603
639
631
611
603
619
618
627
614
622
604
620
619
605
622
613
616
607
640
633
618
626
634
627
613
626
609
617
611
607
615
639
605
625
620
606
621
632
610
612
623
613
607
636
611
609
611
613
609
623
625
609
635
612
626
611
617
606
603
620
610
616
631
614
624
608
618
619
637
630
624
614
637
616
632
616
627
610
632
609
605
627
628
627
603
609
617
631
614
618
616
619
605
613
629
618
634
610
608
614
606
608
602
608
607
631
623
626
624
614
626
611
605
629
613
611
610
613
619
614
620
624
628
620
606
623
637
605
617
605
624
625
626
613
613
621
606
621
606
609
603
614
606
633
620
610
604
631
622
626
631
639
618
604
610
639
622
614
627
614
621
632
609
622
609
615
603
624
612
616
617
623
611
615
608
625
608
623
606
627
607
624
605
626
630
626
601
621
626
610
607
621
611
622
609
618
614
604
602
605
610
622
633
610
613
603
634
601
614
631
616
613
625
623
620
620
617
612
604
608
618
612
614
603
616
607
639
618
639
602
608
635
625
610
639
605
627
627
633
621
612
600
620
623
606
614
609
602
623
622
633
639
631
627
616
610
618
628
622
608
631
614
606
633
608
610
604
611
610
631
604
607
608
623
603
620
612
639
626
616
628
632
630
629
612
636
608
615
623
602
617
639
616
617
616
622
614
615
630
614
639
617
609
601
613
613
614
616
614
635
625
617
607
629
609
604
615
633
620
602
635
632
637
606
614
620
608
609
634
626
640
610
609
613
617
617
605
604
606
639
619
614
615
617
627
612
612
610
611
617
624
621
614
623
626
623
615
621
603
615
629
635
630
617
626
604
622
624
625
605
618
614
617
623
620
635
606
622
623
613
617
617
621
638
605
615
605
617
607
632
618
627
639
628
619
611
621
632
606
606
612
612
630
630
605
637
604
621
606
626
610
604
609
608
606
615
630
617
614
615
607
604
606
626
623
610
618
606
606
624
616
608
613
619
618
623
613
626
624
620
620
620
603
615
627
611
609
623
617
608
605
629
610
618
603
613
632
637
618
627
628
605
624
607
635
606
606
615
618
619
621
618
627
626
615
621
626
616
609
626
625
605
606
611
614
613
602
622
606
616
621
609
613
622
625
631
607
623
626
631
611
628
619
606
639
637
622
616
624
629
613
606
604
638
638
633
617
603
613
618
610
610
606
617
631
606
621
608
619
602
609
640
602
613
608
617
626
605
618
632
635
618
621
613
622
606
636
603
612
618
622
634
619
626
622
621
608
620
612
613
629
623
612
613
614
632
635
608
611
617
607
630
625
623
603
603
621
622
609
612
633
625
608
603
618
612
610
612
609
616
602
612
631
621
605
605
617
626
622
622
621
605
616
621
625
626
627
627
621
609
613
621
604
614
635
639
614
627
614
616
634
616
630
609
617
618
600
632
608
623
608
622
609
618
609
612
628
606
618
605
627
603
620
612
611
616
617
603
602
602
611
618
616
621
618
626
622
607
608
618
608
604
608
609
614
623
626
622
619
639
613
610
624
614
605
633
616
603
618
624
634
611
637
614
622
609
619
617
602
605
610
606
632
611
622
611
599
632
622
619
613
614
611
630
620
619
624
609
614
614
609
605
628
625
614
616
606
629
622
610
608
618
630
630
619
639
633
616
606
603
634
605
616
623
608
639
617
611
627
639
614
616
613
614
619
612
603
625
609
617
613
613
620
611
617
613
609
624
629
630
614
603
616
628
631
607
603
633
613
619
625
613
604
632
632
608
613
601
612
621
622
626
615
609
611
611
627
617
619
620
630
610
628
609
623
612
606
631
622
632
631
608
618
609
621
612
616
639
609
622
611
629
639
620
611
612
617
622
617
629
609
628
640
621
608
628
615
609
623
608
621
637
618
638
640
611
632
611
612
609
627
615
605
629
623
610
609
639
606
602
612
609
616
611
609
614
615
622
611
632
604
628
626
614
621
608
622
614
601
613
611
609
611
639
639
623
606
628
617
612
616
624
619
632
609
619
623
608
623
630
623
613
620
632
622
634
605
603
613
599
611
605
613
604
602
617
606
613
623
605
620
604
617
609
603
606
614
629
616
631
628
623
600
621
622
614
603
632
630
604
604
619
621
631
614
606
625
640
639
636
622
614
637
615
630
629
633
614
632
608
617
632
630
627
622
628
605
622
613
627
618
608
626
630
605
619
609
610
630
627
614
616
607
602
632
637
607
605
623
615
637
611
621
625
606
608
611
606
608
610
618
605
634
620
632
610
606
621
616
612
608
618
620
630
622
624
623
615
618
620
621
624
632
605
611
610
629
611
618
608
615
620
630
631
611
617
612
603
616
615
608
617
612
615
619
614
606
606
628
631
609
604
609
617
621
610
605
611
616
608
623
613
615
621
635
610
613
615
614
608
608
614
631
605
608
611
607
624
607
613
617
610
612
608
605
609
624
613
613
623
612
612
604
612
623
629
614
609
611
610
610
634
604
605
616
632
609
603
633
604
611
606
627
620
625
609
612
634
606
617
611
611
604
613
610
612
620
629
622
626
615
620
628
610
610
639
613
621
635
613
610
617
632
640
627
633
619
613
606
614
608
602
621
603
613
605
610
617
614
610
612
609
611
612
620
629
612
612
631
612
639
608
608
615
634
606
616
606
602
603
603
611
622
625
629
611
606
617
632
603
605
628
615
619
622
629
628
613
604
624
625
632
609
632
634
612
608
608
638
625
612
634
608
625
625
625
607
619
632
608
639
632
608
609
602
632
614
615
604
616
610
617
605
618
615
603
631
616
632
638
609
632
622
621
599
610
620
617
615
617
628
604
616
607
613
606
622
601
602
617
632
615
602
614
621
619
624
614
608
617
616
607
612
630
626
603
639
613
619
618
635
612
608
607
631
609
613
606
618
612
626
609
619
639
606
629
622
629
608
619
622
614
616
608
612
624
639
616
610
602
610
604
611
617
610
615
636
635
627
639
606
627
619
634
626
612
612
606
609
627
614
609
612
631
613
622
617
609
612
617
610
634
602
620
606
618
605
620
616
613
621
609
626
607
619
606
602
625
611
623
626
607
635
606
625
630
608
617
621
608
622
622
607
628
625
604
634
613
632
623
632
624
607
613
620
632
626
623
614
624
602
631
610
613
610
599
617
612
621
620
604
616
611
614
626
633
631
629
639
604
602
604
607
632
623
611
621
614
621
609
628
634
626
614
639
617
626
614
610
620
639
633
611
632
615
606
627
616
639
625
631
608
630
606
622
615
603
618
612
625
615
631
622
618
605
628
623
603
621
606
605
628
615
633
616
616
613
601
604
640
635
626
602
619
610
616
608
629
610
613
628
611
608
606
635
629
619
627
607
617
629
608
627
606
624
618
615
614
609
599
607
636
614
617
614
609
623
625
615
618
623
606
611
616
617
621
619
618
607
614
611
627
629
628
617
614
620
618
614
616
603
603
609
635
635
611
612
603
635
613
610
631
611
604
610
628
603
627
616
625
632
617
613
607
618
626
613
614
619
603
616
607
612
614
632
618
602
626
612
619
601
610
610
606
606
632
607
613
601
632
626
625
608
613
609
635
623
612
615
628
622
605
613
625
607
605
622
632
629
619
632
630
609
620
626
622
608
618
606
613
604
607
611
614
632
629
611
629
612
626
609
618
628
611
613
626
631
620
626
612
632
626
622
625
622
634
633
616
633
608
626
621
607
635
637
619
612
632
620
614
633
603
614
614
618
614
632
604
639
603
614
632
623
632
605
620
621
607
625
632
616
629
613
611
610
622
619
610
630
622
603
606
636
626
618
603
603
606
634
631
624
610
635
612
602
609
617
610
622
618
613
613
639
609
615
619
625
609
617
625
606
626
617
609
617
609
629
608
608
620
616
623
635
603
622
614
606
616
624
631
626
635
611
609
634
620
622
627
639
606
612
617
620
615
618
623
623
609
620
613
607
614
629
622
622
623
631
611
631
621
603
613
628
608
611
608
619
629
627
618
614
613
606
618
602
630
621
609
632
620
602
612
608
610
613
615
616
630
614
618
632
628
601
618
615
633
630
617
628
625
608
605
605
614
608
613
629
631
613
622
608
619
602
610
615
626
623
602
635
624
616
623
617
625
623
621
609
604
605
613
621
611
615
613
610
616
629
629
635
620
621
611
625
606
609
621
633
620
634
607
610
611
634
626
610
622
609
607
631
609
626
636
602
630
627
634
626
630
611
605
623
632
630
606
629
623
616
610
605
618
603
610
606
634
629
617
608
609
615
622
638
628
606
613
616
614
605
606
605
620
622
624
614
610
617
627
605
603
632
611
619
628
625
610
613
618
629
610
613
625
614
604
632
623
625
624
606
632
613
604
602
622
602
627
639
605
607
610
623
615
613
635
610
617
631
607
626
613
616
609
625
615
603
614
623
633
630
603
613
619
608
621
632
619
620
614
613
605
620
613
625
604
639
639
613
619
618
626
621
621
614
618
623
614
614
617
622
611
616
625
617
619
618
608
634
629
635
616
614
628
623
608
617
609
619
614
606
616
632
610
622
624
619
608
633
612
606
625
632
626
621
610
613
613
611
608
629
609
622
610
623
611
605
625
632
610
603
614
626
606
612
605
616
622
615
638
639
632
610
628
603
624
617
613
613
620
616
637
603
632
614
616
608
606
627
609
619
631
609
601
638
624
621
605
609
632
614
610
625
617
615
608
608
602
621
612
606
626
611
632
610
606
613
626
613
622
619
629
610
629
628
611
604
631
604
631
611
620
615
639
614
626
620
610
610
613
603
620
603
604
621
604
639
632
612
612
614
631
620
625
608
621
613
603
604
602
609
614
611
635
617
628
617
608
611
623
605
631
623
614
613
605
611
629
604
627
613
611
639
623
617
607
614
616
627
609
613
622
608
609
608
632
622
631
606
638
622
614
637
613
608
635
622
629
621
617
608
613
610
619
612
621
605
617
635
637
621
625
625
622
606
604
611
613
619
613
630
611
605
633
630
616
622
617
627
607
624
623
639
620
614
610
624
603
623
625
605
631
602
630
621
609
614
614
610
618
614
613
639
625
609
606
614
603
609
623
605
626
607
633
631
603
618
610
618
614
617
614
604
601
616
613
626
612
626
614
613
610
618
617
607
614
610
632
620
613
638
607
631
603
633
614
603
619
638
608
604
613
628
635
625
632
612
631
609
619
618
631
633
626
617
639
618
606
628
610
629
609
617
610
608
612
623
603
619
630
608
614
624
612
606
613
632
613
639
605
629
629
618
619
623
620
627
639
624
639
610
611
618
635
603
631
632
611
617
631
634
610
625
625
611
610
631
614
604
612
619
611
608
608
611
626
607
603
633
622
606
610
612
608
620
617
604
625
616
608
611
625
625
614
622
608
623
602
606
613
629
624
623
608
611
622
625
632
630
625
603
625
622
610
610
607
618
630
610
623
615
608
609
603
608
603
608
633
614
618
607
638
617
629
639
604
615
625
630
634
614
636
603
634
611
607
612
609
613
625
614
611
619
631
626
634
634
611
634
623
613
628
608
615
613
613
622
632
622
630
629
636
616
602
613
626
626
609
625
630
603
618
641
617
616
639
631
615
620
638
604
605
628
614
608
611
611
615
624
606
606
618
609
604
623
609
621
603
621
604
614
623
610
606
608
620
639
616
626
622
639
613
631
639
602
602
632
619
604
612
613
615
626
631
623
632
610
615
606
621
632
617
609
617
614
623
613
631
616
626
635
629
625
619
627
639
623
612
617
617
632
605
614
639
628
622
635
619
613
608
606
634
628
613
606
604
639
608
634
620
618
616
613
608
608
606
617
611
634
627
633
623
618
609
618
610
625
603
617
612
611
614
607
603
612
617
610
609
635
609
610
624
619
613
632
607
617
617
619
612
609
630
606
631
606
612
631
608
602
640
601
625
636
606
624
635
633
612
631
613
619
617
613
616
639
617
631
611
610
612
623
608
616
629
609
613
621
610
634
622
631
628
609
603
612
627
632
618
605
617
610
625
617
608
623
622
606
613
619
632
624
641
635
626
605
630
603
613
601
614
604
608
616
628
628
622
622
629
617
639
613
612
616
615
605
608
603
623
616
629
627
632
613
620
610
613
612
611
606
623
627
626
610
614
615
621
623
603
615
612
622
626
604
619
605
601
621
607
612
624
636
605
631
601
624
616
606
611
632
632
621
621
602
613
625
634
621
636
617
634
614
627
623
610
625
625
611
635
623
616
617
617
615
625
614
619
616
611
640
604
606
620
629
607
613
613
631
605
629
603
638
622
632
605
613
631
613
616
610
631
605
627
634
602
602
609
616
606
623
626
612
614
622
628
618
632
632
606
628
619
629
611
617
614
603
610
631
608
616
629
602
631
604
613
615
611
636
624
623
603
611
605
636
617
608
632
610
619
609
632
629
619
632
616
607
624
600
615
633
607
608
624
617
626
626
604
615
621
632
614
616
627
606
608
609
603
634
610
624
602
614
639
635
633
611
617
614
613
608
629
613
607
631
626
639
603
635
603
630
610
609
626
613
609
632
626
619
615
624
617
621
616
622
609
629
630
634
612
610
619
605
618
634
609
610
608
626
626
606
626
622
623
616
606
613
632
614
614
625
605
604
617
626
611
614
615
616
609
612
617
620
634
632
603
611
615
610
606
632
611
606
609
622
605
625
621
609
626
612
607
613
626
610
616
633
606
619
631
607
633
620
631
614
602
613
623
601
622
611
625
611
611
639
619
632
619
607
606
602
631
613
617
636
613
608
610
613
612
620
639
614
609
611
622
625
621
625
638
620
618
615
611
615
611
619
628
611
609
639
614
620
622
624
616
621
629
621
629
629
604
617
632
605
606
608
628
640
620
634
617
603
603
615
630
605
605
608
608
635
611
614
610
634
620
625
621
609
628
606
619
621
629
620
623
631
639
622
630
617
616
632
612
620
608
609
602
625
614
629
614
601
631
613
630
632
609
613
629
633
633
610
630
610
610
616
601
613
629
610
623
620
613
639
604
613
639
602
613
613
640
617
606
621
607
607
607
630
623
624
616
624
622
620
602
639
617
607
608
627
629
603
609
604
608
620
608
625
632
610
611
613
621
616
615
608
629
611
604
617
615
618
606
608
633
639
616
602
612
611
603
623
603
603
613
613
618
614
626
623
613
634
623
613
623
609
616
628
603
615
620
621
616
619
604
608
603
615
618
625
617
635
610
614
617
622
622
608
619
610
620
640
632
614
606
605
612
613
619
614
631
612
613
614
603
631
606
622
610
631
602
606
602
622
606
613
613
640
621
614
633
623
632
600
608
613
613
610
602
619
632
632
616
619
626
627
630
632
606
633
639
611
603
634
639
622
632
612
624
623
628
618
614
615
620
610
613
605
631
613
608
623
614
624
630
619
619
622
603
607
604
612
613
605
610
635
609
623
618
631
620
622
614
603
625
617
615
606
608
618
631
624
629
614
623
614
632
625
613
606
612
605
623
607
628
627
627
615
605
629
640
611
634
639
608
632
625
622
606
606
604
632
613
618
602
620
632
612
631
624
623
626
604
619
630
615
631
624
624
623
603
610
619
632
616
602
617
614
637
610
619
626
619
615
607
606
608
605
609
613
618
618
615
614
608
613
604
631
610
614
608
617
610
632
607
623
619
605
607
619
617
623
608
625
603
611
605
599
607
616
632
639
609
606
639
620
610
624
629
622
604
601
611
611
604
603
619
622
606
613
634
610
631
603
618
625
621
628
610
636
615
634
624
632
613
639
621
604
632
631
631
606
622
615
629
621
613
601
604
616
635
609
603
623
608
608
627
629
622
629
604
622
619
625
609
609
605
632
629
611
631
614
625
628
608
631
608
627
606
609
613
604
609
623
631
639
639
629
628
604
606
621
607
616
622
616
607
630
621
609
629
613
614
623
625
616
638
628
630
622
610
613
608
620
624
631
621
604
604
608
609
613
626
639
602
631
617
613
606
617
619
611
608
627
619
611
619
607
626
625
620
618
626
639
610
618
604
606
608
606
626
615
636
631
623
605
610
635
611
614
616
616
606
620
624
617
628
613
626
631
626
615
616
602
610
608
624
629
631
608
622
609
614
614
639
603
627
624
603
634
629
614
605
601
623
608
615
607
613
637
607
603
613
630
634
613
614
611
607
611
605
633
632
614
609
629
605
626
602
633
602
636
608
603
623
607
615
604
613
604
623
622
635
613
621
606
630
603
606
613
618
624
629
605
606
612
635
636
609
626
621
614
616
619
602
624
609
625
616
603
606
609
632
609
607
620
621
608
624
628
616
621
614
618
607
607
603
619
615
611
602
613
632
636
616
610
623
623
625
622
614
608
613
604
621
618
607
614
624
611
623
615
610
607
610
639
620
609
633
613
631
628
624
626
613
620
626
615
623
603
611
621
622
625
600
607
623
604
611
602
625
626
623
616
637
612
614
623
609
609
613
626
631
606
612
621
623
608
612
627
626
628
610
611
608
626
627
610
609
630
633
606
615
626
624
634
608
614
608
620
618
617
611
620
617
629
617
612
614
608
605
606
607
605
607
623
611
612
616
623
620
608
614
614
603
616
619
605
612
611
613
618
631
614
623
613
611
623
615
605
621
639
609
603
612
604
608
611
599
602
623
626
614
609
625
607
601
611
627
605
604
603
599
626
632
621
631
637
613
612
602
620
615
615
617
625
634
631
639
626
611
625
639
607
604
626
639
637
613
603
607
605
629
632
606
603
607
618
633
611
614
605
626
630
620
603
636
613
630
620
617
617
609
632
603
617
607
610
605
607
632
614
612
621
613
606
619
617
621
623
607
636
625
621
614
608
603
603
607
605
613
605
627
632
617
614
607
626
631
618
632
623
610
618
614
615
614
614
615
632
610
629
602
614
609
619
626
616
620
628
609
639
614
630
609
606
609
609
623
605
615
617
617
621
623
613
609
632
618
623
613
635
609
610
628
612
623
626
616
635
605
601
626
618
631
623
603
626
604
609
616
630
617
616
620
617
608
614
607
612
613
602
608
611
630
627
617
632
620