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