712
650
592
606
688
708
691
683
661
705
715
635
622
677
c0c0c0
680
697
697
698
697
699
699
695
695
696
694
695
695
695
698
698
695
699
694
702
701
697
699
697
697
699
696
698
698
701
703
706
709
709
708
707
707
708
708
710
711
712
713
709
710
708
707
700
701
703
704
701
702
705
704
700
700
699
700
701
701
703
703
702
703
705
701
700
700
702
703
702
700
696
696
701
700
699
700
702
703
701
702
706
704
702
701
704
705
709
708
709
709
708
708
708
707
707
705
703
702
705
705
702
701
701
703
704
705
691
692
697
701
698
697
705
706
706
707
711
713
712
708
710
710
710
712
712
713
707
705
708
707
709
709
708
706
712
712
704
708
708
707
710
711
705
706
705
703
706
701
704
706
704
706
708
711
709
708
706
705
714
715
708
708
712
710
706
709
709
707
709
711
712
713
711
707
706
707
709
713
713
712
708
707
710
706
705
702
710
711
707
710
716
714
710
707
706
705
707
707
708
708
709
708
705
708
710
711
704
705
707
711
709
709
705
705
704
706
709
709
709
709
711
708
707
710
714
711
712
712
711
714
713
711
709
709
709
709
713
710
715
715
712
710
712
712
716
717
713
715
716
716
716
720
717
719
712
713
710
711
718
720
719
717
718
716
714
715
714
714
712
714
718
717
718
718
715
710
718
716
720
718
715
712
717
715
716
715
717
717
710
713
713
712
712
711
713
712
713
714
715
714
712
712
712
712
706
705
707
710
710
709
707
708
713
713
707
706
707
710
709
710
708
712
713
712
713
716
710
711
710
708
711
713
715
713
713
715
711
712
710
708
710
713
712
711
713
713
710
709
712
710
713
712
709
709
707
707
710
711
711
712
714
711
714
714
707
708
711
709
710
710
714
710
711
711
711
708
700
702
705
706
706
707
701
699
705
705
704
701
703
703
703
704
700
702
708
705
706
707
706
706
710
714
716
714
714
711
710
711
707
711
715
715
717
717
719
716
713
713
719
721
718
714
716
718
718
717
715
719
715
716
716
716
715
714
714
717
719
719
718
717
718
718
717
717
716
715
715
716
721
720
714
714
714
713
711
712
711
709
711
709
715
713
710
707
707
708
707
705
707
710
710
712
709
709
710
708
712
708
708
706
703
703
699
701
699
702
703
705
703
699
701
700
707
708
705
707
704
702
704
703
699
701
697
697
705
702
699
702
695
696
694
694
698
698
695
700
701
700
700
700
700
700
703
700
699
698
698
696
693
695
694
700
701
702
704
704
702
704
701
703
704
706
702
697
694
694
701
702
705
705
702
707
703
703
700
699
707
710
714
713
716
713
716
716
716
713
719
712
714
711
714
715
711
717
715
714
708
699
696
693
687
688
686
698
698
700
700
701
698
698
697
707
700
700
699
703
711
708
715
719
712
710
708
702
705
704
705
705
727
731
694
696
694
693
705
705
700
699
704
700
710
710
707
705
703
698
706
706
701
702
696
698
698
699
689
690
695
695
688
690
690
692
685
681
685
690
690
692
685
688
686
683
681
681
684
683
689
689
690
691
689
692
689
691
696
696
698
695
697
695
697
694
698
698
699
703
701
700
695
696
687
686
686
685
682
681
679
681
682
683
688
690
689
688
692
697
696
697
694
692
683
692
686
683
686
687
691
692
690
692
699
691
688
687
691
691
684
686
683
681
683
679
682
678
681
679
671
672
668
667
655
655
667
665
656
650
670
668
670
670
670
671
673
672
678
679
674
671
661
668
672
678
672
670
666
665
661
662
671
672
677
671
676
678
674
675
678
678
660
670
670
671
670
664
668
670
670
675
678
676
676
674
671
672
670
672
674
675
676
672
678
675
675
678
677
677
675
662
662
659
657
656
653
656
654
657
657
666
671
673
671
667
666
669
666
654
656
650
651
648
635
633
633
640
643
647
642
646
648
642
643
644
643
642
647
649
647
647
644
638
639
641
640
641
639
638
637
639
640
639
635
637
637
640
644
634
640
642
646
640
641
637
638
642
637
624
625
627
630
630
630
630
626
622
623
619
620
622
622
628
628
631
626
624
622
617
616
608
612
611
611
613
612
601
604
612
610
604
602
605
606
599
594
601
605
604
607
615
611
608
610
614
612
608
606
602
603
604
600
600
601
594
592
591
589
591
590
592
594
597
593
595
595
589
594
595
593
595
594
596
596
593
594
592
594
594
598
596
593
597
593
596
594
593
593
594
595
588
590
593
591
595
595
598
598
596
597
595
596
599
596
594
598
600
600
597
595
590
594
596
598
595
597
597
596
598
600
594
593
593
592
588
590
592
588
589
593
592
592
591
594
595
594
595
596
595
597
597
598
601
602
596
596
598
598
601
601
601
601
605
608
606
605
605
606
597
599
603
605
608
604
598
588
584
585
589
587
591
589
590
595
595
592
587
586
581
584
588
588
592
590
589
589
590
593
591
590
594
592
592
594
594
592
591
590
593
591
597
596
596
598
599
596
578
580
605
602
588
587
584
586
578
574
588
588
585
581
608
606
594
596
595
597
597
593
599
597
607
599
601
599
600
596
605
605
607
603
600
598
592
592
602
599
600
600
611
600
607
607
613
615
619
621
619
615
618
616
627
627
621
623
624
629
618
621
623
620
615
616
615
606
610
608
609
614
616
614
600
602
605
602
604
604
591
593
590
591
616
619
601
600
587
590
588
584
579
581
586
586
598
596
597
594
597
596
602
604
604
604
606
608
613
609
614
615
617
620
623
621
631
630
616
617
630
631
641
636
640
644
646
647
641
640
643
643
632
628
604
607
607
626
627
614
611
620
621
628
626
625
623
620
620
620
615
625
628
633
634
637
637
630
630
631
632
631
628
627
627
634
632
637
636
634
635
632
636
625
631
627
625
631
629
636
632
631
634
635
636
636
638
634
632
629
629
632
630
631
635
635
634
631
634
631
632
633
632
636
633
640
640
633
635
635
634
632
628
633
632
635
636
639
636
641
642
639
638
635
631
636
634
640
641
639
639
638
637
635
636
634
636
632
635
643
644
647
647
650
648
647
651
649
647
648
646
643
643
642
640
644
642
648
646
647
652
651
652
652
655
661
658
658
659
654
653
654
655
647
646
647
651
649
649
657
661
661
661
659
663
663
657
631
629
647
647
659
657
656
656
658
657
655
655
655
655
658
655
658
655
659
658
658
659
656
655
659
655
655
654
649
650
652
655
654
652
652
651
654
656
645
646
647
646
651
653
652
651
654
656
656
660
663
662
664
663
655
657
659
661
662
659
666
666
666
668
667
666
665
668
659
660
660
661
671
667
667
667
664
666
666
667
661
661
664
664
663
662
667
667
665
662
665
665
671
668
669
674
676
673
669
669
672
674
666
665
666
667
662
663
669
670
672
674
675
679
670
672
677
678
685
680
682
682
683
687
686
686
686
683
669
667
670
676
682
677
675
674
677
679
674
672
673
673
671
668
658
658
665
666
655
656
662
662
661
657
645
648
659
657
650
645
657
659
654
665
640
633
647
646
663
661
662
661
658
659
661
665
667
671
675
676
677
678
682
681
677
680
684
686
690
692
703
705
695
699
699
704
697
693
691
690
693
691
695
692
693
695
696
701
699
696
698
700
697
696
691
689
703
701
694
696
675
673
678
685
659
660
657
659
660
661
651
646
673
671
684
678
680
685
671
670
684
687
681
677
679
677
677
678
677
676
678
679
680
682
680
684
689
691
698
701
699
698
701
697
700
697
702
698
692
692
696
697
694
694
693
693
691
689
691
700
696
700
696
695
684
685
680
678
688
687
686
686
687
686
686
688
695
695
696
695
696
698
696
698
695
698
698
702
698
702
697
699
692
693
693
694
697
701
703
702
694
692
693
692
690
693
699
696
697
700
697
700
702
703
701
695
691
687
686
688
691
694
693
694
696
697
704
700
705
703
704
704
700
701
692
692
689
685
687
688
676
677
691
692
693
697
705
707
703
710
712
707
705
706
710
703
695
699
695
695
701
702
691
698
696
696
693
695
695
698
704
702
697
697
698
701
701
691
696
698
699
698
691
691
695
699
697
700
701
700
705
707
701
701
697
689
704
708
727
724
729
723
692
690
689
681
704
712
703
699
690
688
687
686
694
693
685
685
723
718
707
706
700
695
696
683
699
698
697
708
693
702
713
710
692
680
681
695
690
692
692
696
697
704
723
722
701
706
687
685
685
689
693
695
710
712
723
722
692
693
682
683
684
687
710
695
705
706
708
697
699
681
703
680
697
699
705
703
704
704
713
713
707
706
698
699
687
686
679
672
677
682
680
676
686
688
710
711
693
691
692
694
684
691
677
680
692
695
691
688
672
677
678
688
691
688
692
689
691
695
694
694
699
701
695
694
684
687
695
695
693
700
693
695
694
685
686
685
687
689
690
694
693
688
686
684
686
683
677
681
683
696
701
697
693
695
698
684
685
680
678
677
681
688
688
688
689
689
701
699
687
687
691
670
670
669
692
664
703
697
697
693
696
694
691
688
695
699
699
699
699
703
702
700
699
699
701
699
695
694
697
699
710
706
703
704
700
705
704
695
693
699
699
695
693
695
697
696
696
697
693
698
693
696
704
704
699
695
694
697
696
694
699
696
692
697
696
697
699
702
701
702
700
704
702
705
701
699
699
701
697
698
693
695
696
699
700
699
701
701
702
705
706
708
708
705
703
698
702
701
700
701
703
703
699
695
698
701
699
697
700
703
703
702
701
701
700
700
700
702
700
699
699
700
699
699
701
704
702
698
699
696
700
699
698
696
700
697
700
699
701
700
701
699
700
700
697
699
698
698
701
702
698
699
696
700
702
701
704
700
695
696
700
701
699
698
699
698
693
695
695
699
699
702
697
696
696
694
696
694
697
699
702
700
701
701
702
702
698
696
698
699
700
697
698
697
696
698
697
699
699
699
696
697
695
696
694
693
697
697
698
695
697
698
701
703
696
691
696
697
693
693
698
699
698
697
697
697
697
697
695
698
700
699
697
697
696
696
697
696
696
696
698
699
699
699
701
699
700
701
698
700
697
698
699
699
701
700
700
700
698
697
697
698
698
699
700
700
700
699
702
700
700
701
698
697
699
699
701
701
703
702
704
703
703
702
701
702
701
700
703
702
703
704
702
703
708
706
704
704
703
702
699
698
700
699
705
706
706
706
701
701
702
703
706
703
699
701
701
701
702
703
705
705
701
705
705
706
704
703
702
702
704
703
706
705
705
705
702
703
704
704
702
704
708
707
707
706
705
706
704
704
707
707
706
706
709
709
709
708
706
708
707
708
706
706
710
708
706
707
706
706
708
709
703
704
708
707
713
712
708
710
713
711
713
708
709
708
704
708
705
706
704
703
707
707
700
702
703
703
702
703
704
706
707
705
704
704
703
704
703
702
703
703
705
704
705
701
707
705
697
695
698
698
699
699
702
698
699
698
696
695
698
698
696
694
697
697
698
697
706
708
693
692
696
694
692
691
692
693
696
696
695
694
696
697
690
693
693
692
695
694
692
692
692
691
691
691
691
689
694
695
693
690
691
696
693
693
696
697
691
692
691
691
690
691
693
694
691
690
692
694
693
694
695
695
694
694
693
691
694
691
692
691
688
690
688
688
691
689
690
689
695
695
692
694
693
694
693
696
697
699
694
691
691
690
691
690
689
689
689
690
688
688
689
690
691
691
691
691
687
689
688
688
691
692
694
692
689
689
690
691
695
694
689
688
687
689
690
689
688
688
690
691
693
692
692
690
693
693
692
691
692
690
694
695
692
693
693
692
691
691
694
689
693
694
694
694
697
695
695
696
694
693
693
695
694
692
691
693
691
690
694
694
694
693
695
694
695
695
693
692
695
697
693
692
696
694
692
692
692
694
691
690
693
690
689
690
688
690
694
694
696
697
696
696
699
693
695
699
692
694
696
699
696
698
702
698
696
694
695
697
701
702
698
699
700
701
701
701
698
699
699
700
698
699
700
697
695
699
699
700
696
693
695
699
700
698
699
700
698
698
699
699
699
703
701
701
702
702
703
704
705
704
704
702
697
702
705
703
704
703
705
705
700
704
702
703
701
701
708
706
702
701
705
704
700
700
700
701
702
703
705
706
705
702
703
702
701
702
702
704
702
701
702
702
702
702
703
703
705
703
702
700
700
699
702
704
706
705
705
706
702
703
704
707
703
700
704
701
701
703
704
704
705
707
706
707
704
704
706
705
708
705
704
702
704
704
705
707
704
701
702
703
703
703
701
700
701
700
706
706
701
701
703
704
704
703
703
702
704
705
700
699
698
696
700
700
702
701
697
701
701
701
701
701
701
702
702
699
699
699
697
699
697
699
698
699
703
703
701
700
698
697
700
699
701
700
697
696
691
691
693
694
701
702
703
702
699
698
700
699
697
695
694
693
695
699
688
693
695
695
696
692
693
692
697
696
694
696
695
692
696
697
696
694
700
699
699
697
696
697
699
696
697
696
697
695
693
694
696
698
694
692
686
687
689
686
691
691
691
693
692
690
690
690
693
690
688
688
692
694
695
695
693
693
693
693
693
692
694
693
693
693
693
693
693
693
691
692
693
693
692
690
689
692
694
693
693
692
697
699
698
697
695
695
697
695
696
700
698
697
696
696
697
697
695
696
695
697
696
694
694
695
691
693
692
695
694
694
698
699
692
690
690
691
691
693
689
691
693
694
690
692
690
688
686
688
686
683
690
693
687
689
693
693
687
686
686
687
690
690
689
685
689
690
688
685
683
685
681
683
692
689
689
689
680
678
681
685
691
690
686
683
679
683
687
685
678
682
682
680
683
681
681
684
682
678
682
685
687
688
691
688
692
693
693
691
690
692
691
692
691
691
688
688
682
681
684
683
683
682
684
686
685
680
682
683
688
688
688
687
689
691
676
679
683
683
685
685
685
684
683
685
686
686
689
690
692
690
687
688
685
684
680
677
675
677
679
679
682
685
684
684
680
676
672
671
672
672
678
676
681
680
681
683
677
681
676
674
674
673
673
673
702
701
701
700
684
683
690
687
680
681
678
678
674
673
672
673
672
677
676
679
681
680
684
683
678
679
679
678
679
679
681
685
686
682
677
677
676
676
676
676
671
672
673
673
671
675
677
679
683
681
677
678
675
674
676
674
673
673
674
674
682
683
686
689
686
689
687
685
677
677
680
679
680
679
683
683
681
680
679
678
681
682
682
681
683
681
683
681
683
683
686
683
683
685
684
683
686
686
683
685
686
685
687
686
681
683
663
661
657
657
656
661
662
664
665
666
669
667
671
669
668
668
667
686
694
696
698
693
696
695
696
689
686
687
687
688
691
691
693
693
686
684
681
682
686
688
691
694
680
679
688
687
686
681
690
691
705
705
672
671
679
687
683
683
682
683
705
705
701
700
696
696
695
698
697
698
706
705
701
703
704
703
700
704
697
697
698
692
694
694
705
706
701
704
698
696
700
702
703
701
698
695
696
699
708
706
705
703
704
702
702
705
709
709
705
701
707
705
714
714
714
713
711
712
712
711
712
710
709
712
708
708
709
712
716
717
714
713
711
712
715
715
714
714
713
713
714
716
718
718
716
717
717
717
718
718
718
718
713
713
715
716
716
716
719
718
718
719
718
718
718
719
717
717
713
712
713
713
714
714
717
717
720
718
719
718
718
717
717
718
719
718
718
717
721
720
718
719
720
718
721
719
715
715
715
715
716
715
718
717
717
715
718
714
716
718
716
717
719
718
719
719
720
721
720
720
719
721
720
721
720
721
719
718
718
715
719
719
718
719
720
719
715
715
718
721
722
720
723
724
719
718
717
717
718
718
715
717
716
717
717
718
717
719
717
717
718
718
719
719
719
720
718
717
715
716
716
716
717
717
714
714
715
715
715
715
715
716
714
714
714
715
714
713
713
713
714
715
715
715
714
714
712
710
708
708
708
709
709
709
707
709
707
706
704
704
704
704
705
703
704
704
702
705
701
700
701
701
703
702
701
702
701
703
702
701
704
702
702
701
701
702
700
700
700
699
700
699
699
700
699
700
700
698
696
696
697
695
697
696
695
698
698
700
697
697
694
694
693
693
696
697
697
697
692
693
696
696
698
697
695
696
696
695
694
693
693
694
693
693
693
694
693
692
693
694
693
694
696
695
692
692
690
692
690
690
688
688
689
689
690
691
693
692
692
692
693
693
696
695
692
691
690
689
690
691
688
689
691
692
692
692
690
689
689
690
689
688
686
686
685
687
686
686
684
685
685
685
684
683
684
684
684
681
684
683
686
686
685
683
684
682
680
680
683
684
684
682
682
682
683
683
681
680
680
681
679
681
680
680
681
681
681
681
679
679
678
677
677
678
677
676
678
677
676
678
674
674
676
678
675
675
675
675
675
674
676
674
673
675
677
678
677
677
673
674
673
672
672
673
674
675
673
675
673
673
673
672
672
671
673
672
671
671
668
669
670
671
672
669
673
676
674
674
670
672
671
671
671
670
670
671
671
670
669
670
671
672
672
671
671
672
673
672
671
672
671
672
669
669
663
665
663
666
668
666
664
660
674
668
663
663
690
693
679
682
676
677
677
676
663
663
664
666
676
676
664
664
673
672
666
669
677
680
693
691
674
676
669
670
659
660
660
660
646
647
660
664
666
665
660
657
657
658
661
662
659
662
663
662
662
664
660
660
659
657
659
661
663
664
663
663
657
657
656
656
655
666
679
675
688
680
659
661
674
677
673
673
674
702
701
667
669
681
682
653
659
672
675
673
676
683
686
685
683
642
642
624
623
629
633
670
671
658
660
671
674
664
664
668
670
672
670
671
672
668
665
660
662
662
664
651
652
653
657
661
659
657
658
653
653
651
655
648
650
649
649
646
642
642
641
641
641
634
638
648
649
652
649
652
658
658
659
657
658
660
660
654
652
662
659
664
661
660
651
647
651
652
656
655
658
660
654
654
654
653
655
654
659
660
659
658
659
659
669
669
666
667
666
664
664
661
659
663
655
658
657
656
649
647
648
644
645
641
644
649
650
650
651
655
647
645
646
646
647
646
648
649
648
645
651
651
645
649
647
645
634
636
657
655
657
652
653
655
659
677
673
668
662
657
636
640
644
647
650
654
668
673
676
682
672
674
671
674
651
650
641
645
644
643
643
638
639
646
643
634
636
640
634
631
635
633
631
629
631
630
625
630
635
631
633
634
631
633
631
632
628
629
632
634
640
636
632
638
628
627
633
628
630
628
634
635
625
623
652
644
659
656
652
651
648
646
642
643
640
640
638
638
639
640
638
636
633
633
637
636
637
639
636
638
640
640
638
639
640
641
639
641
640
641
637
638
638
639
639
639
638
641
636
635
636
637
634
632
633
632
630
633
634
634
637
636
637
637
639
638
635
634
637
636
634
635
634
634
631
633
632
630
633
633
634
634
636
634
633
632
633
633
633
633
635
635
636
637
635
635
634
634
634
634
634
633
632
635
636
635
633
631
632
628
624
625
625
624
626
622
623
622
626
626
619
621
623
620
619
618
615
618
610
613
620
620
619
620
622
620
618
613
611
611
612
613
618
619
613
612
611
611
614
616
616
616
621
624
625
622
617
616
616
615
615
612
611
614
613
607
611
611
620
618
618
618
616
614
614
614
610
608
611
610
610
606
610
612
610
614
608
608
607
603
609
606
605
605
610
616
613
613
614
610
610
608
619
625
627
628
621
619
615
614
613
613
614
615
624
625
621
622
622
621
621
618
618
617
613
613
614
614
616
617
617
618
624
624
624
620
619
622
620
615
620
619
625
626
620
614
622
623
635
635
628
628
641
643
622
626
626
625
625
626
646
644
638
638
640
635
635
629
630
621
619
611
609
608
608
613
614
609
607
607
607
611
610
611
613
620
618
615
615
615
613
616
614
611
612
608
607
610
614
620
621
618
624
625
629
629
632
629
622
623
619
619
625
623
622
621
621
622
623
624
622
619
616
616
617
617
612
614
624
626
625
630
628
625
628
629
633
634
637
638
640
643
642
646
646
647
647
646
646
645
647
648
648
648
647
648
647
650
648
647
645
645
651
650
651
649
652
652
655
655
659
656
652
653
654
654
655
655
654
654
655
654
656
657
657
654
655
657
655
657
660
658
656
657
660
661
658
655
659
658
663
661
665
664
661
659
665
662
666
665
665
664
663
665
670
669
670
670
668
670
668
668
669
670
669
670
669
669
669
671
670
671
671
672
672
672
673
670
673
672
672
672
672
670
669
670
670
670
670
669
673
676
672
670
674
673
673
672
670
672
675
674
672
672
674
673
673
673
673
671
671
671
671
670
671
672
670
667
666
669
669
668
672
668
671
669
669
666
669
668
664
663
662
664
666
667
670
667
667
666
662
664
662
662
663
664
666
665
664
666
665
665
666
666
664
665
664
662
667
666
663
663
664
664
666
667
667
667
666
665
661
664
662
661
661
661
659
658
660
661
663
665
665
666
667
667
667
667
665
664
664
665
666
667
667
665
666
666
663
663
664
665
666
667
667
667
666
666
661
662
662
662
664
665
666
666
663
664
667
668
669
670
669
670
669
670
672
673
672
673
676
675
673
670
672
671
671
671
670
671
670
672
674
674
675
675
675
676
677
675
677
677
675
674
674
674
674
672
675
675
674
674
675
675
673
674
678
680
678
678
677
677
678
677
675
672
676
677
671
671
670
671
673
675
675
674
671
671
671
671
669
669
670
670
670
669
671
670
671
671
669
669
670
670
669
669
669
668
668
669
667
670
669
669
669
669
669
668
667
668
667
665
663
663
664
663
664
664
664
664
667
669
668
667
666
666
667
666
667
665
665
665
662
663
664
664
657
656
657
659
662
661
661
660
659
659
664
665
666
666
667
666
668
669
666
664
663
662
662
662
663
663
665
666
664
661
661
660
662
662
666
667
665
665
663
661
666
668
667
668
667
669
667
666
666
667
665
666
665
665
666
667
665
668
677
673
671
670
669
670
670
667
667
668
668
669
664
666
665
665
669
669
671
668
667
666
664
663
664
666
663
662
665
664
668
668
671
669
670
670
670
670
671
671
672
673
673
673
673
673
674
672
675
675
675
674
672
672
673
673
674
677
679
682
681
679
680
682
674
677
676
675
677
675
674