610
607
609
605
609
607
607
607
603
603
605
603
609
609
607
602
610
603
605
609
606
603
606
605
606
607
606
607
606
607
608
606
606
605
608
601
605
603
604
604
604
606
605
605
605
606
609
609
608
609
612
606
606
601
615
606
604
606
604
605
605
603
606
606
603
604
602
604
605
602
603
605
605
0
606
605
605
606
606
607
608
606
607
605
605
606
604
603
606
603
604
606
607
610
609
607
609
606
607
606
607
603
0
610
608
608
608
606
611
607
609
608
609
607
609
609
607
608
607
603
603
608
604
606
605
606
607
0
611
607
602
605
607
607
584
603
602
606
605
606
606
612
608
607
0
608
610
606
609
605
606
608
607
609
608
611
608
608
611
609
609
609
609
608
610
609
607
607
610
608
606
604
609
608
606
0
613
608
608
610
610
608
607
607
605
608
611
607
606
606
0
0
613
606
609
608
607
0
609
614
613
608
610
608
607
614
607
608
612
609
613
608
606
609
609
607
604
609
608
608
608
611
612
612
609
607
607
608
605
603
606
610
608
607
605
611
607
611
611
609
611
608
606
605
610
610
608
606
610
605
608
612
609
612
609
609
610
610
609
607
606
609
610
606
605
605
608
607
609
606
608
610
610
607
611
608
608
604
608
605
607
605
606
606
610
608
0
607
610
603
604
606
606
605
602
603
603
602
605
603
604
604
609
613
610
606
609
608
609
608
609
608
614
608
607
608
605
608
611
607
611
606
607
0
609
605
607
0
605
607
608
606
607
611
611
610
610
603
609
602
608
607
605
607
606
600
607
605
605
611
608
611
0
611
609
607
606
607
610
612
611
610
608
608
611
610
611
606
609
608
608
607
606
606
603
609
608
606
608
608
608
610
611
597
597
591
596
596
590
594
594
606
606
602
608
607
602
608
608
612
614
610
613
614
613
608
610
608
611
607
611
612
611
609
611
612
612
610
612
608
609
610
608
612
609
611
610
608
611
616
612
0
601
595
597
596
595
596
593
609
607
610
608
609
611
608
0
614
618
612
614
616
612
610
610
611
607
611
611
612
611
610
615
612
612
610
611
612
606
608
608
610
607
608
613
612
611
611
615
610
613
607
611
611
611
607
610
612
610
609
610
611
609
611
612
610
610
606
613
610
609
609
607
613
613
614
615
613
613
613
613
612
614
611
613
613
610
611
609
613
608
610
607
607
608
611
611
610
611
608
611
607
610
612
608
612
609
610
613
611
610
611
610
613
612
612
616
611
610
612
610
613
613
0
611
613
612
611
614
614
617
614
614
613
612
613
611
610
608
613
608
614
613
611
614
614
617
611
613
614
613
613
611
615
609
612
608
615
613
613
614
598
598
0
599
597
598
596
598
608
604
601
606
605
604
604
608
615
615
612
614
615
612
612
613
615
611
609
609
610
614
612
613
618
618
616
620
613
608
612
610
615
611
613
611
615
613
610
612
602
601
596
600
596
600
595
597
607
607
603
606
604
608
605
0
617
619
613
618
617
613
613
616
613
614
615
612
614
611
612
616
614
617
609
615
617
610
612
610
617
611
611
612
613
611
611
613
615
617
616
617
618
612
612
613
615
610
611
610
615
607
613
615
615
616
614
618
618
614
611
612
612
616
613
612
615
612
616
617
0
619
614
616
615
612
615
613
617
615
612
615
614
611
611
615
616
620
615
619
619
612
614
614
615
616
612
614
617
614
617
615
619
620
617
620
617
616
616
0
618
615
615
610
0
615
616
619
617
625
614
619
615
617
613
615
619
613
617
611
617
613
614
615
617
616
615
619
616
613
615
612
616
613
615
616
613
613
615
616
612
620
612
618
619
613
615
620
618
620
619
615
617
613
619
618
624
624
614
616
621
618
617
614
619
615
619
615
619
612
619
616
617
616
614
620
618
614
616
614
616
615
616
616
617
617
616
616
616
619
618
615
619
613
618
616
619
620
617
618
617
615
0
618
619
624
616
622
620
619
615
0
619
616
616
616
622
613
617
616
618
621
616
622
616
618
616
616
619
615
612
615
617
617
617
621
622
622
615
626
623
618
620
614
619
619
614
614
615
618
619
620
620
627
618
624
619
0
619
618
620
614
616
618
617
619
621
620
620
621
617
626
622
617
616
617
621
616
617
619
617
617
617
619
617
621
616
619
619
615
614
618
618
617
616
614
614
617
619
618
621
627
618
624
624
616
620
616
624
616
616
621
621
617
618
618
617
624
614
619
622
618
617
618
619
613
615
619
619
616
618
618
621
624
618
619
621
613
613
616
615
619
0
618
618
618
619
618
626
626
619
625
624
622
620
622
622
618
620
617
621
621
0
617
619
626
617
622
620
617
619
619
619
616
618
619
621
618
0
620
618
624
617
623
618
614
618
615
619
618
0
615
620
617
0
617
0
623
615
0
621
0
616
616
622
620
621
623
626
620
621
621
621
626
617
623
626
619
618
621
622
620
621
616
619
620
619
621
625
624
621
625
624
619
616
621
622
617
621
618
622
618
621
623
623
626
616
624
619
617
615
618
629
621
621
622
622
622
620
626
628
628
619
625
626
625
621
619
625
618
621
622
622
620
619
619
626
627
618
623
625
619
622
621
624
622
619
616
624
625
626
627
623
624
623
620
621
620
626
617
617
618
622
621
622
618
626
624
626
629
624
622
625
623
628
0
620
619
625
623
627
619
623
627
623
622
624
663
622
619
624
627
620
619
624
621
623
623
631
628
622
619
620
619
0
615
621
617
617
614
616
622
0
615
620
621
619
622
627
619
622
619
0
623
621
621
620
620
622
616
623
620
620
625
622
622
620
616
623
618
617
620
616
619
620
617
623
624
622
623
621
621
618
619
617
624
613
614
617
620
621
614
617
0
622
622
618
620
618
617
617
622
620
618
616
0
0
615
622
624
623
621
625
624
625
624
626
620
0
620
620
623
628
626
628
625
619
620
618
615
617
619
614
619
614
613
610
614
614
612
616
615
619
617
621
622
616
616
614
623
616
619
616
622
625
615
622
0
621
0
619
624
621
621
616
622
621
618
619
627
620
615
628
622
622
618
620
616
616
617
620
618
616
617
618
613
617
618
620
617
616
610
614
616
614
610
0
619
601
606
600
607
605
601
605
607
0
618
615
623
0
620
0
618
0
617
0
621
620
614
624
622
618
619
619
617
617
615
616
615
610
614
615
617
618
613
620
614
612
607
611
608
610
605
0
0
601
603
605
599
603
602
602
604
616
623
617
620
614
617
620
614
617
618
617
615
623
617
624
620
0
0
619
624
620
618
624
617
613
620
617
620
615
614
619
615
618
621
619
618
617
618
618
620
617
618
616
622
618
622
623
623
618
618
613
618
618
615
612
620
619
611
615
615
616
618
624
621
619
620
621
618
621
614
617
616
617
612
613
616
618
618
616
617
620
616
619
617
615
613
620
617
0
619
620
620
616
619
620
0
616
616
615
617
611
615
615
615
607
611
610
615
616
613
0
0
623
621
624
617
620
615
0
622
614
618
616
612
616
612
618
617
617
613
617
615
615
614
617
614
608
610
613
612
611
609
614
610
612
614
619
615
617
615
618
613
615
615
616
619
615
612
620
623
619
616
615
613
613
613
611
615
613
607
610
610
612
608
612
616
614
614
615
614
612
611
611
613
608
607
607
611
606
609
608
607
618
616
617
610
611
611
611
614
611
615
615
614
622
616
621
620
614
614
611
613
612
614
612
611
611
612
614
612
611
613
615
616
611
613
613
612
610
613
612
617
609
612
609
619
618
612
610
610
614
616
616
615
616
613
616
610
615
614
616
618
615
616
623
619
619
614
613
612
612
605
612
612
614
609
609
611
615
609
617
608
0
610
609
613
609
609
611
610
0
608
608
613
608
607
617
0
610
611
612
612
608
610
610
609
611
609
614
615
618
612
618
615
611
617
613
608
612
609
610
609
612
612
0
612
615
614
617
615
614
614
612
616
616
610
612
612
613
612
612
611
614
612
613
615
0
615
611
615
612
613
610
612
615
608
608
615
612
612
611
611
611
612
608
609
611
609
611
609
611
612
614
610
613
612
613
617
618
615
615
611
611
614
615
614
615
612
613
614
610
611
613
614
610
610
607
614
613
610
614
608
609
611
612
611
611
612
617
612
615
615
610
610
611
610
608
611
608
610
607
612
0
0
0
0
612
613
615
619
0
614
615
610
611
612
611
617
612
608
612
616
616
615
613
610
0
612
616
610
615
614
615
612
610
609
617
613
612
611
607
606
608
605
608
606
606
610
609
609
608
607
610
609
613
612
612
609
0
612
611
613
610
610
610
609
612
606
612
608
608
607
608
610
608
610
610
610
609
610
609
610
613
613
611
618
613
610
612
609
608
611
612
611
605
603
605
608
607
604
609
607
621
617
616
616
619
618
616
618
614
615
619
619
618
617
623
623
606
610
606
608
606
603
609
608
605
0
608
0
609
604
611
0
0
609
612
608
608
609
605
607
605
602
599
606
606
602
604
606
613
609
609
611
610
609
612
605
608
612
610
606
608
611
611
611
609
610
610
609
605
609
607
609
604
605
606
602
606
606
0
0
616
613
617
612
0
612
0
611
612
615
0
613
617
612
613
617
612
610
611
609
610
607
610
607
609
609
607
607
607
608
609
0
613
607
610
610
610
609
607
610
611
612
610
607
609
611
614
615
614
611
612
609
616
606
610
610
611
609
608
609
613
610
614
609
609
609
606
608
609
607
607
606
607
606
607
607
607
611
0
611
610
605
607
608
606
612
611
610
605
609
606
605
611
611
612
610
0
611
0
0
0
0
0
0
0
606
0
0
0
0
0
0
606
606
608
607
609
607
607
609
609
612
607
609
609
611
607
611
610
611
608
609
607
609
609
606
605
609
608
610
607
609
612
610
604
0
603
607
608
604
602
605
601
596
601
601
600
600
601
600
608
603
607
607
606
600
603
607
607
609
607
609
605
604
0
608
607
0
607
607
0
607
604
607
603
605
604
606
605
607
608
608
612
609
0
609
604
608
608
607
605
605
602
603
607
606
604
606
610
607
605
607
0
601
607
606
605
602
607
606
606
606
609
609
606
612
605
603
0
0
607
609
605
604
606
604
0
605
605
606
608
0
609
606
609
603
607
603
602
600
598
599
602
601
606
601
607
604
606
604
603
603
602
606
603
607
606
605
602
604
607
605
606
605
600
607
605
605
605
605
607
604
0
604
604
603
607
607
611
609
607
607
608
0
608
608
605
0
607
604
609
607
608
606
605
608
604
604
606
0
606
604
605
604
602
604
607
604
606
606
608
610
606
608
607
608
606
606
607
603
604
606
609
608
0
611
611
613
608
608
610
608
608
605
607
607
608
608
605
608
606
607
609
606
607
607
609
606
607
605
607
607
607
606
605
606
605
607
609
609
607
612
608
0
606
606
608
608
610
0
610
0
610
0
611
611
606
608
607
607
0
609
606
606
606
607
607
605
606
608
608
611
605
610
606
608
606
607
0
606
606
605
606
605
609
607
609
609
606
607
607
607
606
606
604
607
606
606
609
608
608
606
0
0
608
612
609
611
609
610
605
608
608
608
609
606
609
608
612
612
606
608
613
608
610
612
608
607
0
608
612
607
610
608
611
610
607
611
611
609
609
0
607
610
611
606
609
609
610
611
611
609
611
612
609
608
610
609
607
0
0
606
612
609
606
606
611
609
611
609
611
608
609
606
610
610
609
608
610
608
610
609
611
612
611
607
0
0
0
610
611
607
611
0
0
608
609
608
0
613
609
611
612
610
607
610
608
606
606
608
612
607
609
612
611
611
609
609
608
609
608
608
607
609
610
608
609
612
611
0
613
613
614
612
609
0
609
606
609
606
0
608
610
609
609
609
609
612
611
605
607
606
607
608
609
608
607
607
607
604
608
608
610
611
607
608
609
605
603
609
607
608
609
610
610
608
612
610
0
611
611
610
609
606
608
610
610
608
605
607
609
609
609
610
612
610
610
608
609
607
608
611
607
607
604
605
605
610
606
610
609
609
607
609
610
612
606
607
609
0
611
610
612
610
612
612
613
614
610
612
610
611
0
609
610
608
0
612
608
613
610
611
0
614
608
611
609
609
614
608
607
607
606
607
612
608
607
609
608
610
613
610
609
609
608
608
610
611
607
611
610
607
609
611
608
612
613
610
610
617
609
605
609
613
610
608
610
611
613
614
615
614
614
610
613
610
609
608
611
620
609
608
609
609
612
609
615
612
610
613
609
613
608
612
612
609
611
614
615
615
612
613
610
615
608
609
612
611
609
624
0
612
0
612
610
609
617
613
613
619
608
0
611
611
610
610
610
0
610
0
615
0
608
611
614
614
610
614
613
0
612
608
615
611
612
612
614
610
610
612
616
614
614
612
612
614
615
0
0
0
614
612
617
609
614
614
614
617
610
618
612
614
615
614
611
0
611
613
612
610
612
610
617
616
615
614
613
609
612
610
615
0
615
615
613
616
613
614
617
617
614
614
617
612
611
615
613
612
615
609
612
612
615
615
618
622
614
619
0
615
616
615
0
610
610
0
614
616
616
617
610
615
609
613
611
614
607
609
608
608
609
611
610
613
611
613
615
616
613
0
614
612
613
612
613
0
612
608
615
609
0
613
618
622
617
617
615
615
618
614
617
615
614
612
615
618
613
612
615
615
612
615
613
613
610
607
611
611
611
611
612
613
612
612
616
615
615
618
618
615
613
615
612
612
614
617
617
613
617
619
619
619
613
616
617
617
619
612
621
0
616
614
619
613
614
616
614
618
610
613
612
615
613
611
613
611
0
614
616
613
616
614
616
616
614
618
616
615
610
610
613
614
609
613
617
613
618
616
619
622
615
618
614
621
619
622
618
616
613
614
622
617
614
0
619
620
613
616
617
618
613
612
616
611
615
0
617
617
616
618
616
619
613
616
616
616
614
615
615
611
617
614
615
615
617
614
620
624
614
621
616
617
613
615
613
615
612
619
619
620
620
616
616
618
615
622
616
619
615
615
612
612
611
617
618
620
616
618
617
620
619
618
617
621
617
620
619
616
614
616
617
618
618
622
622
622
620
617
622
616
613
618
620
619
614
616
623
620
616
0
621
625
618
624
621
616
619
616
620
616
621
617
620
617
622
616
618
623
615
617
619
614
617
614
618
0
0
619
618
614
0
617
622
0
616
623
624
619
619
619
0
615
618
619
618
616
620
618
617
621
617
622
623
615
616
618
620
618
616
617
0
614
616
619
618
623
616
622
620
622
617
621
623
617
616
614
621
617
621
621
625
627
621
623
622
622
621
0
626
618
624
620
624
624
619
620
621
621
616
619
0
618
618
618
619
617
621
617
0
621
618
616
620
623
615
625
621
622
618
616
622
616
618
0
622
614
622
624
624
626
620
624
625
619
621
618
620
622
618
617
618
621
625
617
622
626
619
620
621
617
616
619
621
617
618
623
617
616
619
619
619
0
616
620
615
617
615
620
615
615
617
0
617
616
619
617
626
628
622
626
622
618
621
624
622
620
616
622
622
618
620
618
621
627
618
620
620
619
620
620
620
617
617
0
621
618
625
618
620
622
620
620
624
618
622
620
619
0
618
615
621
619
623
621
624
626
618
628
619
620
621
621
621
621
621
620
623
618
619
622
627
626
621
626
624
620
621
623
621
625
619
623
623
625
621
621
620
622
0
624
618
0
618
621
621
616
617
0
620
621
618
622
628
629
626
628
625
0
619
621
625
621
620
620
626
625
622
620
626
625
622
625
628
624
622
625
624
622
623
619
622
623
624
622
625
628
621
624
625
624
623
622
624
620
620
617
622
620
627
624
621
625
620
627
621
617
621
624
622
622
620
621
627
624
628
630
622
623
619
625
622
620
621
628
622
621
626
626
624
626
626
630
0
623
622
622
620
0
619
624
623
621
626
625
629
620
631
0
625
624
616
623
617
617
623
622
622
620
619
617
622
621
625
624
617
620
620
623
620
623
618
0
0
621
624
621
627
620
628
624
619
628
0
620
621
618
621
618
0
621
620
620
625
622
633
628
622
621
617
623
620
621
617
621
620
618
616
619
621
622
623
621
622
625
625
619
623
621
619
624
626
618
622
625
624
624
629
627
622
625
626
627
624
620
621
624
622
624
620
624
626
627
632
630
622
623
620
625
616
616
617
618
619
614
619
617
621
619
626
619
617
621
620
622
622
620
617
622
624
622
620
620
624
620
628
625
621
624
621
628
619
622
621
627
618
617
623
619
625
616
624
624
621
619
616
618
616
617
618
617
614
615
614
623
617
617
620
619
623
620
619
623
620
618
622
621
615
616
617
617
621
614
622
618
618
621
619
624
618
619
621
622
623
620
623
622
627
615
625
622
0
617
614
622
619
614
617
617
613
615
615
619
618
618
621
616
620
619
616
619
617
615
619
617
614
613
615
612
616
615
618
616
619
616
618
617
0
617
616
621
621
617
621
615
0
619
626
623
613
615
617
618
0
618
614
621
616
613
0
613
622
614
618
621
615
617
0
617
618
614
615
619
617
619
0
622
0
620
622
619
615
616
617
619
616
617
616
622
603
604
604
605
609
604
609
607
615
619
613
615
0
612
611
615
614
610
610
0
616
611
614
609
619
620
615
618
611
616
619
620
614
619
615
622
622
615
620
623
617
613
0
620
615
615
616
619
599
601
602
601
0
603
606
0
0
620
619
620
613
615
616
616
615
621
618
620
620
617
0
619
616
617
0
623
615
616
615
617
618
614
618
615
620
616
623
617
616
619
612
616
0
615
0
624
617
624
615
617
0
620
621
623
618
620
618
617
613
614
614
616
615
613
614
617
621
614
618
618
620
616
0
615
0
618
616
623
610
615
0
610
0
614
620
617
616
618
615
611
614
615
612
613
617
610
616
617
616
611
625
619
615
617
613
622
0
612
610
616
615
613
617
615
615
610
615
617
618
617
613
0
616
614
613
617
616
611
0
613
616
611
619
616
620
614
616
619
614
614
0
618
616
610
618
616
617
613
617
620
614
614
612
617
613
614
609
613
617
613
610
610
615
613
617
615
616
619
613
617
612
613
616
611
610
614
0
0
618
611
619
615
615
609
612
612
614
609
614
611
610
617
0
0
615
611
615
612
622
620
618
615
613
611
614
616
618
611
619
610
611
615
614
0
619
610
613
612
621
613
610
611
615
614
0
618
615
618
614
618
613
609
612
613
611
615
611
614
611
611
615
616
614
616
616
614
617
619
618
616
618
615
615
612
614
608
609
613
618
617
616
612
615
617
0
611
0
610
617
613
613
616
614
0
613
615
617
617
610
614
617
609
612
608
611
609
608
607
616
614
612
614
614
614
618
0
612
609
614
610
616
608
612
615
614
609
610
612
610
611
616
614
618
610
616
615
615
615
614
612
616
611
614
613
614
615
614
615
614
609
586
612
612
613
615
613
612
613
616
611
615
613
615
612
611
609
610
614
608
611
610
609
614
606
611
612
610
606
617
613
617
612
613
612
616
612
612
616
615
612
615
616
614
611
613
613
609
609
0
608
607
608
611
608
615
607
612
611
615
615
610
616
609
612
609
607
0
607
611
610
614
615
0
0
612
608
611
607
609
607
607
611
608
607
607
608
612
609
610
614
616
611
615
610
611
611
612
611
614
609
613
610
612
609
611
610
613
612
615
609
608
610
608
606
607
609
613
610
0
609
612
609
611
615
610
609
609
609
606
607
610
609
610
609
610
0
610
612
615
612
611
609
609
609
613
609
608
608
608
606
608
607
607
609
613
613
0
614
613
612
609
606
606
607
610
611
608
608
609
609
609
609
607
614
609
612
611
610
611
609
609
610
610
616
609
609
610
611
607
609
608
609
612
610
608
610
616
608
611
611
610
614
615
612
613
616
607
0
0
612
609
604
610
607
607
607
609
608
608
612
608
610
608
610
610
613
610
606
613
607
613
615
614
610
611
610
611
608
615
608
613
608
613
611
608
611
612
611
612
608
0
611
610
606
607
608
610
0
609
604
611
606
610
608
607
608
610
611
608
611
613
607
608
609
607
606
605
609
611
608
614
612
612
610
610
607
609
609
611
608
607
612
612
612
610
609
609
610
614
615
606
608
605
608
609
608
607
604
605
609
609
611
609
606
611
607
609
610
609
606
611
604
606
607
605
604
609
607
610
608
609
607
608
607
606
611
608
612
604
606
606
608
607
612
613
611
610
613
609
607
611
608
0
607
605
606
608
605
607
604
605
607
609
607
604
608
0
0
0
605
606
605
607
608
0
0
608
606
611
0
607
609
609
611
607
608
608
604
606
604
606
607
606
606
609
611
613
614
610
604
610
608
605
604
607
0
606
607
606
611
608
606
604
605
605
605
604
611
609
604
605
604
604
604
608
610
609
603
612
611
604
607
0
0
608
609
604
604
0
604
609
0
607
613
603
604
605
609
602
0
0
603
603
608
600
605
605
0
604
604
602
602
603
0
603
605
600
600
604
604
605
603
603
0
605
605
600
605
603
602
603
602
601
601
602
604
603
603
607
606
606
606
605
607
605
604
604
603
608
608
604
605
602
601
605
607
608
608
603
606
602
603
603
604
601
601
604
605
603
605
604
606
602
605
605
609
605
606
605
603
604
604
602
608
604
605
607
606
605
608
607
606
608
609
606
607
605
602
603
606
607
606
607
606
605
606
606
606
606
605
603
608
599
606
605
606
607
605
606
605
608
606
606
607
605
606
602
605
607
606
604
605
607
606
607
608
610
611
610
0
605
607
606
609
604
609
607
606
604
604
607
606
608
608
607
609
606
609
608
607
605
611
609
606
607
607
607
610
608
607
603
608
605
605
605
604
607
608
605
607
609
607
0
612
610
609
605
0
607
609
607
609
605
608
606
608
607
605
609
610
611
606
610
0
610
610
609
609
607
609
610
607
612
608
609
609
610
609
609
606
605
606
609
606
604
605
606
606
605
607
608
609
610
610
611
609
606
612
606
605
610
607
607
610
607
607
610
606
607
608
609
609
607
607
608
605
608
607
607
607
608
606
607
612
609
605
609
607
606
607
606
607
601
607
604
605
605
605
608
606
611
0
606
612
603
607
608
606
605
604
604
606
609
604
607
607
604
607
605
608
606
607
607
608
606
603
607
610
608
607
608
609
607
610
608
608
607
608
608
606
607
608
606
608
607
605
608
607
610
615
606
612
607
612
605
607
608
607
606
604
608
607
609
607
606
609
615
610
609
611
610
606
606
0
609
611
607
608
606
610
613
609
607
608
607
610
606
606
605
605
610
609
609
607
612
609
615
610
601
602
598
602
597
597
597
596
599
593
596
599
601
596
596
600
598
600
602
601
599
597
598
598
599
600
600
602
600
598
600
599
601
604
600
602
598
601
599
597
598
600
598
600
598
597
601
600
610
615
607
609
612
612
611
610
611
609
611
609
611
609
610
613
610
612
611
612
610
610
608
609
610
608
611
611
615
613
615
611
611
612
609
610
610
608
609
607
612
625
609
610
614
615
613
611
614
611
608
610
609
610
611
610
612
611
607
612
610
610
609
612
614
620
610
614
613
614
609
611
613
614
614
611
614
613
611
613
614
622
611
616
613
610
611
613
609
611
610
614
615
614
617
617
602
606
602
604
601
601
598
603
603
600
602
601
601
598
599
601
605
604
602
609
600
607
601
604
600
606
602
600
602
605
602
603
605
603
605
606
604
598
601
601
601
602
599
602
606
610
606
0
603
602
602
604
603
600
596
598
602
597
598
599
602
602
603
601
601
0
598
602
600
597
596
600
598
595
597
600
599
598
599
601
603
606
604
604
600
602
601
600
599
599
598
606
600
598
607
0
608
606
598
606
606
603
599
603
601
604
601
601
598
603
602
602
598
601
598
605
602
600
606
603
601
597
601
0
602
603
604
0
607
606
600
0
602
603
603
602
603
600
603
602
603
604
603
605
602
606
602
603
601
604
601
605
608
605
0
604
605
606
606
0
604
605
600
606
600
604
604
605
608
601
604
603
603
602
604
601
604
605
599
604
603
604
598
601
601
605
599
602
603
606
604
603
0
606
0
604
602
600
598
600
608
605
604
604
607
605
604
610
604
608
608
609
601
603
604
602
603
606
0
607
609
608
603
603
606
609
600
603
604
601
601
604
603
601
607
603
604
606
606
606
616
623
614
615
615
611
617
612
614
613
614
616
616
610
610
616
612
620
612
614
616
611
611
613
615
612
613
614
612
615
613
613
618
619
613
0
614
613
615
613
615
615
612
612
0
615
619
616
618
619
618
621
617
617
614
613
618
616
614
615
620
613
618
617
617
621
612
619
617
618
616
618
0
614
616
613
619
615
615
619
623
619
617
620
615
615
611
615
616
616
615
617
621
613
615
619
621
620
616
621
619
617
612
615
618
618
618
620
618
617
617
619
610
616
609
617
611
606
609
612
613
612
614
617
613
612
612
613
613
622
615
618
616
614
612
613
618
615
617
617
621
619
620
620
616
621
615
620
617
617
619
613
618
618
615
620
618
617
617
619
615
615
610
618
614
612
611
610
612
612
610
611
611
611
612
615
616
618
612
622
616
616
617
615
0
616
617
616
619
617
618
622
611
611
607
611
609
608
607
608
610
609
607
607
610
611
607
611
607
614
608
614
606
609
606
607
610
612
607
609
610
608
610
607
606
611
604
607
602
606
605
606
0
608
606
607
613
606
613
611
611
613
609
610
611
610
609
610
613
612
610
610
612
613
613
611
611
613
608
616
611
611
610
610
609
607
611
610
610
608
612
612
608
613
0
609
607
605
605
604
609
610
609
611
612
609
610
602
610
615
606
610
609
606
607
607
611
609
605
608
609
608
611
609
609
614
608
611
606
605
604
604
609
607
606
608
609
607
607
608
607
611
0
609
607
603
606
607
607
606
606
607
608
607
610
611
612
617
0
616
610
606
610
611
613
610
607
611
613
612
611
613
611
615
607
615
609
614
609
609
611
601
613
612
611
612
611
614
612
613
607
612
609
607
610
609
612
612
611
610
612
613
611
612
615
616
610
611
608
608
612
617
614
614
608
611
615
608
615
608
615
613
611
616
611
609
610
611
597
598
599
598
603
597
602
597
611
618
612
615
608
612
608
610
610
611
613
611
616
611
619
616
610
612
611
615
608
617
609
614
611
608
0
609
617
608
617
613
612
610
608
615
607
610
608
0
601
599
598
598
603
595
602
600
614
610
613
613
609
612
613
611
608
614
0
620
615
611
614
609
614
608
608
607
608
605
610
611
609
606
606
612
610
607
613
611
609
612
608
614
609
608
611
609
609
612
610
612
612
609
614
609
611
610
607
609
608
613
608
608
608
610
607
613
611
611
615
611
611
608
605
612
605
607
605
606
611
606
609
605
609
602
613
608
609
613
610
611
611
611
609
611
609
609
606
607
611
608
613
611
610
608
611
610
609
610
608
605
606
607
603
610
613
608
613
610
608
612
611
608
607
607
604
605
605
605
605
608
610
607
609
609
606
607
611
611
605
609
610
611
609
609
612
605
609
607
608
604
608
607
610
614
609
607
605
615
605
609
605
612
607
608
613
612
613
613
609
612
607
608
611
613
606
608
605
612
610
607
607
608
609
604
611
608
607
607
608
606
606
604
606
605
611
607
614
606
608
607
608
612
607
608
605
612
605
604
610
609
613
609
612
610
609
0
605
606
605
608
603
609
606
607
608
608
610
603
609
610
0
607
608
611
607
608
607
607
610
609
609
607
612
609
610
610
606
608
607
0
606
0
606
609
607
607
606
605
611
607
608
0
610
605
607
607
610
609
606
605
0
604
606
609
614
604
610
0
607
606
608
608
609
604
607
606
605
604
606
605
608
606
610
605
607
605
606
607
606
609
602
606
604
606
604
603
612
608
607
606
608
606
604
605
606
605
601
606
602
605
602
604
607
603
610
604
607
607
608
606
604
605
610
613
607
602
605
608
609
603
603
610
609
609
606
605
605
607
605
606
0
610
604
611
615
605
611
614
606
605
601
605
605
601
602
606
604
599
605
606
606
607
604
601
604
607
606
604
605
604
605
604
600
603
602
603
605
604
606
605
603
608
603
605
604
609
601
607
603
604
604
605
608
606
614
611
605
604
605
604
603
605
605
606
602
603
599
602
607
607
607
603
607
603
602
606
605
604
601
607
604
605
601
601
605
600
602
602
606
605
605
0
603
606
604
605
606
603
607
610
610
607
611
608
605
607
612
608
602
605
610
0
604
602
601
603
608
606
605
605
603
601
603
606
601
602
598
603
599
601
600
602
604
599
606
601
603
603
602
608
603
604
605
601
603
599
602
0
607
603
606
602
606
602
601
604
0
602
602
604
600
602
601
603
603
596
608
605
602
600
609
606
605
606
603
603
603
605
600
601
608
601
603
604
606
604
606
604
604
606
604
604
602
603
604
608
606
600
603
603
604
605
600
604
600
603
600
602
601
600
599
604
602
600
602
601
605
605
601
603
601
598
602
601
604
599
600
605
606
600
602
603
602
605
601
602
601
599
600
605
602
600
603
603
606
600
608
605
604
600
604
612
604
605
605
606
603
602
607
604
607
603
606
602
605
605
602
603
604
604
599
603
605
605
606
603
606
602
607
604
606
605
603
606
602
600
605
606
596
600
603
600
605
612
608
609
604
0
604
604
604
602
604
603
604
598
602
602
597
604
602
606
601
604
602
599
604
605
599
602
602
599
603
604
604
603
606
604
605
598
598
605
597
606
599
0
596
599
603
604
598
602
604
0
599
600
602
602
604
605
601
601
597
596
601
599
600
601
601
603
606
605
601
598
597
599
597
601
599
604
597
603
602
609
608
603
601
598
599
599
599
599
602
599
597
600
600
602
600
597
605
604
598
602
602
601
601
597
598
600
603
602
594
598
599
601
602
599
603
599
601
598
598
601
601
595
604
598
601
606
604
599
602
597
598
599
598
597
599
599
599
597
599
596
604
597
606
599
605
601
598
613
599
600
601
601
602
604
597
605
601
597
599
604
600
597
0
0
0
600
0
0
0
599
0
0
0
595
604
0
598
602
598
603
596
598
597
595
597
600
600
605
602
599
601
602
605
611
604
0
600
605
595
602
597
599
596
602
600
598
596
594
600
598
598
0
599
599
602
602
601
603
596
602
599
604
595
598
601
594
601
599
601
595
600
601
599
596
599
600
599
598
600
599
0
599
601
604
604
600
604
603
601
601
603
602
605
601
605
601
603
600
603
604
596
603
596
596
597
600
599
598
601
599
603
598
602
602
602
598
599
597
599
596
602
601
596
598
599
603
603
602
601
608
599
600
604
600
602
598
603
605
600
594
599
600
599
596
600
599
601
601
602
600
599
598
600
600
596
597
598
600
598
596
601
599
601
601
0
0
597
599
598
601
0
599
0
0
599
0
0
600
596
601
598
596
599
596
595
595
597
595
597
596
595
599
596
602
597
596
596
597
596
596
594
596
596
603
596
596
598
597
598
597
596
596
597
602
597
593
599
593
597
598
594
592
596
594
599
597
600
600
598
598
598
599
599
599
599
602
597
597
603
600
597
597
598
594
596
593
598
594
593
598
594
600
593
599
596
597
601
598
598
598
596
594
598
598
600
598
595
592
597
595
591
601
596
595
595
596
595
597
594
591
593
593
590
593
0
595
593
592
593
596
596
590
592
595
596
595
592
594
596
593
593
597
597
594
596
595
600
593
602
595
593
594
595
595
595
598
597
597
597
599
600
598
597
598
597
596
596
595
594
594
594
597
596
599
597
597
596
602
600
595
597
594
594
596
595
598
595
595
599
604
594
598
595
0
596
601
597
602
594
600
595
598
603
605
597
598
598
600
605
603
602
596
595
602
595
595
593
591
595
595
597
599
597
600
599
597
605
598
597
595
598
595
595
598
598
597
600
598
598
602
601
600
601
601
598
606
596
597
601
598
597
599
599
595
608
599
601
602
603
598
598
600
599
596
598
597
599
600
599
598
596
601
599
604
600
599
600
597
601
603
599
596
599
601
602
600
598
603
603
604
601
601
600
604
602
601
600
600
602
600
600
600
601
603
605
604
0
0
596
602
601
600
599
596
600
594
599
595
597
595
599
597
605
598
599
599
604
599
597
599
597
598
596
598
598
602
598
598
597
601
598
598
596
595
595
595
598
599
602
597
600
600
0
602
599
604
596
601
596
601
596
601
596
596
599
601
595
600
596
599
602
605
597
603
596
599
599
600
598
599
596
601
599
598
600
598
599
598
598
600
599
601
598
596
600
597
599
598
601
602
600
598
597
600
594
597
597
596
595
597
599
594
595
594
596
597
596
598
600
598
596
600
602
595
594
599
600
601
598
601
602
602
602
607
600
597
601
602
599
596
600
604
596
598
599
604
598
601
597
603
594
602
595
600
598
599
598
603
593
595
596
597
598
598
600
599
599
601
603
599
598
601
597
596
604
598
605
604
602
600
599
604
601
602
604
598
599
601
597
601
596
599
596
598
606
606
603
602
604
604
603
599
599
603
597
599
602
603
604
602
597
601
602
599
602
605
599
602
603
599
602
604
598
599
603
602
600
604
601
607
600
600
602
600
603
604
600
601
604
597
599
607
600
601
604
603
605
605
603
610
603
600
602
600
599
600
600
604
602
603
602
604
602
609
604
602
600
601
602
607
601
603
603
0
601
601
610
0
608
604
602
605
603
605
598
605
603
602
604
603
605
603
0
604
599
604
599
604
605
603
601
600
602
603
605
602
601
604
604
599
607
603
606
0
607
598
604
602
602
0
603
603
605
605
604
607
606
0
598
601
605
598
0
606
600
603
603
604
604
605
603
606
604
605
600
604
603
600
602
598
598
601
601
603
606
602
604
607
605
0
603
609
606
606
607
603
606
603
605
605
602
607
602
604
602
608
602
605
607
602
602
603
601
602
603
599
606
606
604
606
603
608
602
0
606
601
596
600
602
603
602
604
604
603
603
603
603
601
602
0
606
604
604
600
600
602
600
603
603
600
604
608
605
602
599
603
607
604
600
598
601
604
602
606
605
603
605
605
607
606
606
605
605
602
603
605
606
607
606
606
606
608
607
610
605
604
601
608
603
601
601
603
612
603
606
603
605
603
606
603
618
628
604
606
0
605
604
604
606
603
603
606
608
0
609
0
607
608
601
608
605
608
604
605
613
603
602
0
607
606
607
604
605
606
606
613
605
603
604
602
605
601
601
603
606
605
607
605
603
606
605
613
601
606
603
606
605
602
605
606
602
608
606
0
608
610
606
607
606
605
604
602
604
600
601
603
606
604
605
607
606
609
602
604
603
602
603
607
604
604
605
599
605
602
606
604
608
607
605
607
607
605
604
607
617
611
605
607
609
607
606
606
608
612
603
609
604
609
604
607
605
603
605
606
607
609
608
604
611
611
610
611
610
607
605
606
607
606
605
606
607
607
607
607
607
608
603
604
604
603
605
603
605
605
602
607
606
605
606
611
617
620
609
613
609
607
613
606
610
608
607
607
610
612
610
619
616
614
614
0
612
609
611
0
610
611
0
614
618
608
609
613
610
611
605
610
606
606
608
603
0
605
605
604
0
604
0
0
611
615
605
606
605
607
605
608
604
611
603
605
606
607
608
605
607
0
611
604
604
609
606
604
608
608
609
612
603
607
606
607
609
610
609
609
606
607
603
606
608
615
608
608
608
609
612
611
620
617
611
607
607
610
604
607
607
610
611
606
612
610
609
614
609
613
612
608
609
619
604
612
609
609
608
610
605
613
610
611
606
612
611
609
605
608
606
606
606
609
610
608
616
610
612
608
609
627
611
611
609
608
607
609
612
618
609
611
606
614
610
616
611
618
608
613
610
624
604
605
608
609
605
610
606
611
607
611
608
612
606
612
605
609
604
605
612
612
607
606
610
613
610
617
616
614
612
613
609
614
606
608
609
612
609
611
612
613
612
613
612
614
611
610
607
612
606
608
611
611
609
608
611
610
615
615
610
616
610
609
610
609
611
606
607
612
608
606
614
616
614
611
611
619
614
616
607
615
607
608
609
610
609
610
607
614
612
609
612
615
612
609
607
609
607
606
608
613
607
610
609
612
606
608
613
615
607
607
606
612
609
603
605
619
606
606
607
607
616
613
616
614
611
618
610
613
609
613
612
613
613
615
617
610
611
613
612
618
610
620
614
617
610
615
613
614
619
610
617
613
613
0
616
621
608
614
614
610
610
609
615
608
610
609
617
616
616
616
609
610
607
612
611
613
610
612
613
613
612
611
614
609
617
614
614
614
612
614
625
621
621
623
611
611
609
613
614
612
619
615
613
613
614
618
623
625
621
620
611
611
611
611
612
610
618
615
608
609
611
612
609
605
611
608
607
606
609
609
608
609
616
610
611
609
611
618
612
612
612
611
610
609
613
609
615
608
614
609
609
611
612
614
614
613
612
613
607
613
609
610
616
607
618
614
611
610
607
609
609
0
607
611
608
610
604
609
612
610
612
611
0
612
610
612
609
608
609
610
608
611
611
611
614
610
621
613
611
609
613
613
608
613
611
609
612
609
616
613
616
613
615
619
620
620
616
624
617
621
614
618
608
604
607
610
613
609
0
610
613
611
613
609
609
612
608
623
607
609
608
615
0
609
0
610
612
612
609
611
0
619
605
623
608
618
608
620
612
621
624
613
611
607
608
605
0
607
606
606
0
609
606
608
610
605
608
618
609
609
0
0
0
0
608
610
620
609
608
0
613
610
613
608
611
612
610
613
608
610
607
608
615
610
0
619
612
607
611
610
607
607
606
610
607
606
606
607
607
607
608
612
612
609
612
607
609
611
611
609
611
606
606
608
608
609
608
612
616
609
609
608
611
611
609
608
0
609
609
611
608
605
609
613
615
609
615
612
0
0
606
608
0
0
601
0
595
595
596
596
597
594
600
597
610
612
610
611
0
609
609
608
607
607
609
608
611
608
613
610
609
609
609
610
608
608
609
609
606
606
610
609
613
609
615
608
603
605
603
601
0
600
600
601
592
591
594
594
598
594
594
595
608
607
604
606
0
606
605
606
612
607
606
608
610
605
611
608
605
607
604
609
0
609
607
606
605
606
604
606
608
609
612
610
607
610
607
605
611
606
613
610
607
607
607
604
610
607
609
608
604
604
604
602
603
603
606
604
606
607
607
604
612
608
611
610
607
608
606
611
605
604
605
605
605
605
605
606
604
600
610
607
607
610
607
610
611
606
608
609
606
0
607
606
610
602
605
608
605
606
606
603
601
602
603
603
603
601
603
609
606
603
608
608
604
608
606
608
605
607
605
605
606
602
603
605
610
604
611
606
609
606
607
608
607
605
604
607
601
603
602
607
605
602
604
607
602
606
605
602
602
603
601
602
601
597
601
602
607
601
613
606
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
605
605
605
606
604
604
602
606
601
602
601
605
603
600
606
601
602
599
0
602
600
600
602
601
603
600
602
603
605
601
605
601
605
605
602
607
605
604
603
604
603
598
603
603
606
604
0
609
604
603
605
606
604
599
602
603
598
602
600
602
607
602
607
603
608
605
604
606
611
603
616
606
604
605
602
605
607
606
609
607
607
603
605
605
602
604
605
602
604
605
604
602
608
605
0
609
617
603
606
602
604
614
606
600
601
602
599
612
599
597
604
613
606
607
614
606
604
603
612
605
598
601
606
601
605
613
606
617
604
603
603
601
0
604
600
615
601
600
602
602
600
601
618
605
604
604
601
605
603
602
601
0
596
602
598
597
599
612
605
600
597
610
601
600
608
600
597
600
585
586
588
600
590
586
594
590
605
601
599
613
602
602
611
602
612
600
605
602
616
600
607
601
603
603
599
600
614
597
613
601
598
598
597
0
599
600
604
611
606
593
597
592
595
604
605
0
587
0
594
597
590
0
591
588
599
601
598
597
610
597
612
613
609
597
597
603
615
611
602
610
605
615
600
611
612
598
612
609
597
596
611
609
609
596
609
600
615
603
597
615
598
608
612
600
595
600
604
601
611
598
605
600
603
608
596
595
611
608
597
608
593
606
594
599
601
595
617
612
605
599
599
597
599
599
599
599
594
595
599
598
600
599
599
600
603
605
600
602
597
599
599
599
599
599
598
600
600
602
600
600
601
597
600
597
0
595
598
599
596
597
600
601
601
601
601
598
599
596
603
602
597
597
600
598
600
596
0
603
0
599
600
599
600
600
603
597
601
602
603
602
600
598
595
601
599
596
599
596
599
601
598
602
597
601
597
599
596
599
601
601
600
599
603
602
0
0
597
599
599
599
600
597
596
595
610
599
602
598
602
594
600
601
604
600
612
610
610
607
598
600
601
603
601
600
600
603
599
600
598
596
597
597
597
598
602
598
599
602
601
600
601
602
0
601
597
600
598
598
597
601
597
598
596
598
597
599
601
600
603
601
597
603
598
598
600
601
597
598
599
601
602
596
600
601
0
599
598
603
0
0
601
600
598
596
0
599
601
597
605
601
599
595
596
602
0
600
0
597
597
596
597
597
599
598
597
599
601
597
604
596
0
598
602
596
596
597
0
599
599
600
600
595
594
600
596
598
599
593
597
596
591
598
599
601
598
597
603
602
600
598
594
595
597
593
595
598
600
594
594
594
597
599
610
595
608
610
607
609
0
608
608
607
607
608
0
606
610
606
609
607
607
606
607
607
604
605
607
606
607
604
605
605
607
607
607
607
606
606
606
606
607
607
605
604
605
603
601
606
605
606
606
607
609
606
606
606
609
612
606
606
604
609
606
605
607
604
607
606
610
607
0
610
607
603
605
602
605
600
608
604
605
604
613
609
0
0
599
598
595
595
0
588
594
596
592
592
598
596
594
595
593
593
588
597
594
592
591
591
595
601
596
593
596
598
597
601
593
592
592
596
592
0
595
597
593
596
590
0
600
596
595
599
594
596
593
594
597
0
599
594
595
596
594
0
594
599
597
598
597
597
0
593
595
0
0
597
0
599
596
0
595
596
596
601
597
596
596
599
593
594
596
595
591
595
594
0
600
595
598
605
596
597
598
599
593
597
594
596
595
595
598
0
595
598
597
594
599
594
590
600
0
598
594
597
598
601
601
600
597
597
599
605
597
596
595
593
597
0
599
594
590
598
0
600
596
0
597
0
601
0
0
596
602
602
596
600
599
597
594
602
600
598
602
597
598
598
595
598
598
599
597
593
601
599
598
601
606
604
599
605
601
599
599
598
594
599
598
599
598
597
596
597
603
0
598
600
0
603
598
616
597
598
598
605
611
604
597
602
604
603
601
602
598
600
596
604
604
599
598
601
603
604
603
602
599
601
601
603
600
601
604
600
602
601
603
603
597
600
598
608
598
598
605
0
599
603
604
603
597
601
608
604
598
594
597
596
598
600
599
602
597
602
595
595
598
600
604
596
598
600
596
603
611
600
600
598
599
599
598
600
602
599
592
600
594
596
598
597
601
601
601
599
599
602
600
600
600
595
597
601
603
593
593
596
596
600
597
601
609
600
601
606
613
609
602
604
602
601
606
598
597
0
598
606
600
602
597
595
598
596
598
599
601
594
598
601
596
604
606
0
601
600
596
600
603
599
606
598
604
601
602
601
596
596
601
599
600
607
602
608
601
600
602
599
604
595
598
597
601
601
604
604
600
599
597
598
597
601
599
597
605
602
601
600
603
602
0
0
602
605
609
633
597
607
599
599
604
606
603
604
597
605
606
599
606
601
609
603
609
605
602
601
596
597
602
606
596
599
602
605
589
595
596
590
597
593
599
590
604
596
605
605
606
596
0
0
604
606
597
601
607
606
602
600
606
603
596
602
610
599
604
604
613
620
600
606
615
601
604
611
620
613
606
606
603
608
605
601
594
600
600
590
602
590
615
590
624
603
593
597
602
603
0
0
0
604
600
0
616
613
603
0
605
606
0
603
606
607
601
604
614
614
600
609
611
612
607
597
620
601
601
608
609
602
612
605
616
625
609
614
605
607
606
600
605
603
610
605
603
614
0
0
614
613
606
602
602
608
604
607
632
614
617
610
605
615
605
618
608
618
615
627
612
609
608
600
600
0
610
607
611
604
606
603
607
613
603
604
610
605
602
605
611
602
612
604
618
609
0
609
620
610
604
620
622
607
611
600
626
608
605
609
606
616
622
622
593
605
588
589
596
588
599
586
602
605
604
0
602
605
624
607
597
0
598
605
0
0
603
0
606
620
612
616
0
0
614
0
610
615
617
614
610
602
616
605
619
601
615
614
608
605
604
608
590
601
593
601
599
588
597
598
606
630
609
597
607
610
604
607
605
619
603
622
601
627
604
601
607
604
603
611
0
617
0
0
605
612
604
603
0
0
602
605
605
607
606
605
606
603
607
605
602
609
610
615
605
609
605
606
606
604
606
602
0
606
605
609
611
616
601
605
607
605
605
0
604
603
602
609
606
604
610
0
607
615
604
612
0
0
0
0
607
0
0
607
616
612
609
0
609
611
601
605
612
610
615
604
611
609
605
607
612
608
603
608
607
606
605
615
603
607
611
607
606
625
604
607
611
623
0
608
609
609
608
609
607
604
603
609
608
610
608
606
606
606
604
605
610
615
604
604
611
619
610
606
608
602
606
617
609
606
614
613
611
606
605
618
610
605
603
608
615
613
607
618
613
607
608
0
612
613
0
610
632
611
606
610
613
613
610
607
607
605
609
608
615
623
612
612
619
610
617
604
615
609
615
627
610
613
615
613
610
607
607
610
613
607
608
605
607
0
608
609
608
608
611
610
609
615
608
619
610
605
606
608
608
611
607
607
610
607
609
609
621
613
605
613
607
612
603
605
606
607
607
607
608
609
608
610
593
596
598
593
592
590
598
594
614
606
607
0
608
0
610
612
610
610
603
616
611
607
0
605
609
607
613
0
610
609
0
615
607
612
604
610
608
608
605
606
614
608
0
605
608
606
606
606
596
606
600
594
0
595
598
591
609
609
606
0
605
612
609
606
619
616
605
613
0
613
608
608
610
610
612
612
612
613
616
612
611
611
611
609
0
608
619
604
612
0
613
0
614
620
0
607
609
608
608
612
610
603
604
606
608
608
608
611
613
608
610
609
615
617
618
610
609
613
616
614
619
615
610
616
618
610
612
617
615
617
611
612
615
610
612
606
610
612
619
611
611
614
613
611
613
615
611
609
602
608
608
605
613
612
606
0
613
615
613
615
613
611
610
614
611
613
606
608
622
609
612
611
611
617
620
611
613
616
617
615
614
612
609
609
613
608
611
606
611
611
612
613
610
615
607
609
608
613
609
0
606
606
607
609
606
611
611
613
613
616
0
613
613
0
0
608
617
613
613
0
612
617
614
616
610
613
616
616
615
610
613
614
615
613
611
612
612
614
613
615
623
625
622
621
621
0
614
614
615
619
610
0
615
629
0
621
611
612
611
615
610
612
613
615
613
613
611
612
618
606
618
610
612
613
611
610
610
609
615
614
608
608
606
616
621
611
614
614
614
613
612
612
610
608
612
614
611
608
610
613
617
610
621
616
613
613
613
612
608
609
608
612
606
605
609
606
612
607
612
607
612
613
613
610
616
610
607
611
608
607
611
609
611
608
622
610
609
611
609
0
611
610
613
617
612
605
610
612
616
611
617
612
615
610
609
609
611
607
610
610
607
609
0
605
608
607
609
607
609
608
609
609
607
606
608
610
608
609
611
609
614
610
615
619
615
612
610
616
609
610
611
614
614
0
609
612
613
610
619
612
607
613
607
607
606
605
611
606
604
606
605
601
605
607
610
606
608
611
607
604
607
606
610
606
607
605
611
607
607
610
613
608
615
616
615
612
604
612
607
612
607
608
613
607
618
610
620
627
608
612
606
606
606
610
606
609
603
604
600
603
0
602
604
604
609
610
609
611
607
612
607
609
607
610
610
605
613
605
613
610
607
615
607
611
0
611
610
610
608
608
609
612
608
609
613
609
0
0
610
0
605
607
607
609
604
603
604
601
606
596
605
603
607
612
611
611
608
609
608
609
607
607
608
608
612
606
611
611
611
608
611
610
606
604
609
607
607
608
608
604
611
609
612
613
608
609
606
610
0
609
608
614
603
607
0
607
610
604
611
608
610
609
609
610
606
608
608
607
610
607
606
608
611
607
612
610
611
612
607
610
607
609
606
611
608
602
608
612
614
606
614
608
607
612
607
611
610
611
608
608
608
612
608
610
610
603
617
608
610
613
609
618
607
604
609
613
602
605
611
613
608
607
613
612
608
612
609
612
609
609
608
611
604
609
608
610
611
608
613
609
604
604
604
604
605
605
605
0
605
607
605
606
607
605
611
605
606
603
604
607
606
606
606
604
606
606
607
0
608
604
610
606
611
603
603
606
604
605
606
603
606
601
607
610
607
606
0
605
607
602
600
611
605
601
605
602
606
601
609
610
612
604
605
604
604
609
603
608
607
609
608
0
607
604
607
605
603
605
613
0
624
609
605
615
607
614
607
608
608
602
605
606
608
605
0
0
608
607
612
620
608
613
607
612
602
606
609
609
617
609
612
610
610
0
609
603
613
612
604
612
610
612
608
610
610
613
610
607
611
613
615
611
613
610
613
611
615
612
617
608
617
610
614
612
606
605
604
603
601
608
602
601
600
602
603
604
607
606
606
601
607
608
604
601
603
599
603
603
599
0
595
607
601
603
599
609
607
602
604
606
607
603
602
602
604
604
607
604
609
605
611
611
602
604
599
604
603
598
601
604
602
599
603
599
608
604
602
600
606
602
602
606
607
604
605
609
605
606
603
606
603
604
607
605
601
607
603
606
0
601
0
604
604
602
0
599
603
602
611
607
601
606
602
601
599
598
603
0
603
601
602
597
605
613
602
613
605
602
603
602
607
601
602
605
598
602
605
610
604
607
607
603
603
605
600
606
606
603
608
603
602
602
602
604
608
606
609
0
0
602
0
0
0
606
0
603
0
597
0
0
0
604
0
612
609
609
605
607
607
610
604
611
603
606
606
610
601
608
608
609
610
607
599
603
609
608
601
601
604
605
599
613
611
602
0
0
609
0
609
0
602
0
606
0
609
0
610
0
604
600
0
0
633
617
598
628
613
615
609
613
599
604
609
609
602
608
611
612
610
610
608
601
595
606
607
607
598
605
601
600
608
607
0
0
604
603
601
606
598
0
600
603
599
600
599
598
0
599
0
601
609
606
601
603
603
605
603
608
604
603
601
609
605
599
605
604
602
608
601
595
603
600
596
600
600
600
598
601
603
602
607
605
608
600
600
609
606
599
597
603
596
604
597
601
604
0
0
604
599
609
603
602
603
599
600
600
603
603
602
599
604
597
609
603
600
602
606
605
596
606
596
595
597
597
603
607
603
604
611
605
601
602
599
597
600
599
598
597
602
0
606
598
602
597
601
598
601
601
602
598
602
598
606
604
596
596
600
599
600
596
600
598
605
600
607
600
600
598
604
600
600
605
599
600
602
597
603
604
0
598
599
594
599
595
0
596
603
592
595
601
600
594
600
608
604
610
602
597
597
599
599
601
605
598
602
600
602
595
603
598
605
604
602
596
600
598
602
600
601
600
600
596
604
599
0
601
603
603
600
600
603
595
595
600
604
601
598
601
596
598
606
600
603
597
600
604
605
604
605
598
602
597
597
601
597
597
602
595
604
597
603
600
605
598
593
605
604
599
605
599
601
600
0
0
606
606
609
607
0
595
592
596
593
606
601
597
598
603
601
606
600
602
598
604
599
606
601
603
595
600
598
593
593
599
599
611
596
599
600
0
602
600
598
598
610
594
595
605
599
598
606
598
599
595
596
593
594
604
591
599
591
595
597
593
599
594
598
597
597
595
599
601
594
596
594
596
593
598
596
594
598
595
601
600
596
597
603
599
596
596
0
596
592
593
597
596
595
601
599
598
592
596
594
597
591
598
593
595
592
592
594
594
593
594
595
596
599
596
598
592
596
594
593
597
593
594
592
595
594
593
595
600
596
597
598
595
600
596
597
595
593
593
593
591
596
596
599
596
610
611
609
608
609
612
606
609
605
608
611
611
610
608
611
611
611
614
614
608
611
610
610
610
607
611
612
598
606
606
609
612
0
611
601
617
611
598
599
612
615
610
613
610
612
613
610
610
612
614
611
0
613
614
612
611
611
610
608
603
612
611
610
613
603
0
598
601
599
0
604
0
602
600
600
598
599
604
598
603
618
599
615
614
618
615
610
612
608
609
615
616
613
614
611
616
611
616
609
616
611
609
614
609
611
613
608
613
612
611
610
608
614
616
611
611
610
615
610
612
612
609
610
611
608
610
0
0
604
617
614
610
609
610
611
613
611
613
612
614
615
614
614
615
620
615
615
616
617
615
614
617
615
614
613
616
618
618
616
617
615
616
611
613
617
611
611
614
616
614
615
615
614
619
618
616
618
620
615
618
618
613
612
610
614
610
615
616
617
616
616
617
617
616
613
617
617
615
611
612
619
616
619
618
621
615
620
623
619
623
611
618
617
614
614
614
620
618
0
618
621
620
621
624
616
619
614
620
618
615
614
613
619
619
617
618
622
619
620
621
617
620
614
621
621
614
615
614
620
616
619
618
618
617
621
618
622
621
624
623
622
621
620
621
625
618
620
616
619
616
618
619
624
0
624
624
628
622
620
622
625
618
624
619
629
620
623
625
622
626
620
625
620
615
619
618
626
626
619
621
622
619
623
623
622
624
624
624
623
620
623
621
623
619
625
621
625
621
624
627
624
626
619
626
624
617
619
618
624
621
623
624
623
622
623
622
623
624
624
622
625
622
623
623
626
625
620
0
626
624
623
626
611
618
609
614
614
619
608
607
616
613
612
610
615
615
619
616
627
629
621
627
625
624
623
622
628
627
625
624
628
624
627
625
0
0
0
0
0
624
0
626
622
623
624
0
0
621
627
622
623
621
621
619
618
620
620
623
618
617
619
622
620
616
622
623
626
0
621
627
621
621
627
623
619
619
619
626
0
617
626
621
618
618
616
621
618
621
621
622
619
617
618
621
627
617
623
619
621
620
622
625
621
622
618
624
624
619
620
624
626
617
626
626
622
625
619
621
621
620
618
623
620
622
622
623
625
620
625
625
0
624
620
622
622
619
621
621
617
616
617
617
618
615
619
618
621
622
618
620
618
619
618
621
612
613
615
615
617
614
620
617
0
0
0
0
616
0
614
614
0
0
0
0
0
0
0
0
619
619
618
621
0
618
618
617
620
614
613
616
617
616
0
0
608
609
607
608
0
617
614
607
608
605
607
610
608
608
609
609
618
617
614
616
615
617
613
616
614
615
614
616
618
615
620
618
616
619
613
617
615
614
612
616
610
613
614
614
620
615
615
614
615
616
613
615
610
615
613
614
611
609
597
615
614
612
0
0
618
609
615
617
613
616
0
616
615
615
618
617
621
614
0
619
618
616
612
0
612
613
613
613
615
614
614
612
614
613
617
616
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
610
615
609
612
611
612
610
613
611
608
611
611
613
611
613
611
612
612
599
613
601
598
610
611
609
613
611
609
599
601
605
596
615
615
611
612
609
610
607
608
0
610
610
609
612
612
611
612
613
615
613
611
611
613
607
612
612
611
610
613
610
610
612
606
609
611
607
615
611
613
612
610
612
609
611
613
612
609
610
611
611
611
607
613
612
598
606
609
607
607
608
608
606
609
607
612
613
612
611
608
0
608
612
612
0
608
0
605
608
607
609
608
594
600
590
594
592
592
597
591
594
593
591
593
591
589
599
591
582
588
586
583
580
586
580
582
595
595
598
597
595
595
600
601
601
603
602
602
596
605
596
598
600
599
597
595
600
598
602
603
599
599
601
599
596
595
601
597
596
594
600
592
606
600
601
596
591
588
594
588
586
587
589
586
0
594
596
599
604
603
599
603
602
605
602
602
605
602
609
599
598
602
609
608
606
604
602
603
0
599
595
600
598
604
590
600
609
595
596
592
592
594
596
606
603
602
599
602
602
594
602
597
597
597
596
598
597
601
598
600
608
602
603
598
602
599
599
597
603
598
611
595
606
604
608
602
0
0
595
597
591
595
592
591
595
595
594
593
592
593
598
595
600
599
598
599
597
596
601
595
595
594
599
601
603
596
595
603
601
601
602
606
601
603
605
601
603
601
603
601
604
596
0
0
593
596
592
594
598
595
593
591
593
594
594
595
593
596
595
595
603
603
597
599
595
600
605
599
601
603
606
614
604
600
606
601
601
605
599
603
602
599
597
600
601
603
600
597
602
601
605
607
595
594
594
594
595
591
594
589
593
594
596
594
592
593
597
593
605
595
602
601
598
604
600
599
607
602
608
599
603
602
606
601
600
601
602
601
598
596
599
596
600
600
601
606
603
602
604
603
594
593
602
595
594
590
601
594
592
591
596
595
592
589
596
594
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
609
605
0
0
603
598
0
598
0
0
0
0
598
0
0
601
594
592
592
595
595
592
595
594
594
595
595
593
594
594
594
602
601
606
601
602
603
598
603
598
602
601
602
599
603
602
598
601
599
605
597
601
600
599
604
602
596
600
600
596
602
601
603
605
607
607
599
603
604
604
601
602
600
602
601
603
598
606
601
603
600
604
600
597
599
609
596
601
602
604
606
602
606
603
602
603
601
603
597
601
598
604
599
603
603
603
598
606
599
603
602
600
602
604
605
606
603
606
603
604
603
601
601
603
603
604
603
605
605
605
603
603
601
605
601
600
604
601
608
602
608
604
607
605
605
603
602
604
605
599
599
609
601
598
605
600
601
599
608
605
603
609
603
600
603
603
600
596
602
598
605
603
605
605
606
603
612
610
604
607
611
604
602
603
607
601
609
601
603
603
603
613
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
615
604
605
605
606
605
600
599
605
603
603
604
605
620
607
0
610
613
606
629
609
605
609
606
607
608
605
604
625
604
604
617
0
0
0
0
0
0
606
0
0
0
0
0
0
604
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
609
614
603
608
607
605
606
607
606
608
604
605
605
603
600
605
605
607
604
606
603
606
600
610
605
627
605
602
605
616
605
610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
607
608
605
607
608
606
605
604
602
607
604
604
604
603
605
602
608
605
603
602
604
601
606
600
605
603
612
608
605
606
609
605
607
609
603
610
606
607
605
604
612
604
603
606
605
606
607
602
607
612
601
621
616
606
609
606
605
609
607
604
0
608
604
614
610
624
605
606
604
605
612
608
605
605
604
605
606
611
607
604
608
604
602
607
611
602
612
608
604
602
605
602
607
604
606
604
603
609
606
605
606
605
605
604
606
607
603
608
611
606
615
610
605
607
606
610
612
616
609
612
605
0
610
606
617
0
608
0
0
610
0
0
606
604
610
608
0
607
0
0
0
606
0
608
602
601
605
602
601
601
599
605
593
590
589
596
597
595
596
595
606
603
608
608
606
604
607
600
607
610
603
607
604
605
609
609
606
609
607
607
600
606
602
615
604
602
606
607
609
606
611
606
598
600
600
599
598
601
600
602
591
588
592
595
597
590
604
591
610
611
604
606
616
609
605
605
606
603
605
612
604
604
609
603
607
608
604
606
606
603
601
603
602
594
597
599
600
593
599
598
605
601
601
602
0
603
606
607
589
594
588
592
604
589
591
592
605
609
605
606
602
606
603
608
603
0
603
602
605
600
606
605
609
614
602
612
603
602
600
604
605
598
600
596
600
595
600
601
604
601
603
606
600
600
595
598
586
590
585
588
593
589
594
587
607
604
600
607
0
599
601
605
602
595
592
598
601
601
602
608
607
606
605
606
603
604
601
602
599
600
603
601
600
601
600
600
607
603
602
606
604
602
604
601
603
605
603
605
608
605
605
607
601
0
600
602
599
599
0
600
587
0
0
0
0
0
0
0
616
608
605
613
610
607
609
606
606
602
599
603
609
600
597
599
599
603
599
612
601
600
601
599
604
598
604
600
604
605
607
604
601
599
600
601
602
601
600
601
587
588
587
587
588
585
589
589
602
599
593
598
596
592
592
590
588
583
585
586
587
587
601
585
602
603
606
604
602
604
604
603
620
603
604
606
604
599
603
605
605
603
600
602
603
599
608
0
594
597
601
594
597
597
603
596
0
0
595
597
0
0
0
0
593
599
588
590
0
0
589
589
608
608
611
605
627
603
604
605
602
601
610
604
609
605
607
608
604
600
599
599
597
595
619
598
592
0
596
608
598
592
622
600
605
605
602
604
601
599
602
602
600
597
599
604
606
602
603
600
599
604
0
0
601
601
0
0
0
0
0
0
598
0
0
0
600
601
598
605
599
599
596
602
597
599
597
599
603
600
610
598
611
599
607
602
603
602
609
604
602
600
603
598
601
602
607
603
604
602
604
601
0
604
600
605
601
603
0
599
611
595
602
598
606
597
601
595
0
599
596
603
598
600
608
604
605
598
600
602
598
596
596
595
596
595
594
594
596
593
593
597
592
595
596
595
598
600
602
599
599
595
600
597
597
594
0
597
592
599
593
595
598
601
598
597
599
598
600
597
605
596
603
602
597
604
601
608
0
599
595
600
594
0
594
592
592
590
597
594
596
597
594
600
599
599
603
602
597
596
599
600
590
593
596
596
599
595
596
596
598
599
597
604
597
593
597
592
600
599
598
596
598
600
603
600
601
601
598
597
596
599
597
599
595
597
607
595
598
600
599
603
602
604
604
606
605
602
604
600
599
597
599
598
599
603
604
601
594
598
595
597
592
595
592
598
592
590
594
599
597
598
602
598
595
604
602
597
596
601
597
595
594
604
602
595
596
596
601
599
599
598
595
600
598
603
600
596
593
606
595
596
597
598
600
603
591
601
592
591
594
592
589
595
590
594
594
593
592
595
597
595
600
604
604
598
604
601
598
597
595
596
597
597
599
604
602
602
598
599
597
595
592
594
596
597
598
599
595
595
595
596
601
597
596
599
596
594
591
587
596
589
590
589
593
593
594
597
597
598
601
600
596
598
595
597
595
594
609
598
599
601
599
594
601
603
601
600
595
600
594
592
0
596
600
592
592
594
594
599
597
594
594
597
591
596
595
592
594
588
587
594
592
588
594
594
593
595
602
599
597
599
592
593
595
593
598
602
598
595
598
600
597
601
588
587
584
590
581
585
587
582
0
594
591
598
594
595
594
595
597
594
593
594
593
602
599
595
600
606
603
601
603
602
0
603
601
598
600
599
598
595
598
596
605
607
598
601
611
601
597
607
597
594
591
595
594
593
588
586
592
599
600
596
600
596
595
602
601
599
600
606
602
601
604
600
604
611
607
607
608
610
613
605
0
0
601
598
0
609
604
599
608
603
0
0
604
605
602
608
601
596
590
595
597
597
593
0
0
0
601
599
601
600
598
600
598
0
599
595
595
598
597
599
602
596
598
597
599
593
600
0
0
0
0
0
611
0
601
599
0
0
602
603
605
603
604
607
594
0
601
599
0
0
0
0
597
600
0
0
0
0
0
0
610
598
599
596
600
597
597
594
597
597
598
597
598
602
608
0
0
595
594
589
588
597
584
598
600
610
605
605
602
600
601
604
590
592
591
587
588
587
589
591
597
601
0
600
603
621
602
604
598
599
595
599
593
596
599
596
599
598
604
601
0
601
602
0
595
0
589
591
586
590
590
590
600
602
601
602
604
604
606
601
591
593
592
590
588
590
592
588
601
598
605
599
602
603
603
605
595
600
598
598
594
599
601
595
604
603
605
604
602
602
607
606
605
606
624
603
605
608
600
606
600
606
602
597
612
605
602
605
605
618
609
621
600
609
614
602
605
605
604
609
603
0
608
610
597
0
0
0
587
590
593
593
0
0
0
0
604
0
0
613
601
609
608
605
602
602
626
607
606
601
601
597
601
601
601
603
609
610
603
601
607
603
606
612
609
611
604
604
621
602
607
0
591
0
583
589
594
594
587
591
604
600
612
602
603
608
610
605
608
605
605
605
608
606
600
607
604
603
601
604
604
605
606
604
609
0
611
609
607
0
603
605
0
610
0
612
0
613
605
0
586
600
593
598
591
590
589
600
0
0
596
609
596
602
606
604
607
611
604
606
605
605
607
604
605
602
606
604
603
604
602
607
609
611
601
606
619
604
601
612
614
607
609
607
613
606
610
606
596
598
594
590
595
588
594
599
602
606
600
595
600
608
603
599
612
612
609
610
605
606
604
602
605
0
605
609
602
601
605
609
0
596
601
596
594
0
594
595
606
609
603
605
606
607
610
608
607
602
601
605
611
608
603
603
606
607
600
607
606
604
608
605
607
610
608
615
609
610
609
604
605
603
616
610
607
608
607
609
598
598
598
600
598
0
0
594
616
603
0
607
609
0
608
613
623
603
599
609
604
607
602
604
605
605
604
603
605
604
603
605
611
614
621
606
603
603
606
606
606
611
608
604
610
608
610
607
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
592
597
594
598
592
590
610
598
614
606
603
0
606
606
611
608
608
610
607
606
606
606
608
607
610
606
604
610
610
606
615
608
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
596
599
594
595
588
593
593
591
0
604
605
606
608
608
609
609
610
606
605
607
606
605
611
604
614
607
604
606
606
607
610
611
607
610
607
617
614
604
607
608
614
609
612
614
624
606
618
605
597
595
594
594
596
592
592
594
608
604
606
606
622
611
606
0
612
618
605
613
610
605
609
608
606
612
605
613
609
0
608
613
614
615
608
615
610
608
612
612
610
611
609
608
607
606
608
609
594
601
602
595
595
592
591
599
604
604
603
608
609
612
609
621
608
607
616
0
608
610
605
607
595
601
600
593
600
596
604
602
611
607
616
609
618
607
634
608
596
598
600
599
597
603
598
601
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
623
0
624
610
0
602
607
610
591
0
598
594
598
596
602
596
618
611
615
607
612
607
615
608
593
597
593
596
597
599
598
599
604
603
604
605
607
601
0
0
599
602
602
605
602
605
609
609
616
608
609
612
611
608
606
608
608
606
604
608
609
608
607
605
0
605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
610
612
608
607
611
607
611
611
610
613
610
608
614
613
616
611
607
607
608
614
616
608
607
616
610
606
608
606
606
607
621
613
0
605
620
608
625
606
610
609
596
592
596
590
595
592
598
595
629
608
616
608
0
607
612
604
626
604
605
607
607
610
612
617
611
606
607
612
610
0
605
621
593
591
595
608
600
602
600
599
608
605
608
612
609
612
605
609
605
605
606
609
612
615
611
611
604
606
607
607
610
604
610
606
614
606
607
607
607
617
614
612
0
603
601
601
604
599
602
0
596
589
596
596
592
589
596
596
606
608
609
603
606
605
605
608
606
604
606
608
607
606
0
606
605
607
607
0
604
606
609
608
602
606
0
610
606
0
609
608
606
609
608
606
607
603
607
607
604
609
606
608
607
608
605
0
607
608
607
608
610
602
609
604
604
609
608
612
611
608
612
607
609
604
607
605
601
608
603
611
616
607
608
606
613
603
616
606
0
614
606
607
607
605
604
600
605
605
605
609
609
602
611
608
606
605
604
623
606
601
617
607
605
606
603
607
605
610
604
607
605
604
606
605
601
604
602
606
605
605
613
606
606
602
609
607
0
0
604
606
0
0
605
606
0
0
603
0
607
611
604
604
603
0
606
620
606
604
604
605
603
603
607
603
607
601
601
606
606
605
605
605
0
613
601
603
613
610
605
607
610
618
609
611
601
603
613
604
602
600
607
599
602
604
615
605
600
611
607
601
614
607
604
606
601
607
608
600
606
610
606
0
607
632
599
602
605
613
613
598
603
616
611
611
614
606
607
609
606
600
0
605
610
604
606
606
603
605
606
599
604
613
605
604
602
612
605
602
610
624
607
605
604
606
0
609
599
607
0
603
616
603
610
604
597
598
602
0
597
600
620
599
596
0
596
589
596
600
0
590
0
0
601
620
607
602
603
602
605
605
602
607
611
601
601
602
603
608
609
601
611
606
609
613
604
605
605
604
603
606
613
608
606
0
0
599
0
602
593
605
606
592
594
592
0
592
0
0
605
606
601
601
598
606
601
604
601
606
609
600
606
604
604
606
607
603
603
608
601
607
604
601
603
606
601
610
605
608
604
605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
606
0
607
604
608
602
608
597
608
609
614
600
607
603
609
612
613
603
608
604
614
607
617
604
604
611
603
607
605
612
607
603
612
606
614
0
607
606
599
0
590
589
593
592
593
598
0
605
615
604
606
0
608
601
604
607
602
603
610
604
601
604
610
605
598
603
602
605
597
592
599
619
597
589
595
602
600
599
594
599
0
0
604
604
0
0
0
608
0
0
0
0
608
0
603
609
606
615
604
600
601
595
607
600
599
605
602
600
602
599
607
601
601
598
599
599
593
603
594
593
603
593
598
591
596
597
595
603
0
0
0
601
597
0
600
612
0
0
0
0
603
602
613
0
602
607
595
600
598
604
607
600
598
598
600
596
597
601
601
601
602
602
599
598
598
597
596
603
596
598
594
597
595
596
601
598
595
595
593
594
590
592
591
593
594
600
594
599
605
596
594
600
600
612
597
597
597
593
597
593
597
593
592
594
594
594
598
600
594
598
598
596
595
599
592
593
595
596
594
597
600
594
598
594
594
594
595
594
593
0
594
592
596
604
602
599
600
599
600
600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
582
586
584
586
0
584
591
585
0
593
597
0
600
600
602
601
604
0
603
602
602
599
598
600
597
599
597
595
600
599
606
601
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
589
589
589
588
590
585
586
587
599
600
603
598
599
603
601
603
603
605
601
603
601
598
595
605
602
599
605
600
605
600
0
0
597
0
596
598
591
600
591
596
600
601
599
0
596
603
600
607
598
602
602
605
601
601
603
601
607
600
605
600
609
605
607
604
596
596
598
602
599
595
595
594
604
600
604
604
599
602
604
0
601
598
598
594
596
597
596
595
600
602
605
604
605
602
605
605
603
608
603
603
606
603
604
603
0
599
604
604
606
604
604
605
599
594
591
594
594
597
596
599
597
600
595
599
599
602
603
603
605
602
603
599
602
0
603
601
600
602
597
597
602
598
599
600
591
586
587
586
588
589
0
583
598
601
594
605
601
602
598
602
601
613
599
602
600
602
602
612
601
609
0
609
604
607
607
606
605
604
604
602
601
601
601
603
603
602
601
596
602
596
604
599
593
587
588
592
586
586
590
0
600
603
602
602
602
604
602
604
601
613
605
604
602
602
605
603
606
599
604
602
607
604
616
605
605
609
601
603
605
0
604
601
602
602
0
602
603
596
0
599
605
602
606
605
606
602
606
608
606
601
605
604
600
603
600
604
590
597
589
594
588
596
588
595
599
0
601
602
601
601
601
605
607
606
605
600
606
602
0
0
602
606
0
606
0
0
0
0
605
605
610
604
605
600
603
603
601
602
604
605
605
0
607
603
591
595
591
594
591
588
590
591
601
604
600
602
603
602
606
609
606
605
606
603
603
597
603
598
603
600
603
604
602
611
605
600
592
593
590
591
592
595
587
588
602
605
600
601
603
605
601
604
602
597
603
600
592
596
601
601
602
601
599
601
606
605
603
0
606
608
610
607
602
604
604
607
604
600
603
606
608
603
602
607
593
596
596
596
589
593
595
588
604
605
606
607
600
603
609
605
601
606
597
598
597
600
597
596
0
605
599
600
605
0
608
608
0
0
0
0
593
0
592
598
0
0
604
605
607
604
615
606
605
605
610
605
610
602
0
603
607
605
609
0
602
0
612
0
610
606
606
611
608
606
608
605
607
611
601
604
603
603
606
608
598
601
595
592
594
595
596
593
605
605
605
607
607
602
610
610
606
608
609
611
602
601
609
603
612
605
607
608
609
607
601
607
610
609
609
617
604
606
609
606
606
613
608
606
607
606
605
609
610
0
605
608
608
603
604
605
608
608
605
606
604
604
606
609
610
605
601
612
606
602
599
600
610
619
605
605
612
607
611
608
612
611
611
624
612
609
606
608
608
0
605
605
610
606
613
608
610
613
607
0
606
605
604
606
609
606
607
607
609
605
611
609
602
604
606
607
611
604
601
600
622
606
618
606
607
609
607
610
608
609
605
608
605
620
612
608
606
604
606
608
615
609
611
0
616
617
615
609
614
609
607
614
611
613
607
0
609
606
611
614
613
0
615
613
605
608
604
607
610
0
609
608
610
611
609
613
609
614
607
634
606
607
613
609
604
610
606
608
609
609
613
616
610
610
611
619
610
614
612
610
611
606
619
610
622
614
608
615
608
605
611
607
608
611
606
606
608
609
603
605
606
610
612
615
605
609
620
615
620
608
608
0
605
607
613
604
607
614
614
611
609
613
605
610
608
603
605
606
613
609
609
604
607
610
607
606
608
601
607
604
605
604
609
606
605
603
606
606
605
605
608
610
608
603
609
607
602
603
606
609
589
594
599
595
0
592
594
0
610
613
608
606
606
609
607
606
605
604
608
607
608
608
607
611
606
605
611
604
605
607
612
606
605
600
604
609
608
607
611
603
0
0
605
604
0
0
611
610
0
0
593
0
0
593
0
0
608
612
607
608
604
609
603
605
606
607
607
607
610
606
610
616
612
609
0
0
0
607
612
608
0
608
0
0
0
0
604
611
606
0
0
0
603
609
0
606
592
0
0
0
0
0
0
0
611
605
604
607
603
609
605
603
607
612
608
603
609
605
607
607
614
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
608
603
0
0
598
0
599
596
599
0
607
608
606
601
601
600
601
603
600
0
603
600
603
604
611
615
605
616
604
606
604
607
609
605
602
604
602
600
619
599
601
613
606
603
601
606
603
605
604
604
600
600
0
600
604
606
602
608
604
615
605
602
613
604
601
604
603
609
602
613
604
612
605
604
607
626
610
613
602
602
608
604
0
598
603
598
602
598
602
596
605
603
606
602
603
606
603
601
599
597
607
0
602
606
606
607
604
613
604
606
599
603
603
606
602
612
601
601
611
605
605
607
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
601
602
599
603
598
601
599
599
599
601
611
604
601
605
610
609
603
600
602
605
610
602
604
602
602
607
603
608
603
608
606
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
605
603
611
602
599
600
600
593
602
601
603
601
600
602
603
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
602
603
602
598
601
604
599
600
602
602
0
597
606
604
609
619
603
600
597
597
608
596
595
594
587
586
586
590
593
589
0
0
602
604
603
603
603
607
597
605
593
593
598
608
595
593
599
597
606
607
602
603
609
599
601
602
603
600
604
604
605
601
0
605
596
598
596
594
596
601
595
601
587
584
587
586
593
587
0
586
605
626
607
605
604
604
604
600
606
608
606
607
608
604
602
604
606
600
599
604
599
603
601
605
603
603
600
601
603
604
603
601
606
605
603
599
598
599
598
599
604
604
609
600
606
611
604
599
601
610
599
600
608
602
605
603
605
607
602
605
613
600
601
608
600
601
598
0
594
596
598
598
598
602
604
597
598
600
596
603
0
0
599
600
604
0
602
599
596
597
598
594
605
606
601
606
601
601
601
599
599
600
602
602
585
585
590
0
591
592
586
588
605
599
600
598
602
600
603
604
603
596
602
599
602
600
598
603
604
602
598
600
599
601
601
598
597
603
599
597
600
598
605
601
613
600
597
601
597
598
598
602
583
583
593
598
583
595
590
600
604
603
596
599
597
595
600
595
605
594
597
594
607
597
598
602
602
603
597
595
601
599
0
601
0
596
604
598
601
604
606
604
0
0
592
592
593
594
593
592
605
604
603
605
607
604
606
607
598
0
593
597
592
595
596
594
607
607
603
605
609
604
606
607
613
0
612
609
609
610
610
612
612
607
609
609
611
609
609
610
618
615
612
608
609
612
612
615
610
607
610
608
609
608
610
613
0
614
609
615
606
607
609
606
609
610
598
0
610
610
609
608
613
0
610
605
606
606
609
609
610
606
605
608
609
608
610
610
609
609
610
613
612
610
605
608
608
606
607
609
607
606
607
607
610
613
612
613
608
608
607
611
610
610
606
607
610
611
611
614
615
615
608
612
603
612
611
613
600
609
610
608
612
608
615
612
617
618
612
615
613
609
0
609
613
609
611
611
609
610
612
612
604
602
599
600
601
0
598
590
612
612
610
612
610
612
615
614
605
0
600
604
600
600
598
599
612
598
614
612
613
609
614
612
618
616
610
605
602
0
603
0
601
598
615
603
615
610
612
613
606
609
611
607
636
611
616
610
617
616
0
613
615
0
616
614
617
623
610
615
611
611
616
612
617
0
614
615
613
615
613
615
621
620
616
0
615
613
612
614
618
615
608
613
615
614
617
0
619
617
614
619
622
612
614
613
617
612
613
615
616
615
614
616
0
623
0
622
621
617
621
611
619
615
620
617
616
616
619
620
619
618
619
618
621
0
613
591
619
617
614
615
617
0
621
618
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
621
613
609
608
611
604
606
0
607
605
601
604
605
607
607
608
610
627
609
615
613
609
609
606
614
608
611
611
609
611
607
608
614
627
0
614
614
608
608
609
625
619
622
623
624
619
621
625
613
614
610
612
625
606
610
609
624
608
620
610
622
626
625
625
0
626
625
628
622
624
623
629
622
623
622
623
623
619
626
624
625
626
622
626
0
622
622
627
619
623
619
612
623
609
625
627
627
627
624
628
622
619
622
626
612
611
608
615
618
624
615
615
621
0
620
624
623
624
619
612
619
606
620
613
624
617
627
611
623
623
621
627
619
621
621
628
0
619
619
0
624
617
624
625
626
625
620
622
622
620
617
618
614
616
616
619
626
619
621
617
620
622
0
622
623
618
615
618
621
621
619
620
624
0
622
620
619
620
618
619
0
614
618
617
616
616
616
616
625
616
620
614
0
618
615
615
618
0
611
615
598
601
598
0
603
602
606
606
620
615
618
617
615
611
612
616
602
601
600
601
608
602
604
603
621
619
0
616
617
615
618
617
0
612
606
616
0
602
608
620
617
0
607
619
0
0
615
0
612
616
613
615
0
613
616
617
611
610
610
607
609
608
607
607
598
598
599
600
604
598
601
602
612
609
610
608
611
607
607
609
598
597
599
597
602
0
599
595
0
614
611
609
612
609
612
615
600
596
600
599
600
598
598
602
614
613
608
608
610
606
607
609
596
598
598
0
598
597
598
589
612
0
610
610
608
606
608
609
610
607
607
608
612
607
612
611
613
611
608
609
597
608
608
605
606
610
610
609
605
608
609
607
612
614
611
596
608
610
609
609
608
608
607
611
609
612
613
609
0
611
608
607
611
610
606
607
612
600
609
0
609
0
610
610
0
611
610
608
608
609
607
610
596
597
595
596
597
596
598
598
611
0
605
608
605
607
608
606
593
597
596
597
596
594
596
597
611
609
605
609
0
607
603
606
609
0
0
607
609
603
611
609
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
