667
666
666
666
665
665
665
657
657
656
656
656
655
652
649
651
649
649
649
649
649
649
649
649
649
649
649
647
645
643
643
643
644
644
645
645
645
646
646
647
647
647
647
647
647
646
646
646
645
645
645
644
644
644
644
643
643
643
643
643
643
643
643
642
641
640
640
641
642
642
643
643
643
643
643
644
644
645
645
645
646
646
646
647
648
649
650
651
651
652
653
654
654
654
653
652
652
651
650
648
647
647
647
647
647
648
648
648
647
647
646
646
646
646
647
648
649
649
649
649
650
650
650
651
651
652
652
652
652
652
653
654
654
654
654
654
654
655
656
657
657
657
658
658
659
662
664
666
669
669
670
671
673
673
674
675
676
677
678
678
679
681
681
682
683
684
684
685
686
686
687
688
689
689
690
690
691
691
692
692
693
693
694
694
695
695
696
696
696
697
697
697
698
698
698
698
699
699
699
700
700
700
700
700
699
699
698
697
697
696
696
695
695
694
694
693
693
693
694
694
695
696
697
698
700
700
701
701
702
703
703
703
703
704
704
704
704
705
705
705
706
706
706
706
707
707
707
707
707
707
708
708
708
708
708
708
708
709
709
709
709
710
710
710
711
711
712
712
712
712
712
712
712
711
711
711
711
711
710
710
708
703
698
694
690
684
679
678
678
678
679
680
680
677
676
673
671
670
675
679
679
679
678
678
678
678
678
677
674
670
665
659
656
653
655
657
660
662
664
665
666
666
666
666
666
665
664
663
662
662
662
662
660
655
641
640
651
655
657
657
655
652
654
657
659
659
659
659
659
658
655
654
651
651
650
649
646
643
643
643
643
646
654
661
662
663
663
660
655
651
647
643
639
639
639
639
638
637
637
637
637
638
638
638
638
638
638
638
638
637
637
637
636
636
636
636
636
636
636
636
637
637
637
637
637
637
637
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
637
637
637
636
636
636
636
637
637
638
638
638
638
637
637
637
637
637
639
641
643
644
644
644
644
646
648
650
651
651
652
652
655
659
660
663
666
666
670
673
674
674
674
674
674
674
674
674
673
673
673
670
667
663
661
658
657
656
656
656
655
654
654
653
653
653
653
653
653
653
652
651
650
650
650
649
649
649
651
655
658
659
659
659
658
656
654
651
650
649
649
648
648
647
647
646
644
643
643
643
643
643
643
644
644
644
644
645
645
645
646
646
647
647
647
647
648
648
649
649
650
650
651
651
652
652
653
654
654
655
656
656
656
656
656
656
656
656
656
656
656
657
657
657
657
657
657
657
657
657
657
657
655
651
646
645
645
645
645
645
645
645
645
646
646
646
646
647
649
652
655
656
656
655
655
654
652
652
651
651
651
649
646
643
642
642
642
642
643
643
643
643
643
643
643
643
643
644
645
646
646
647
647
647
646
646
646
646
646
646
646
646
646
646
646
646
646
646
646
647
651
655
656
657
659
660
661
663
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
663
663
663
663
662
662
662
662
662
661
661
661
661
660
660
660
660
659
659
659
657
654
652
651
651
651
651
651
650
650
650
650
650
650
650
650
650
650
650
650
650
650
651
651
651
651
651
651
652
652
652
652
652
654
655
655
654
652
652
651
651
651
652
652
653
654
654
655
655
655
655
655
655
655
655
655
654
654
654
654
654
653
653
653
652
652
652
652
652
651
651
651
651
651
651
651
651
650
649
649
649
649
654
661
665
667
669
670
670
669
667
665
663
661
659
660
661
663
663
663
664
669
673
673
671
669
667
665
663
660
658
656
657
659
661
664
668
667
666
664
662
660
660
661
661
662
662
661
661
660
660
660
660
662
664
667
668
668
668
668
666
665
665
665
665
665
665
666
666
666
667
667
667
668
668
668
668
668
664
662
660
660
660
660
660
660
660
660
660
660
659
659
658
658
657
657
654
654
653
653
651
651
650
650
650
651
653
654
654
655
655
655
655
655
656
656
656
657
657
657
657
657
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
657
657
657
657
657
657
657
657
657
657
657
657
657
656
656
656
656
656
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
656
656
656
656
656
656
656
657
657
657
657
657
656
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
656
657
657
657
657
657
657
657
656
656
655
654
654
654
654
653
653
652
651
651
651
650
650
650
650
650
650
650
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
652
652
652
652
652
652
652
651
651
651
651
651
651
651
651
651
651
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
651
651
651
651
651
652
652
652
652
652
652
652
652
652
652
652
652
652
653
654
655
655
656
657
657
657
657
658
659
659
659
660
660
660
660
661
661
662
662
663
663
664
665
665
665
666
667
667
668
668
668
669
669
669
670
670
671
671
671
672
672
672
672
671
671
670
669
668
667
666
665
665
664
663
660
658
656
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
653
652
652
652
652
652
652
652
652
652
652
652
653
653
653
653
653
653
653
653
653
653
653
654
656
657
658
659
660
660
661
662
662
663
663
663
664
664
664
664
665
665
665
666
666
666
666
667
667
667
667
667
667
666
666
666
666
665
665
665
664
664
664
664
663
663
662
662
661
661
661
661
661
662
662
663
663
663
663
663
663
662
662
662
661
661
661
663
663
663
664
664
664
665
665
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
667
667
667
667
667
667
668
668
669
670
671
671
672
673
673
674
675
676
676
677
678
678
678
678
678
678
678
677
677
677
677
677
677
676
676
676
676
676
676
676
677
677
678
679
680
681
681
682
683
683
684
685
686
687
688
689
690
693
694
695
696
697
698
699
700
701
702
702
702
702
702
702
702
702
702
702
702
702
701
701
701
701
701
701
701
701
700
700
700
700
700
700
700
700
700
701
701
702
703
703
704
704
705
705
706
707
707
708
709
710
711
711
713
714
715
716
717
718
718
720
721
722
723
724
724
724
725
725
726
726
726
727
727
727
728
728
729
729
729
729
729
728
728
727
727
726
726
725
724
724
723
722
722
722
722
722
722
722
723
723
723
723
723
724
724
724
724
724
725
725
725
726
726
727
727
728
728
729
729
730
730
730
730
729
728
727
726
725
724
724
723
723
721
721
721
721
721
721
721
722
722
722
722
722
722
723
723
723
723
723
723
723
723
723
722
722
722
722
721
721
721
721
720
719
718
717
716
716
715
714
713
712
711
711
710
709
709
710
712
712
713
714
716
717
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
736
737
737
738
738
738
738
738
738
738
738
738
738
738
738
738
738
738
738
739
739
740
741
742
742
748
746
741
739
739
739
739
739
739
738
736
733
732
731
728
726
725
724
723
722
721
717
712
706
703
701
704
707
704
700
696
692
688
687
687
686
686
685
685
684
683
681
680
678
677
676
675
673
672
671
671
671
671
671
670
670
669
669
669
666
664
662
661
659
659
659
659
660
660
660
660
659
658
658
658
657
656
656
657
658
660
660
660
659
656
653
651
652
653
653
653
654
654
655
655
656
656
656
654
652
650
650
650
650
651
651
651
651
651
652
653
653
654
655
655
655
655
655
655
655
655
655
655
655
654
653
652
652
651
651
653
655
657
659
660
661
662
663
664
665
665
665
666
666
666
666