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
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
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
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
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
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
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
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
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
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
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
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
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
1
1
1
1
1
1
1
1
0
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
615
616
617
617
616
615
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
614
615
616
617
617
616
615
614
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
613
614
615
616
617
617
616
615
614
613
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
612
613
614
615
616
617
617
616
615
614
613
612
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
609
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
609
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
718
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
608
609
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
609
608
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
718
717
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
607
608
609
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
609
608
607
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
718
717
716
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
606
607
608
609
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
609
608
607
606
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
718
717
716
715
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
605
606
607
608
609
610
611
612
613
614
615
616
617
617
616
615
614
613
612
611
610
609
608
607
606
605
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
747
746
745
744
743
742
741
740
739
738
737
736
735
734
733
732
731
730
729
728
727
726
725
724
723
722
721
720
719
718
717
716
715
714
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
604
1
1
1
608
609
610
611
612
1
1
1
616
617
617
616
615
1
1
1
611
610
609
608
607
1
1
1
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
604
1
1
1
608
609
610
611
612
1
1
1
616
617
618
619
620
1
1
1
624
625
626
627
628
1
1
1
632
633
634
635
636
1
1
1
640
641
642
643
644
1
1
1
648
649
650
651
652
653
654
655
656
657
658
659
660
1
1
1
664
665
666
667
668
1
1
1
672
673
674
675
676
677
678
679
680
681
682
683
684
1
1
1
688
689
690
691
692
1
1
1
696
697
698
699
700
1
1
1
704
705
706
707
708
1
1
1
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
1
1
1
736
737
738
739
740
1
1
1
744
745
746
747
748
1
1
1
744
743
742
741
740
1
1
1
736
735
734
733
732
1
1
1
728
727
726
725
724
1
1
1
720
719
718
717
716
1
1
1
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
1
1
1
1
1
609
609
610
1
1
1
1
1
617
617
617
1
1
1
1
1
611
610
609
1
1
1
1
1
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
1
1
1
1
1
609
609
610
1
1
1
1
1
617
617
618
1
1
1
1
1
625
625
626
1
1
1
1
1
633
633
634
1
1
1
1
1
641
641
642
1
1
1
1
1
649
649
650
651
652
653
654
655
656
657
658
1
1
1
1
1
665
665
666
1
1
1
1
1
673
673
674
675
676
677
678
679
680
681
682
1
1
1
1
1
689
689
690
1
1
1
1
1
697
697
698
1
1
1
1
1
705
705
706
1
1
1
1
1
713
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
1
1
1
1
1
737
737
738
1
1
1
1
1
745
745
746
1
1
1
1
1
744
743
742
1
1
1
1
1
736
735
734
1
1
1
1
1
728
727
726
1
1
1
1
1
720
719
718
1
1
1
1
1
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
1
1
1
1
1
1
610
610
1
1
1
1
1
1
618
618
1
1
1
1
1
1
610
610
1
1
1
1
1
1
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
1
1
1
1
1
1
610
610
1
1
1
1
1
1
618
618
1
1
1
1
1
1
626
626
1
1
1
1
1
1
634
634
1
1
1
1
1
1
642
642
1
1
1
1
1
1
650
650
651
652
653
654
655
656
657
658
1
1
1
1
1
1
666
666
1
1
1
1
1
1
674
674
675
676
677
678
679
680
681
682
1
1
1
1
1
1
690
690
1
1
1
1
1
1
698
698
1
1
1
1
1
1
706
706
1
1
1
1
1
1
714
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
1
1
1
1
1
1
738
738
1
1
1
1
1
1
746
746
1
1
1
1
1
1
743
743
1
1
1
1
1
1
735
735
1
1
1
1
1
1
727
727
1
1
1
1
1
1
719
719
1
1
1
1
1
1
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
601
1
1
1
1
1
1
611
611
1
1
1
1
1
1
619
619
1
1
1
1
1
1
611
611
1
1
1
1
1
1
601
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
1
1
1
1
1
1
611
611
1
1
1
1
1
1
619
619
1
1
1
1
1
1
627
627
1
1
1
1
1
1
635
635
1
1
1
1
1
1
643
643
1
1
1
1
1
1
651
651
651
652
653
654
655
656
657
658
1
1
1
1
1
1
667
667
1
1
1
1
1
1
675
675
675
676
677
678
679
680
681
682
1
1
1
1
1
1
691
691
1
1
1
1
1
1
699
699
1
1
1
1
1
1
707
707
1
1
1
1
1
1
715
715
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
1
1
1
1
1
1
739
739
1
1
1
1
1
1
747
747
1
1
1
1
1
1
744
744
1
1
1
1
1
1
736
736
1
1
1
1
1
1
728
728
1
1
1
1
1
1
720
720
1
1
1
1
1
1
710
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
620
620
1
1
1
1
1
1
612
612
1
1
1
1
1
1
1
1
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
1
1
1
1
1
1
1
612
612
1
1
1
1
1
1
620
620
1
1
1
1
1
1
628
628
1
1
1
1
1
1
636
636
1
1
1
1
1
1
644
644
1
1
1
1
1
1
1
1
652
652
653
654
655
656
1
1
1
1
1
1
1
1
668
668
1
1
1
1
1
1
1
1
676
676
677
678
679
680
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
700
700
1
1
1
1
1
1
708
708
1
1
1
1
1
1
716
716
716
716
717
718
719
720
721
722
723
724
725
726
727
728
1
1
1
1
1
1
1
1
740
740
1
1
1
1
1
1
748
748
1
1
1
1
1
1
745
745
1
1
1
1
1
1
737
737
1
1
1
1
1
1
729
729
1
1
1
1
1
1
721
721
1
1
1
1
1
1
1
1
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
599
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
653
653
653
654
655
656
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
677
677
677
678
679
680
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
717
717
717
717
718
719
720
721
722
723
724
725
726
727
728
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
599
598
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
654
654
654
654
655
656
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
678
678
678
678
679
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
718
718
718
718
718
719
720
721
722
723
724
725
726
727
728
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
599
598
597
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
655
655
655
655
655
656
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
679
679
679
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
719
719
719
719
719
720
721
722
723
724
725
726
727
728
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
598
597
596
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
656
656
656
656
656
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
680
680
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
720
720
720
720
720
720
1
1
1
724
725
726
727
728
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
598
597
596
595
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
657
657
657
657
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
681
681
681
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
721
721
721
1
1
1
1
1
725
725
726
727
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
598
597
596
595
594
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
1
1
1
1
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
593
1
1
1
1
1
1
1
1
1
658
658
658
658
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
682
682
682
1
1
1
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
593
1
1
1
1
1
593
593
1
1
722
722
722
1
1
1
1
1
1
726
726
727
1
1
1
1
1
1
1
1
1
593
593
1
1
1
1
1
595
595
596
1
1
1
1
1
603
603
604
1
1
1
1
1
611
611
612
1
1
1
1
1
619
619
620
1
1
1
1
1
627
627
628
1
1
1
1
1
1
1
1
1
703
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
597
596
595
594
593
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
1
1
1
1
1
1
1
1
1
592
592
592
1
1
1
1
1
592
592
592
1
1
1
1
1
592
592
592
1
1
1
1
1
592
592
592
1
1
1
1
1
592
592
592
1
1
1
1
1
1
1
1
1
1
659
659
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
683
683
1
1
1
1
1
1
1
1
1
592
592
592
1
1
1
1
1
592
592
592
1
1
1
1
1
592
592
592
1
1
1
1
592
592
592
1
1
1
723
723
1
1
1
1
1
1
727
727
1
1
1
1
1
1
1
1
1
1
592
592
1
1
1
1
1
594
595
596
1
1
1
1
1
602
603
604
1
1
1
1
1
610
611
612
1
1
1
1
1
618
619
620
1
1
1
1
1
626
627
628
1
1
1
1
633
634
635
1
1
1
702
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
596
595
594
593
592
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
1
1
1
1
1
1
1
1
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
1
1
660
660
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
1
1
724
724
1
1
1
1
1
1
728
728
1
1
1
1
1
1
1
1
591
591
591
591
591
591
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
595
594
593
592
591
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
1
1
1
1
1
1
1
1
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
1
1
1
661
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
590
590
590
590
590
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
595
594
593
592
591
590
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
1
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
589
589
589
589
589
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
699
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
594
593
592
591
590
589
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
1
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
588
588
588
588
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
594
593
592
591
590
589
588
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
1
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
587
587
587
587
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
593
592
591
590
589
588
587
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
1
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
586
586
586
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
1
1
1
1
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
593
592
591
590
589
588
587
586
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
1
1
1
1
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
585
585
585
1
1
1
1
1
585
585
585
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
1
1
1
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
593
592
591
590
589
588
587
586
585
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
1
1
1
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
584
584
584
1
1
1
1
584
584
584
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
1
1
1
694
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
593
592
591
590
589
588
587
586
585
584
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
1
1
1
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
1
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
1
1
1
1
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
594
593
592
591
590
589
588
587
586
585
584
583
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
1
1
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
1
1
1
1
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
594
593
592
591
590
589
588
587
586
585
584
583
582
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
1
1
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
1
1
1
691
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
594
593
1
591
590
589
588
587
586
585
584
583
582
581
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
1
1
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
1
1
1
1
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
590
589
588
587
586
1
1
1
582
581
580
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
1
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
1
1
1
1
1
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
590
589
588
1
1
1
1
1
582
581
580
579
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
1
1
1
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
1
1
1
1
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
578
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
589
589
1
1
1
1
1
1
581
580
579
578
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
1
1
1
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
577
578
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
590
590
1
1
1
1
1
1
581
580
1
1
577
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
1
1
1
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
576
577
578
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
591
591
1
1
1
1
1
1
581
581
1
1
1
576
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
575
576
577
578
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
575
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
574
575
576
577
578
579
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
573
574
575
576
577
578
579
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
1
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
572
573
574
575
576
577
578
579
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
572
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
1
1
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
571
572
573
574
575
576
577
578
579
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
571
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
1
1
1
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
570
571
572
573
574
575
576
577
578
579
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
569
569
569
1
1
1
1
1
569
569
569
1
1
1
1
1
1
1
1
570
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
1
1
1
1
1
1
1
569
569
569
1
1
1
1
1
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1
1
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
569
570
571
572
573
574
575
576
577
578
579
580
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
568
568
568
1
1
1
1
1
568
568
568
1
1
1
1
1
1
1
1
1
1
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
1
1
1
1
1
1
568
568
568
1
1
1
1
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1
1
1
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
1
1
1
1
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
1
1
1
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
1
1
1
1
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
1
1
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
1
1
1
1
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
1
1
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
1
1
1
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
1
1
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
1
1
1
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
1
1
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
1
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
1
1
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
1
1
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
1
1
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
1
1
1
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
1
1
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
1
1
1
663
663
663
663
663
663
663
663
663
663
663
663
663
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1
1
662
662
662
662
662
662
662
662
662
662
662
662
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1
1
1
661
661
661
661
661
661
661
661
661
661
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
1
1
1
1
1
1
558
559
560
1
1
1
1
1
566
567
568
1
1
1
1
1
574
575
576
1
1
1
1
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1
1
1
660
660
660
660
660
660
660
660
660
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
1
1
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
1
1
1
1
1
1
1
559
559
560
1
1
1
1
1
567
567
568
1
1
1
1
1
575
575
576
1
1
1
1
1
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1
1
1
659
659
659
659
659
659
659
659
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
1
1
568
568
569
570
571
572
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
1
1
1
1
635
636
637
638
639
640
641
642
643
644
645
646
1
1
1
1
658
658
658
658
658
658
658
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
1
1
551
552
553
554
555
556
557
558
559
560
561
562
563
1
1
1
569
569
569
570
571
572
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
584
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
1
1
1
1
636
636
637
638
639
640
641
642
643
644
645
1
1
1
1
1
657
657
657
657
657
657
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
1
1
1
1
553
554
555
556
557
558
559
560
561
562
1
1
1
1
1
1
570
570
571
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
548
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
585
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
1
1
1
1
1
638
639
640
641
642
643
644
645
1
1
1
1
656
656
656
656
656
656
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
1
1
1
1
1
554
554
555
556
557
558
559
560
561
562
1
1
1
1
1
1
571
571
571
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
547
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
586
586
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
1
1
1
1
1
639
639
640
641
642
643
644
1
1
1
655
655
655
655
655
655
655
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
1
1
1
1
1
1
555
555
555
556
557
558
559
560
561
562
1
1
1
1
1
1
572
572
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
547
546
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
587
587
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
640
640
640
641
642
643
644
1
1
1
1
654
654
654
654
654
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
545
1
1
1
1
1
1
556
556
556
556
557
558
559
560
561
562
1
1
1
1
1
1
573
573
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
546
545
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
588
588
588
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
641
641
641
642
643
644
1
1
1
1
653
653
653
653
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
1
1
1
1
1
1
1
1
1
1
557
557
557
558
559
560
561
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
589
589
589
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
1
1
1
1
1
652
652
652
652
652
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
1
1
1
1
1
1
1
1
1
1
558
558
558
558
559
560
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
590
590
590
590
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
1
1
1
1
1
1
1
1
1
1
1
651
651
651
651
651
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
1
1
1
1
1
1
1
1
1
1
559
559
559
559
559
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
591
591
591
591
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
1
1
1
1
1
1
1
1
1
1
650
650
650
650
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
1
1
1
1
1
1
1
1
1
1
1
560
560
560
560
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
592
592
592
592
592
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
1
1
1
1
649
649
649
649
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
1
1
1
1
1
1
1
1
1
1
1
1
561
561
561
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
593
593
593
593
593
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
1
1
1
1
648
648
648
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
1
1
1
1
1
1
1
1
1
1
1
1
1
562
562
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
594
594
594
594
594
594
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
1
1
1
1
647
647
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
1
1
1
1
1
1
1
1
1
1
1
1
1
563
563
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
1
1
1
1
1
1
1
546
546
547
1
1
1
1
1
554
554
555
1
1
1
1
1
561
562
1
1
1
1
1
1
1
1
1
1
1
1
1
595
595
595
595
595
595
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
646
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
1
1
1
1
1
1
1
1
1
536
536
1
1
1
564
564
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
537
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
537
538
1
1
1
1
1
1
545
546
547
1
1
1
1
1
553
554
555
1
1
1
1
560
561
562
1
1
1
1
1
1
1
1
1
1
1
1
1
596
596
596
596
596
596
596
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
1
1
1
1
1
1
1
1
535
535
535
535
1
1
565
565
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
1
1
0
0
1
1
1
1
1
1
1
1
597
597
597
597
597
597
597
597
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
1
1
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
644
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
1
1
1
1
1
1
1
1
534
534
534
534
1
1
1
566
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
535
1
1
538
539
540
541
542
543
1
1
546
547
548
549
1
1
1
1
554
555
556
557
1
1
1
1
562
563
1
1
1
0
1
1
1
1
1
1
1
1
1
598
598
598
598
598
598
598
598
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
1
1
628
629
630
631
632
633
634
635
636
637
638
1
1
1
643
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
1
1
1
1
1
1
1
1
1
533
533
533
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
1
1
1
1
1
539
540
541
1
1
1
1
1
547
548
1
1
1
1
1
1
555
556
1
1
1
1
1
1
563
1
1
1
1
1
1
1
1
1
1
1
1
1
599
599
599
599
599
599
599
599
599
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
1
1
629
629
630
631
632
633
634
635
636
637
638
639
1
1
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
1
1
1
1
1
1
1
1
1
1
532
532
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
1
1
1
1
1
540
540
541
1
1
1
1
1
548
548
1
1
1
1
1
1
556
556
1
1
1
1
1
1
564
1
1
1
1
1
1
1
1
1
1
1
1
1
1
600
600
600
600
600
600
600
600
600
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
1
1
1
630
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
1
1
1
1
1
1
1
1
1
1
531
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
1
1
1
1
1
1
541
541
1
1
1
1
1
1
549
549
1
1
1
1
1
1
557
557
1
1
1
1
1
1
565
1
1
1
1
1
1
1
1
1
1
1
1
1
1
601
601
601
601
601
601
601
601
601
601
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
1
1
631
631
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
1
1
1
1
1
1
1
1
1
1
530
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
531
1
1
1
1
1
1
542
542
1
1
1
1
1
1
550
550
1
1
1
1
1
1
558
558
1
1
1
1
1
1
566
566
1
1
1
1
1
1
1
1
1
1
1
1
1
1
602
602
602
602
602
602
602
602
602
602
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
1
1
632
632
632
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
1
1
1
1
1
1
1
1
1
529
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
530
1
1
1
1
1
1
1
543
1
1
1
1
1
1
1
551
1
1
1
1
1
1
1
559
1
1
1
1
1
1
1
567
567
1
1
1
1
1
1
1
1
1
1
1
1
1
1
603
603
603
603
603
603
603
603
603
603
603
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
1
633
633
633
633
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
1
1
1
1
1
1
1
1
528
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
529
530
1
1
1
1
1
1
1
544
1
1
1
1
1
1
1
552
1
1
1
1
1
1
1
560
1
1
1
1
1
1
1
568
568
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
604
604
604
604
604
604
604
604
604
604
604
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
1
1
1
634
634
634
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
528
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
1
1
1
1
1
1
1
527
527
527
527
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
569
570
571
1
1
1
1
1
1
1
1
1
1
1
1
1
605
605
605
605
605
605
605
605
605
605
605
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
1
1
635
635
635
635
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
528
527
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
1
1
1
1
1
1
526
526
526
526
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
570
570
571
1
1
1
1
1
1
1
1
1
1
1
1
1
1
606
606
606
606
606
606
606
606
606
606
606
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
1
1
636
636
636
636
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
528
527
526
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
1
1
1
1
1
525
525
525
525
525
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
571
571
1
1
1
0
1
1
1
1
1
1
1
1
1
1
607
607
607
607
607
607
607
607
607
607
607
607
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
1
1
637
637
637
637
637
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
1
1
1
1
524
524
524
524
524
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
572
572
572
1
1
1
1
1
1
1
1
1
1
1
1
1
1
608
608
608
608
608
608
608
608
608
608
608
608
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
1
1
1
638
638
638
638
638
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
0
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
1
1
1
523
523
523
523
523
523
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
573
573
573
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
609
609
609
609
609
609
609
609
609
609
609
609
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
1
1
639
639
639
639
639
639
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
1
1
1
522
522
522
522
522
522
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
574
574
574
574
1
1
1
1
1
1
1
1
1
1
1
1
1
1
610
610
610
610
610
610
610
610
610
610
610
610
610
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
1
1
640
640
640
640
640
640
640
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
575
575
575
575
575
1
1
1
1
1
1
1
1
1
1
1
1
1
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
1
641
641
641
641
641
641
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
1
1
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
576
576
576
576
576
1
1
1
1
1
1
1
1
1
1
1
1
1
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
1
642
642
642
642
642
642
642
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
1
1
1
1
1
1
1
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
577
577
1
1
1
0
1
1
1
1
1
1
1
1
1
613
613
613
1
1
1
1
1
613
613
613
1
1
1
1
1
614
615
616
1
1
1
1
1
622
623
624
1
1
1
1
629
630
631
1
1
1
643
643
643
643
643
643
643
643
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
1
1
1
1
1
1
0
1
1
1
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
578
578
578
1
1
1
1
1
1
1
1
1
1
1
1
614
614
614
1
1
1
1
1
614
614
614
1
1
1
1
1
615
615
616
1
1
1
1
1
623
623
624
1
1
1
1
1
630
631
1
1
1
644
644
644
644
644
644
644
644
644
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
1
1
1
1
1
1
0
1
1
1
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
579
579
579
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
645
645
645
645
645
645
645
645
645
645
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
1
1
1
1
1
1
1
0
535
1
1
1
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
580
580
580
580
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
646
646
646
646
646
646
646
646
646
646
646
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
1
1
1
1
1
1
1
1
0
534
1
1
1
534
533
532
531
530
1
1
1
526
525
524
523
522
1
1
1
518
517
516
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
581
581
581
581
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
647
647
647
647
647
647
647
647
647
647
647
647
647
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
1
1
1
710
711
712
713
714
1
1
1
718
719
720
721
722
1
1
1
726
727
728
729
730
1
1
1
734
735
736
737
738
1
1
1
742
743
744
745
746
1
1
1
750
751
752
753
754
1
1
1
758
759
760
1
1
1
1
1
1
1
1
0
533
533
1
1
1
533
532
1
1
1
1
1
526
525
524
1
1
1
1
1
518
517
516
515
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
582
582
582
582
582
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
1
1
1
1
1
711
711
712
1
1
1
1
1
719
719
720
1
1
1
1
1
727
727
728
1
1
1
1
1
735
735
736
1
1
1
1
1
743
743
744
1
1
1
1
1
751
751
752
1
1
1
1
1
759
759
760
761
1
1
1
1
1
1
1
0
532
532
1
1
1
533
533
1
1
1
1
1
1
525
525
1
1
1
1
1
1
517
516
515
514
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
583
583
583
583
583
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
649
649
649
649
649
649
649
649
649
649
649
649
649
649
649
649
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
1
1
1
1
1
1
712
712
1
1
1
1
1
1
720
720
1
1
1
1
1
1
728
728
1
1
1
1
1
1
736
736
1
1
1
1
1
1
744
744
1
1
1
1
1
1
752
752
1
1
1
1
1
1
760
760
761
1
1
1
1
1
1
1
0
532
531
1
1
1
534
534
1
1
1
1
1
1
526
526
1
1
1
1
1
1
517
516
1
1
513
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
584
584
584
584
584
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
1
1
1
1
1
1
713
713
1
1
1
1
1
1
721
721
1
1
1
1
1
1
729
729
1
1
1
1
1
1
737
737
1
1
1
1
1
1
745
745
1
1
1
1
1
1
753
753
1
1
1
1
1
1
761
761
1
1
1
1
1
1
1
1
1
1
1
530
1
1
535
535
1
1
1
1
1
1
527
527
1
1
1
1
1
1
1
1
1
1
1
512
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
585
585
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
652
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
1
1
1
1
1
1
1
1
714
714
1
1
1
1
1
1
1
1
1
1
1
1
1
1
730
730
1
1
1
1
1
1
738
738
1
1
1
1
1
1
746
746
1
1
1
1
1
1
754
754
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
529
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
511
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
586
586
586
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
528
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
509
1
1
1
1
1
1
1
1
1
1
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
587
587
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
527
527
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
508
508
1
1
1
1
1
1
1
1
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
588
588
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
526
526
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
508
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
507
507
507
1
1
1
1
1
1
1
1
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
589
589
589
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
655
655
655
655
655
1
1
1
655
655
655
655
655
1
1
1
655
655
655
655
655
1
1
1
658
659
660
661
662
1
1
1
666
667
668
669
670
1
1
1
674
675
676
677
678
1
1
1
682
683
684
685
686
1
1
1
690
691
692
693
694
1
1
1
698
699
700
701
702
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
526
525
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
507
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
506
506
506
1
1
1
1
1
1
1
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
590
590
590
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
656
656
656
1
1
1
1
1
656
656
656
1
1
1
1
1
656
656
656
1
1
1
1
1
659
659
660
1
1
1
1
1
667
667
668
1
1
1
1
1
675
675
676
1
1
1
1
1
683
683
684
1
1
1
1
1
691
691
692
1
1
1
1
1
699
699
700
701
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
526
525
524
1
1
1
1
1
1
1
516
515
515
1
1
1
1
1
508
507
507
1
1
1
1
1
1
1
1
506
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
1
1
1
1
1
505
505
505
1
1
1
1
1
505
505
505
1
1
1
1
1
505
505
505
1
1
1
1
1
505
505
505
1
1
1
1
1
505
505
505
505
505
1
1
1
1
1
1
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
591
591
591
591
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
657
657
1
1
1
1
1
1
657
657
1
1
1
1
1
1
657
657
1
1
1
1
1
1
660
660
1
1
1
1
1
1
668
668
1
1
1
1
1
1
676
676
1
1
1
1
1
1
684
684
1
1
1
1
1
1
692
692
1
1
1
1
1
1
700
700
701
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
526
525
524
523
1
1
1
1
1
1
516
515
514
1
1
1
1
1
508
507
506
1
1
1
1
1
1
1
1
1
1
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
1
1
1
1
1
504
504
504
1
1
1
1
1
504
504
504
1
1
1
1
1
504
504
504
1
1
1
1
1
504
504
504
1
1
1
1
504
504
504
504
504
504
504
1
1
1
1
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
592
592
592
592
592
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
658
658
1
1
1
1
1
1
658
658
1
1
1
1
1
1
658
658
1
1
1
1
1
1
661
661
1
1
1
1
1
1
669
669
1
1
1
1
1
1
677
677
1
1
1
1
1
1
685
685
1
1
1
1
1
1
693
693
1
1
1
1
1
1
701
701
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
503
503
503
1
1
1
1
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
1
1
1
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
1
1
1
1
1
1
1
503
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
593
593
593
593
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
659
659
1
1
1
1
1
1
1
1
1
1
1
1
1
1
670
670
1
1
1
1
1
1
678
678
1
1
1
1
1
1
1
1
1
1
1
1
1
1
694
694
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
528
527
526
1
1
523
522
521
520
519
518
1
1
515
514
513
512
511
510
1
1
507
506
505
504
503
502
502
502
502
1
1
1
1
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
1
1
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
1
1
1
1
1
1
502
502
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
594
594
594
594
594
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
528
1
1
1
1
1
522
521
520
1
1
1
1
1
514
513
512
1
1
1
1
1
506
505
504
1
1
501
501
501
501
1
1
1
1
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
1
1
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
1
1
1
1
1
501
501
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
595
595
595
595
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
529
1
1
1
1
1
522
521
521
1
1
1
1
1
514
513
513
1
1
1
1
1
506
505
505
1
1
501
500
500
500
500
1
1
1
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
1
1
1
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
1
1
1
1
501
500
500
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
596
596
596
596
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
522
522
1
1
1
1
1
1
514
514
1
1
1
1
1
1
506
506
1
1
1
1
500
499
499
499
1
1
1
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
1
1
1
1
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
1
1
1
1
1
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
597
597
597
597
597
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
523
523
1
1
1
1
1
1
515
515
1
1
1
1
1
1
507
507
1
1
1
1
1
499
498
498
498
1
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
1
1
1
1
1
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
1
1
1
1
1
498
498
498
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
598
598
598
598
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
524
1
1
1
1
1
1
1
516
1
1
1
1
1
1
1
508
1
1
1
1
1
1
499
498
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
1
1
1
1
1
1
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
1
1
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
1
1
1
497
497
497
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
599
599
599
599
599
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
525
1
1
1
1
1
1
1
517
1
1
1
1
1
1
1
509
1
1
1
1
1
1
1
498
497
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
1
1
1
1
1
1
1
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
1
1
1
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
1
1
1
496
496
497
498
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
600
600
600
600
600
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
512
512
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
1
1
1
1
1
1
1
1
1
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
1
1
1
1
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
496
497
498
499
1
1
1
1
1
1
1
509
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
601
601
1
1
1
601
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
511
511
1
1
1
1
1
1
511
511
1
1
1
1
1
1
511
511
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
1
1
1
1
1
1
1
1
1
1
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
1
1
1
1
1
1
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
1
1
497
498
499
1
1
1
1
1
1
508
508
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
602
602
1
1
1
602
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
510
510
1
1
1
1
1
510
510
510
1
1
1
1
1
1
510
510
510
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
1
1
1
1
1
1
1
1
1
1
1
1
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
1
1
1
1
1
1
1
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
1
1
1
1
498
499
500
1
1
1
1
1
507
507
508
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
603
603
1
1
1
603
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
509
509
509
1
1
1
1
1
509
509
509
1
1
1
1
1
1
509
509
509
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
1
1
1
1
1
1
1
1
1
1
1
1
1
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
1
1
1
1
1
1
1
1
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
1
1
1
1
499
499
500
1
1
1
1
506
506
507
508
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
604
604
1
1
1
604
604
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
508
508
508
508
508
1
1
508
508
508
508
1
1
1
1
1
1
508
508
508
508
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
1
1
1
1
1
1
1
1
1
1
1
1
1
1
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
1
1
1
1
1
1
1
1
1
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
1
1
1
1
500
501
1
1
1
505
506
507
508
509
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
605
605
1
1
1
605
605
605
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
507
507
507
507
507
507
507
507
507
507
507
507
1
1
1
1
507
507
507
507
507
507
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
491
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
1
1
1
1
1
1
1
1
1
1
1
1
1
1
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
1
1
1
1
1
1
1
1
1
1
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
1
1
1
1
501
501
1
1
504
505
506
507
508
509
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
606
606
1
1
1
606
606
606
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
1
1
1
506
506
506
506
506
506
506
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
491
490
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
490
1
1
1
1
1
1
1
1
1
1
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
1
1
1
502
502
502
503
504
505
506
507
508
509
510
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
607
607
607
1
1
1
607
607
607
607
608
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
1
1
1
505
505
505
505
505
505
505
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
491
490
489
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
489
490
1
1
1
1
1
1
1
1
1
1
1
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
1
1
1
503
503
503
503
504
505
506
507
508
509
510
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
608
608
608
1
1
1
608
608
608
608
608
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
1
1
1
1
1
1
1
1
1
1
1
1
1
1
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
1
1
1
1
1
1
1
1
505
506
507
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
611
610
609
609
609
1
1
1
1
1
1
609
609
609
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
1
1
1
1
1
1
1
506
506
507
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
611
610
610
610
1
1
1
1
1
1
1
610
610
610
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
611
611
611
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
612
612
612
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
613
613
613
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
614
614
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
615
615
615
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
481
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
616
616
616
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
480
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
1
1
1
1
1
479
479
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
617
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
479
480
479
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
1
1
1
478
478
478
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
618
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
478
479
480
479
478
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
1
1
477
477
477
477
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
619
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
477
478
479
480
479
478
477
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
620
620
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
476
477
478
479
480
479
478
477
476
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
621
621
621
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
1
1
1
1
1
1
1
1
1
1
1
1
1
1
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
475
476
477
478
479
480
479
478
477
476
475
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
622
622
622
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
1
1
1
1
1
1
1
1
1
1
1
1
1
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
623
623
623
623
624
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
1
1
1
1
1
1
1
1
1
1
1
1
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
624
624
624
624
624
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
1
1
1
1
1
1
1
1
1
1
1
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
625
625
625
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
1
1
1
1
1
1
1
1
1
1
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
626
626
626
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
1
1
1
1
1
1
1
1
1
1
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
1
1
1
1
1
1
1
1
1
1
1
1
1
1
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
1
1
1
1
1
1
1
1
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
1
1
1
1
1
1
1
1
1
1
1
1
1
1
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
1
1
1
1
1
1
1
1
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
468
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
1
1
1
1
1
1
1
1
1
1
1
1
1
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
1
1
1
1
1
1
1
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
1
1
1
1
1
1
1
1
1
1
1
1
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
1
1
1
1
1
1
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
1
1
1
1
1
1
1
1
1
1
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
1
1
1
1
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
1
1
1
1
1
1
1
1
1
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
464
464
1
1
1
1
1
1
464
464
1
1
1
1
1
1
464
464
1
1
1
1
1
1
464
464
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
1
1
1
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
468
1
1
465
464
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
1
1
1
1
1
1
1
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
1
1
1
1
1
1
463
463
1
1
1
1
1
1
463
463
1
1
1
1
1
1
463
463
1
1
1
1
1
1
463
463
1
1
1
1
1
1
463
463
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
463
463
463
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
1
1
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
479
478
477
476
475
474
473
472
471
470
469
469
1
1
1
1
1
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
1
1
1
1
1
1
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
1
1
1
1
1
1
462
462
1
1
1
1
1
1
462
462
1
1
1
1
1
1
462
462
1
1
1
1
1
1
462
462
1
1
1
1
1
1
462
462
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
462
462
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
1
1
464
465
466
467
468
469
1
1
472
473
474
475
476
477
1
1
480
479
478
477
476
475
1
1
1
471
470
470
470
1
1
1
1
1
1
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
1
1
1
1
1
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
1
1
1
1
1
461
461
461
1
1
1
1
1
461
461
461
1
1
1
1
1
461
461
461
1
1
1
1
1
461
461
461
1
1
1
1
1
461
461
461
461
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
461
461
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
1
1
1
465
466
467
468
469
1
1
1
473
474
475
476
477
1
1
1
479
478
477
476
476
1
1
1
471
471
471
1
1
1
1
1
1
1
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
1
1
1
1
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
1
1
1
460
460
460
460
460
1
1
1
460
460
460
460
460
1
1
1
460
460
460
460
460
1
1
1
460
460
460
460
460
1
1
1
460
460
460
460
460
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
460
460
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
1
1
1
1
466
466
467
468
1
1
1
1
1
474
475
476
1
1
1
1
1
478
477
477
1
1
1
1
1
472
472
1
1
1
1
1
1
1
460
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
1
1
1
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
459
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
1
1
1
1
1
467
467
468
1
1
1
1
1
475
475
476
1
1
1
1
1
478
478
478
1
1
1
1
1
1
473
1
1
1
1
1
1
1
460
459
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
1
1
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
458
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
1
1
1
1
1
1
468
468
1
1
1
1
1
1
476
476
1
1
1
1
1
1
479
479
1
1
1
1
1
1
1
474
1
1
1
1
1
1
1
460
1
1
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
457
457
1
1
1
1
1
1
1
457
457
457
1
1
1
1
1
457
457
457
1
1
1
1
1
457
457
457
1
1
1
1
1
457
457
457
1
1
1
1
1
458
458
459
1
1
1
1
1
465
466
1
1
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
1
1
1
1
1
1
1
469
1
1
1
1
1
1
1
477
1
1
1
1
1
1
1
480
1
1
1
1
1
1
1
475
1
1
1
1
1
1
1
461
1
1
1
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
456
456
456
1
1
1
1
1
1
456
456
456
1
1
1
1
1
456
456
456
1
1
1
1
1
456
456
456
1
1
1
1
1
456
456
456
1
1
1
1
1
457
458
459
1
1
1
1
464
465
466
1
1
1
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
471
471
471
471
471
471
471
471
471
471
471
471
471
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
470
470
470
470
470
470
470
470
470
470
470
470
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
453
453
1
1
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
469
469
469
469
469
469
469
469
469
469
469
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
452
452
1
1
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
468
468
468
468
468
468
468
468
468
468
468
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
451
451
451
1
1
1
1
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
467
467
467
467
467
467
467
467
467
467
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
450
450
450
1
1
1
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
1
1
1
466
466
466
466
466
466
466
466
466
466
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
449
449
449
1
1
1
1
1
449
449
449
1
1
1
1
1
449
449
449
449
449
1
1
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
455
454
454
1
1
1
1
1
1
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
1
465
465
465
465
465
465
465
465
465
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
1
448
448
448
1
1
1
1
1
448
448
448
1
1
1
1
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
455
454
453
1
1
1
1
1
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
464
464
464
464
464
464
464
464
464
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
456
455
454
453
452
451
450
449
448
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
1
1
1
463
463
463
463
463
463
463
463
463
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
455
454
453
452
451
450
449
448
447
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
1
1
449
450
451
452
453
454
455
456
457
458
459
460
461
462
1
1
462
462
462
462
462
462
462
462
462
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
1
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
454
453
452
451
450
449
448
447
1
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
1
1
1
1
450
451
452
453
454
455
456
457
458
459
460
461
1
1
1
461
461
461
461
461
461
461
461
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
454
453
452
451
450
449
448
1
1
1
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
1
1
1
1
451
451
452
453
454
455
456
457
458
459
460
461
1
1
460
460
460
460
460
460
460
460
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
1
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
453
452
451
450
449
449
1
1
1
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
1
1
1
1
1
453
454
455
456
457
458
459
460
1
1
1
459
459
459
459
459
459
459
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
443
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
453
452
451
450
450
1
1
1
1
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
1
1
1
1
1
454
454
455
456
457
458
459
460
1
1
458
458
458
458
458
458
458
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
443
442
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
442
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
452
451
451
1
1
1
1
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
1
1
1
1
455
455
455
456
457
458
459
1
1
1
457
457
457
457
457
457
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
441
442
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
440
440
1
1
1
1
1
1
440
440
1
1
1
1
1
1
1
1
452
452
1
1
1
1
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
1
1
1
1
1
456
456
456
457
458
459
1
1
456
456
456
456
456
456
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
440
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
1
1
1
1
1
1
439
439
1
1
1
1
1
1
439
439
1
1
1
1
1
1
439
439
1
1
1
1
1
1
1
1
1
1
1
1
1
1
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
1
1
1
1
1
1
1
1
1
1
1
1
1
455
455
455
455
455
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
439
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
1
1
1
1
1
1
438
438
1
1
1
1
1
1
438
438
1
1
1
1
1
1
438
438
438
1
1
1
1
1
1
1
1
1
1
1
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
1
1
1
1
1
1
1
1
1
1
1
1
454
454
454
454
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
1
1
1
1
1
437
437
437
1
1
1
1
1
437
437
437
1
1
1
1
1
437
437
437
437
1
1
1
1
1
1
1
1
1
1
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
438
1
1
1
1
1
1
1
1
1
1
1
453
453
453
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
445
444
443
442
441
440
439
438
437
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
1
1
1
436
436
436
436
436
1
1
1
436
436
436
436
436
1
1
1
436
436
436
1
1
1
1
1
1
1
1
1
1
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
437
438
439
1
1
1
1
1
1
1
1
1
1
452
452
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
445
444
443
442
441
440
439
438
437
436
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
1
1
1
1
1
1
1
1
1
1
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
436
437
438
439
1
1
1
1
1
1
1
1
1
451
451
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
447
446
445
444
443
442
441
440
439
438
437
436
435
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
1
1
1
1
1
1
1
1
1
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
435
436
437
438
439
1
1
1
1
1
1
1
1
450
450
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
1
1
1
1
1
1
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
434
435
436
437
438
439
440
1
1
1
1
1
1
1
449
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
1
1
1
1
1
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
433
434
435
436
437
438
439
440
1
1
1
1
1
1
1
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
1
1
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
432
433
434
435
436
437
438
439
440
1
1
1
1
1
447
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
431
432
433
434
435
436
437
438
439
440
441
1
1
1
446
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
430
431
432
433
434
435
436
437
438
439
440
441
442
1
1
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
1
1
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
423
422
422
422
422
422
422
422
422
422
422
1
1
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
1
1
1
421
421
421
421
421
421
421
421
421
1
1
428
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
1
1
1
420
420
420
420
420
420
420
420
421
1
1
1
429
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
1
1
419
419
419
419
419
419
419
420
421
422
1
1
430
430
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
1
1
418
418
418
418
418
418
419
420
421
422
1
1
431
431
431
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
1
1
1
1
417
417
417
417
417
418
419
420
421
422
423
1
432
432
432
432
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
1
1
1
1
1
1
1
416
416
416
416
417
418
419
420
421
422
423
1
1
1
433
433
433
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
1
1
1
1
1
415
415
415
1
1
1
1
1
421
422
423
424
1
1
434
434
434
434
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
1
1
1
1
1
1
1
414
414
1
1
1
1
1
1
1
422
423
424
425
1
1
435
435
435
435
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
1
1
413
1
1
1
1
1
1
1
1
1
423
424
425
1
1
436
436
436
436
436
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
1
1
1
1
1
1
1
1
412
412
1
1
1
1
1
1
1
1
1
424
424
425
1
1
1
437
437
437
437
437
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
1
1
1
1
1
1
1
411
411
411
1
1
1
1
1
1
1
1
1
1
425
425
426
1
1
438
438
438
438
438
438
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
1
1
1
1
1
1
1
1
410
410
410
1
1
1
1
1
1
1
1
1
1
1
426
426
426
1
1
439
439
439
439
439
439
439
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
1
1
1
1
1
1
409
409
409
409
1
1
1
1
1
1
1
1
1
1
1
1
427
427
427
1
440
440
440
440
440
440
440
440
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
408
408
408
408
1
1
0
0
1
1
1
1
1
1
1
1
428
428
428
1
1
1
441
441
441
441
441
441
441
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
1
1
1
1
420
1
1
1
1
1
1
1
428
1
1
1
1
1
1
1
436
1
1
1
1
1
1
1
432
1
1
1
1
1
1
1
424
1
1
1
1
1
1
1
416
1
1
1
1
1
1
1
408
1
1
1
1
1
1
1
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
1
1
1
1
1
407
407
407
407
1
1
1
0
1
1
1
1
1
1
1
1
1
429
429
1
1
1
442
442
442
442
442
442
442
442
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
407
1
1
1
1
1
1
1
419
1
1
1
1
1
1
1
427
1
1
1
1
1
1
1
435
1
1
1
1
1
1
1
431
1
1
1
1
1
1
1
423
1
1
1
1
1
1
1
415
1
1
1
1
1
1
1
407
1
1
1
1
1
1
1
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
1
1
1
1
1
1
1
1
406
406
406
406
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
443
443
443
443
443
443
443
443
443
443
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
406
407
408
1
1
1
1
1
1
418
418
1
1
1
1
1
1
426
426
1
1
1
1
1
1
434
434
1
1
1
1
1
1
430
430
1
1
1
1
1
1
422
422
1
1
1
1
1
1
414
414
1
1
1
1
1
1
406
406
1
1
1
1
1
1
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
1
1
1
1
1
1
1
405
405
405
405
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
444
444
444
444
444
444
444
444
444
444
444
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
405
406
407
408
1
1
1
1
1
1
417
417
1
1
1
1
1
1
425
425
1
1
1
1
1
1
433
433
1
1
1
1
1
1
429
429
1
1
1
1
1
1
421
421
1
1
1
1
1
1
413
413
1
1
1
1
1
1
405
405
1
1
1
1
1
1
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
1
1
1
1
1
1
1
1
404
404
404
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
445
445
1
445
445
445
445
445
445
445
445
445
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
404
405
406
407
408
409
1
1
1
1
1
416
416
417
1
1
1
1
1
424
424
425
1
1
1
1
1
432
432
433
1
1
1
1
1
429
428
428
1
1
1
1
1
421
420
420
1
1
1
1
1
413
412
412
1
1
1
1
1
405
404
404
1
1
1
1
1
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
1
1
1
1
1
1
1
1
403
403
403
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
446
446
446
446
446
446
446
446
446
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
403
404
405
406
407
408
409
1
1
1
1
1
415
416
417
1
1
1
1
1
423
424
425
1
1
1
1
1
431
432
433
1
1
1
1
1
429
428
427
1
1
1
1
1
421
420
419
1
1
1
1
1
413
412
411
1
1
1
1
1
405
404
403
1
1
1
1
1
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
1
1
1
1
1
1
1
402
402
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
447
447
447
447
447
447
447
447
447
447
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
402
403
404
405
406
407
408
409
410
411
1
1
414
415
416
417
418
419
1
1
422
423
424
425
426
427
1
1
430
431
432
433
434
433
1
1
430
429
428
427
426
425
1
1
422
421
420
419
418
417
1
1
414
413
412
411
410
409
1
1
406
405
404
403
402
401
1
1
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
1
1
1
1
1
1
1
1
1
401
401
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
448
448
448
448
448
448
448
448
448
448
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
1
1
1
1
1
1
1
1
400
400
400
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
449
449
449
449
449
449
449
449
449
449
449
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
1
1
1
1
1
421
422
423
1
1
1
1
1
429
430
431
1
1
1
1
1
431
430
429
1
1
1
1
1
423
422
421
1
1
1
1
1
415
414
413
1
1
1
1
408
407
406
405
1
1
1
401
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
1
1
1
1
1
1
1
399
399
399
399
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
450
450
450
450
450
450
450
450
450
450
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
401
402
403
404
405
406
407
408
409
410
411
412
413
414
1
1
1
1
1
1
422
422
423
1
1
1
1
1
430
430
431
1
1
1
1
1
431
430
430
1
1
1
1
1
423
422
422
1
1
1
1
1
415
414
414
1
1
1
1
1
407
406
406
1
1
1
401
400
399
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
1
1
1
1
398
398
398
398
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
451
451
451
451
451
451
451
451
451
451
451
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
1
1
1
1
402
403
404
405
406
407
408
409
410
411
412
413
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
406
406
1
1
1
401
400
399
1
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
1
1
1
1
1
397
397
397
397
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
1
403
403
404
405
406
407
408
409
410
411
412
413
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
406
405
1
1
1
401
400
1
1
1
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
1
396
396
396
396
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
1
1
1
1
1
405
406
407
408
409
410
411
412
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
401
1
1
1
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
1
1
1
395
395
395
395
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
454
454
454
454
1
1
1
454
454
454
454
454
1
1
1
457
458
459
460
461
1
1
1
465
466
467
468
469
1
1
1
473
474
475
476
477
1
1
1
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
1
1
1
1
1
406
406
407
408
409
410
411
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
405
404
403
402
402
1
1
1
1
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
1
1
1
394
394
394
394
394
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
455
455
1
1
1
1
1
455
455
455
1
1
1
1
1
458
458
459
1
1
1
1
1
466
466
467
1
1
1
1
1
474
474
475
1
1
1
1
1
482
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
1
1
1
1
407
407
407
408
409
410
411
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
404
403
403
1
1
1
1
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
456
456
1
1
1
1
1
1
456
456
1
1
1
1
1
1
459
459
1
1
1
1
1
1
467
467
1
1
1
1
1
1
475
475
1
1
1
1
1
1
483
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
1
1
1
1
1
408
408
408
409
410
411
1
1
392
392
1
1
1
1
1
1
392
392
1
1
1
1
1
1
392
392
1
1
1
1
1
1
392
392
1
1
1
1
1
1
1
1
1
1
1
1
1
1
392
392
1
1
1
1
1
1
1
1
404
404
1
1
1
1
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
457
457
1
1
1
1
1
1
457
457
1
1
1
1
1
1
460
460
1
1
1
1
1
1
468
468
1
1
1
1
1
1
476
476
1
1
1
1
1
1
484
484
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
1
1
1
1
1
1
1
1
1
1
442
441
1
1
1
1
1
435
434
433
1
1
1
1
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
1
1
1
1
1
1
1
1
1
1
1
1
1
391
391
1
1
1
1
1
1
391
391
1
1
1
1
1
1
391
391
1
1
1
1
1
1
391
391
1
1
1
1
1
1
391
391
1
1
1
1
1
1
391
391
1
1
1
1
1
1
1
1
1
1
1
1
1
1
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
458
458
1
1
1
1
1
1
458
458
1
1
1
1
1
1
461
461
1
1
1
1
1
1
469
469
1
1
1
1
1
1
477
477
1
1
1
1
1
1
1
1
485
485
486
487
488
489
490
491
492
493
494
495
496
497
498
1
1
1
1
1
1
1
1
1
1
1
442
442
1
1
1
1
1
435
434
434
1
1
1
1
1
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
1
1
1
1
1
1
1
1
1
1
1
390
390
390
1
1
1
1
1
390
390
390
1
1
1
1
1
390
390
390
1
1
1
1
1
390
390
390
1
1
1
1
1
390
390
390
1
1
1
1
1
390
390
390
1
1
1
1
1
1
1
1
1
1
1
1
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
486
486
486
487
488
489
490
491
492
493
494
495
496
497
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
1
1
1
1
1
1
1
1
1
1
389
389
389
1
1
1
1
1
389
389
389
1
1
1
1
1
389
389
389
1
1
1
1
1
389
389
389
1
1
1
1
1
389
389
389
1
1
1
1
1
389
389
389
389
1
1
1
1
1
1
1
1
1
1
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
487
487
487
487
488
489
490
491
492
493
494
495
496
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
1
1
1
1
1
1
1
1
1
388
388
388
388
388
1
1
388
388
388
388
388
388
1
1
388
388
388
388
388
388
1
1
388
388
388
388
388
388
1
1
388
388
388
388
388
388
1
1
388
388
388
388
388
1
1
1
1
1
1
1
1
1
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
488
488
488
488
489
490
491
492
493
494
495
496
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
1
1
1
1
1
1
1
1
1
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
1
1
1
1
1
1
1
1
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
489
489
489
489
489
1
1
1
493
494
495
496
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
1
1
1
1
1
1
1
1
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
1
1
1
1
1
1
1
1
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
490
490
1
1
1
1
1
494
494
495
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
1
1
1
1
1
1
1
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
1
1
1
1
1
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
491
491
1
1
1
1
1
1
495
495
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
1
1
1
1
1
1
1
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
1
1
1
1
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
492
492
1
1
1
1
1
1
496
496
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
423
422
421
1
1
1
1
1
415
414
413
1
1
1
1
1
407
406
405
1
1
1
1
1
399
398
397
1
1
1
1
392
391
390
389
388
387
386
385
384
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
1
1
1
1
1
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
1
1
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
493
493
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
423
422
422
1
1
1
1
1
415
414
414
1
1
1
1
1
407
406
406
1
1
1
1
1
399
398
398
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
1
1
1
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
1
1
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
387
386
385
384
383
382
381
380
379
378
377
376
375
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
365
365
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
364
365
365
364
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
364
365
365
364
363
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
362
363
364
365
365
364
363
362
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
361
362
363
364
365
365
364
363
362
361
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
361
362
363
364
365
365
364
363
362
361
360
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
1
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
340
341
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
1
1
342
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
339
340
341
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
1
1
1
343
343
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
338
339
340
341
342
343
1
1
1
1
1
350
350
351
1
1
1
1
1
358
358
359
1
1
1
1
1
366
366
367
1
1
1
1
1
373
374
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
444
444
1
1
1
1
1
1
440
440
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
1
1
1
1
1
344
344
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
1
1
337
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
337
338
339
340
341
342
343
1
1
1
1
1
349
350
351
1
1
1
1
1
357
358
359
1
1
1
1
1
365
366
367
1
1
1
1
372
373
374
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
443
443
1
1
1
1
1
1
439
439
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
1
1
1
1
1
345
345
345
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
1
1
1
1
336
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
442
442
1
1
1
1
1
1
438
438
438
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
1
1
1
1
1
1
346
346
346
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
342
1
1
1
1
1
335
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
442
441
1
1
1
1
1
437
437
437
437
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
1
1
1
1
1
1
1
347
347
347
347
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
343
1
1
1
1
1
1
1
1
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
443
442
441
440
439
1
1
1
436
436
436
436
436
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
1
1
1
1
1
1
1
1
348
348
348
348
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
344
344
1
1
1
1
1
1
1
1
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
443
442
441
440
439
438
437
436
435
435
435
435
435
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
1
1
1
1
1
1
1
1
1
349
349
349
349
349
1
1
1
353
354
355
356
357
1
1
1
361
362
363
364
365
1
1
1
362
361
360
359
358
1
1
1
354
353
352
351
350
1
1
1
346
345
345
345
1
1
1
1
1
1
1
1
1
332
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
444
443
442
441
440
439
438
437
436
435
434
434
434
434
434
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
1
1
1
1
1
1
1
1
1
1
350
350
350
1
1
1
1
1
354
354
355
1
1
1
1
1
362
362
363
1
1
1
1
1
362
361
360
1
1
1
1
1
354
353
352
1
1
1
1
1
346
346
346
346
1
1
1
1
1
1
1
1
1
1
331
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
444
443
442
441
440
439
438
437
436
435
434
433
433
433
433
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
1
1
1
1
1
1
1
1
1
1
1
351
351
351
1
1
1
1
1
355
355
355
1
1
1
1
1
363
363
363
1
1
1
1
1
362
361
361
1
1
1
1
1
354
353
353
1
1
1
1
1
347
347
347
1
1
1
1
1
1
1
1
1
1
1
1
330
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
1
1
1
1
1
1
1
386
386
387
1
1
1
1
1
1
1
1
1
1
1
445
444
443
442
441
440
439
438
437
436
435
434
433
432
432
432
432
1
1
1
1
1
1
424
424
1
1
1
1
1
1
1
1
1
1
1
1
1
1
408
408
1
1
1
1
1
1
402
402
1
1
1
1
1
1
402
402
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
1
1
1
1
1
1
1
1
1
1
1
1
1
352
352
1
1
1
1
1
1
356
356
1
1
1
1
1
1
364
364
1
1
1
1
1
1
362
362
1
1
1
1
1
1
354
354
1
1
1
1
1
1
348
348
1
1
1
1
1
1
1
1
1
1
1
1
1
1
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
1
1
1
1
1
1
385
386
387
1
1
1
1
1
1
1
1
1
1
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
431
431
1
1
1
1
1
1
423
423
1
1
1
1
1
1
415
415
1
1
1
1
1
1
407
407
1
1
1
1
1
1
401
401
1
1
1
1
1
1
401
401
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
363
362
361
1
1
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
1
1
1
1
1
330
330
1
1
1
334
1
1
353
353
1
1
1
1
1
1
357
357
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
355
355
1
1
1
1
1
1
349
349
1
1
1
1
1
1
1
1
327
327
1
1
1
1
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
1
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
430
1
1
1
1
1
1
422
422
1
1
1
1
1
1
414
414
1
1
1
1
1
1
406
406
1
1
1
1
1
1
400
400
1
1
1
1
1
1
400
400
400
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
363
362
362
362
1
1
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
1
1
1
1
329
329
329
1
1
1
333
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
326
326
326
1
1
1
1
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
1
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
1
1
1
1
1
423
422
421
1
1
1
1
1
415
414
413
1
1
1
1
1
407
406
405
1
1
1
1
1
399
399
399
1
1
1
1
1
399
399
399
399
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
363
363
363
1
1
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
1
1
1
1
1
328
328
328
1
1
1
332
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
325
325
325
325
325
1
1
1
1
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
1
1
1
423
422
421
420
419
1
1
1
415
414
413
412
411
1
1
1
407
406
405
404
403
1
1
1
399
398
398
398
398
1
1
1
398
398
398
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
364
364
1
1
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
325
1
1
1
1
1
328
327
327
1
1
1
331
331
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
324
324
324
324
324
324
1
1
1
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
397
397
397
397
397
397
397
397
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
365
365
365
1
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
1
1
1
1
323
323
1
1
1
326
1
1
1
330
330
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
323
323
323
323
323
323
323
1
1
1
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
396
396
396
396
396
396
396
396
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
366
366
1
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
1
1
1
1
322
322
1
1
1
325
1
1
1
329
329
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
322
322
322
322
322
322
322
322
1
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
395
395
395
395
395
395
395
395
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
367
367
367
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
1
321
321
321
1
1
1
324
1
1
1
328
328
329
1
1
1
1
1
1
1
338
338
339
1
1
1
1
1
346
346
347
1
1
1
1
1
343
342
342
1
1
1
1
1
335
334
334
1
1
1
1
1
327
326
326
1
1
1
1
1
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
394
394
394
394
394
394
394
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
368
368
368
1
1
1
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
1
1
1
323
1
1
1
327
328
329
330
1
1
1
1
1
1
337
338
339
1
1
1
1
1
345
346
347
1
1
1
1
1
343
342
341
1
1
1
1
1
335
334
333
1
1
1
1
1
327
326
325
1
1
1
1
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
393
393
393
393
393
393
393
393
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
369
369
369
1
1
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
392
392
392
392
392
392
392
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
370
370
370
370
1
1
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
319
1
1
322
323
324
325
326
327
1
1
330
331
332
333
334
335
1
1
338
339
340
341
342
343
1
1
346
347
348
347
346
345
1
1
342
341
340
339
338
337
1
1
334
333
332
331
330
329
1
1
326
325
324
323
322
321
1
1
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
391
391
391
391
391
391
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
371
371
371
371
1
1
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
1
1
1
1
1
323
324
325
1
1
1
1
1
331
332
333
1
1
1
1
1
339
340
341
1
1
1
1
1
347
348
347
1
1
1
1
1
341
340
339
1
1
1
1
1
333
332
331
1
1
1
1
1
325
324
323
1
1
1
1
1
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
390
390
390
390
390
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
372
372
372
1
1
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
1
1
1
1
1
324
324
325
1
1
1
1
1
332
332
333
1
1
1
1
1
340
340
341
1
1
1
1
1
348
348
348
1
1
1
1
1
341
340
340
1
1
1
1
1
333
332
332
1
1
1
1
1
325
324
324
1
1
1
1
1
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
389
389
389
389
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
373
373
373
373
1
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
1
1
1
1
1
325
325
325
1
1
1
1
1
333
333
333
1
1
1
1
1
341
341
341
1
1
1
1
1
349
349
349
1
1
1
1
1
341
341
341
1
1
1
1
1
333
333
333
1
1
1
1
1
325
325
325
1
1
1
1
1
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
388
388
388
388
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
374
374
374
1
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
1
1
1
1
1
1
326
326
1
1
1
1
1
1
334
334
1
1
1
1
1
1
342
342
1
1
1
1
1
1
350
350
1
1
1
1
1
1
342
342
1
1
1
1
1
1
334
334
1
1
1
1
1
1
326
326
1
1
1
1
1
1
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
387
387
387
1
1
1
1
1
1
1
1
1
1
1
1
378
378
1
1
1
1
1
1
1
1
1
1
1
1
375
375
375
375
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
1
1
1
1
1
1
1
327
1
1
1
1
1
1
1
335
1
1
1
1
1
1
1
343
1
1
1
1
1
1
1
351
1
1
1
1
1
1
1
343
1
1
1
1
1
1
1
335
1
1
1
1
1
1
1
327
1
1
1
1
1
1
1
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
386
386
386
386
386
1
1
1
1
1
1
1
1
1
377
377
1
1
1
1
1
1
1
1
1
1
1
1
1
376
376
376
1
1
1
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
1
1
1
1
1
1
1
328
1
1
1
1
1
1
1
336
1
1
1
1
1
1
1
344
1
1
1
1
1
1
1
352
1
1
1
1
1
1
1
344
1
1
1
1
1
1
1
336
1
1
1
1
1
1
1
328
1
1
1
1
1
1
1
314
313
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
385
385
385
385
1
1
1
1
1
1
1
1
376
376
376
376
1
1
0
0
1
1
1
1
1
1
1
1
376
376
376
1
1
1
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
384
384
384
1
1
1
1
1
1
1
1
375
375
375
375
1
1
1
1
1
1
1
1
1
1
1
1
375
375
375
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
383
383
1
1
1
1
1
1
1
1
1
374
374
374
1
1
1
1
1
1
1
1
1
1
1
374
374
374
1
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
310
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
382
1
1
1
1
1
1
1
1
1
1
373
373
373
1
1
1
1
1
1
1
1
1
1
373
373
373
1
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
381
1
1
1
1
1
1
1
1
1
1
372
372
1
1
1
1
1
1
1
1
1
372
372
372
1
1
1
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
380
1
1
1
1
1
1
1
1
1
1
371
1
1
1
1
1
1
1
1
1
371
371
371
1
1
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
379
1
1
1
1
1
1
1
1
1
370
370
1
1
1
1
1
1
1
370
370
370
1
1
1
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
378
1
1
1
1
1
1
1
1
369
369
369
1
1
1
1
1
369
369
369
369
1
1
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
377
1
1
1
1
1
1
1
368
368
368
368
368
368
368
368
368
368
368
1
1
1
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
376
1
1
1
1
1
1
368
367
367
367
367
367
367
367
367
367
367
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
375
1
1
1
1
1
368
367
366
366
366
366
366
366
366
366
1
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
374
1
1
1
1
368
367
366
365
365
365
365
365
365
365
1
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
373
1
1
1
368
367
366
365
364
364
364
364
364
1
1
1
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
1
1
1
368
367
366
365
364
363
363
363
363
1
1
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
362
1
1
1
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
1
1
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
297
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
1
1
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
345
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
395
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
346
346
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
396
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
347
347
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
397
397
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
348
348
348
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
398
398
1
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
349
349
349
349
1
1
1
1
1
1
1
1
1
335
334
333
332
331
1
1
1
327
326
325
324
323
1
1
1
319
318
317
316
315
1
1
1
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
399
399
399
1
1
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
350
350
350
350
1
1
1
1
1
1
1
1
1
1
335
334
333
1
1
1
1
1
327
326
325
1
1
1
1
1
319
318
317
1
1
1
1
1
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
400
400
400
1
1
1
1
1
1
1
1
1
1
1
1
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
351
351
351
351
1
1
1
1
1
1
1
1
1
1
1
335
334
334
1
1
1
1
1
1
326
326
1
1
1
1
1
1
318
318
1
1
1
1
1
1
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
401
401
401
401
1
1
1
1
1
1
1
1
1
1
1
1
1
1
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
352
352
352
352
1
1
1
1
1
1
1
1
1
1
1
1
1
335
335
1
1
1
1
1
1
327
327
1
1
1
1
1
1
319
319
1
1
1
1
1
1
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
402
402
402
402
1
1
1
1
1
1
1
1
1
388
388
1
1
1
1
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
353
353
353
353
353
1
1
1
1
1
369
369
369
370
371
372
1
1
336
336
1
1
1
1
1
1
1
1
1
1
1
1
1
1
320
320
1
1
1
1
1
1
1
1
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
403
403
403
403
1
1
1
1
1
1
1
1
1
1
388
387
387
1
1
1
1
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
354
354
354
354
354
354
1
1
1
1
368
368
368
369
370
371
372
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
404
404
404
404
1
1
1
1
1
1
1
1
1
1
1
388
387
386
386
1
1
1
1
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
355
355
355
355
355
355
1
1
1
1
1
367
367
368
369
370
371
372
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
405
405
405
405
405
1
1
1
1
1
1
1
1
1
1
389
388
387
386
385
385
1
1
1
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
356
356
356
356
356
356
356
1
1
1
1
1
366
367
368
369
370
371
372
373
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
406
406
406
406
406
406
1
1
1
1
1
1
1
1
1
1
389
388
387
386
385
384
1
1
1
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
357
357
357
357
357
357
1
1
1
1
364
364
365
366
367
368
369
370
371
372
373
374
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
407
407
407
407
407
407
1
1
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
1
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
358
358
358
358
358
358
358
1
1
1
1
363
364
365
366
367
368
369
370
371
372
373
374
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
359
359
359
359
359
359
359
359
359
360
1
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
409
409
409
409
409
409
409
409
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
360
360
360
360
360
360
360
360
360
360
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
410
410
410
410
410
410
410
410
1
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
361
361
361
361
361
361
361
361
361
361
361
361
361
362
363
364
365
366
367
1
1
1
1
1
1
374
375
376
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
363
364
365
366
367
368
369
370
371
372
373
374
375
1
1
1
1
1
381
382
383
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
411
411
411
411
411
411
411
411
411
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
364
365
366
1
1
1
1
1
1
1
375
375
376
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
1
1
366
367
368
369
370
371
372
373
374
1
1
1
1
1
1
382
382
383
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
412
412
412
412
412
412
412
412
412
1
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
364
365
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
1
1
1
367
368
369
370
371
372
373
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
413
413
413
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
365
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
368
368
369
370
371
372
373
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
414
414
414
414
414
414
414
414
414
414
1
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
369
369
369
370
371
372
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
1
1
1
1
1
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
370
370
370
370
371
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
416
416
416
416
416
416
416
416
416
416
416
1
1
1
1
1
1
1
1
1
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
265
265
265
265
265
265
265
265
265
265
265
265
265
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
371
371
371
371
371
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
1
1
1
1
1
1
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
264
264
264
264
264
264
264
264
264
264
264
264
264
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
372
372
372
372
372
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
1
1
1
1
1
1
395
394
393
1
1
1
1
1
387
386
385
1
1
1
1
1
379
378
377
1
1
1
1
1
371
370
369
1
1
1
1
1
369
369
369
1
1
1
1
1
369
369
369
1
1
1
1
369
369
369
369
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
1
1
1
1
1
1
1
263
1
1
1
1
1
1
1
263
1
1
1
1
1
1
1
263
1
1
1
1
1
1
1
263
1
1
1
1
1
1
1
263
1
1
1
1
1
1
1
1
1
1
1
263
263
263
263
263
263
263
263
263
263
263
263
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
1
1
1
1
1
1
1
1
1
1
1
1
1
373
373
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
1
1
1
1
1
1
1
395
394
394
1
1
1
1
1
387
386
386
1
1
1
1
1
379
378
378
1
1
1
1
1
371
370
370
1
1
1
1
1
370
370
370
1
1
1
1
1
370
370
370
1
1
1
1
1
370
370
370
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
1
1
1
1
1
1
262
262
1
1
1
1
1
1
1
262
1
1
1
1
1
1
262
262
1
1
1
1
1
1
1
262
1
1
1
1
1
1
1
262
1
1
1
1
1
1
1
1
1
1
262
262
262
262
262
262
262
262
262
262
262
262
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
1
1
1
1
1
1
1
1
1
1
1
1
1
374
374
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
371
371
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
1
1
1
1
1
261
261
261
1
1
1
1
1
1
261
261
1
1
1
1
1
261
261
1
1
1
1
1
1
1
261
261
1
1
1
1
1
1
261
1
1
1
1
1
1
1
1
1
1
261
261
261
261
261
261
261
261
261
261
261
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
1
1
1
1
1
1
1
1
1
1
1
1
1
1
375
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
372
372
372
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
1
1
1
1
260
260
260
260
1
1
1
1
1
1
260
260
1
1
1
1
1
260
260
1
1
1
1
1
1
260
260
260
1
1
1
1
1
260
260
260
1
1
1
1
1
1
1
1
260
260
260
260
260
260
260
260
260
260
260
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
376
376
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
373
373
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
299
298
297
296
295
1
1
1
291
290
289
288
287
1
1
1
283
282
281
280
279
1
1
1
275
274
273
272
271
1
1
1
267
266
265
264
263
1
1
1
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
1
1
1
259
259
259
259
259
1
1
1
1
1
259
259
259
1
1
1
259
259
259
1
1
1
1
1
259
259
259
259
1
1
1
1
259
259
259
259
1
1
1
1
1
1
1
1
259
259
259
259
259
259
259
259
259
259
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
377
377
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
374
374
374
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
299
298
297
1
1
1
1
1
291
290
289
1
1
1
1
1
283
282
281
1
1
1
1
1
275
274
273
1
1
1
1
1
267
266
265
1
1
1
1
1
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
1
1
258
258
258
258
258
258
1
1
1
1
1
258
258
258
1
1
258
258
258
258
258
1
1
1
1
258
258
258
258
1
1
1
1
258
258
258
258
1
1
1
1
1
1
1
258
258
258
258
258
258
258
258
258
258
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
378
378
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
375
375
375
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
298
298
1
1
1
1
1
1
290
290
1
1
1
1
1
1
282
282
1
1
1
1
1
1
274
274
1
1
1
1
1
1
266
266
1
1
1
1
1
1
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
1
1
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
1
1
257
257
257
257
257
257
257
257
257
257
257
1
1
1
257
257
257
257
257
257
1
1
257
257
257
257
257
257
1
1
1
1
1
1
257
257
257
257
257
257
257
257
257
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
379
379
379
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
376
376
376
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
299
299
1
1
1
1
1
1
291
291
1
1
1
1
1
1
283
283
1
1
1
1
1
1
275
275
1
1
1
1
1
1
267
267
1
1
1
1
1
1
257
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
1
1
1
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
1
1
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
1
1
1
1
256
256
256
256
256
256
256
256
256
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
380
380
380
380
380
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
377
377
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
300
300
1
1
1
1
1
1
292
292
1
1
1
1
1
1
284
284
1
1
1
1
1
1
276
276
1
1
1
1
1
1
268
268
1
1
1
1
1
1
1
1
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
1
1
1
1
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
1
1
1
255
255
255
255
255
255
255
255
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
381
381
381
381
382
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
378
378
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
1
1
1
1
1
1
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
1
1
254
254
254
254
254
254
254
254
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
382
382
382
382
382
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
1
1
1
1
1
1
1
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
255
256
257
258
259
260
261
262
263
264
265
1
1
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
383
383
383
383
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
1
1
1
1
1
1
1
1
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
253
254
255
256
257
258
259
260
261
262
263
264
265
1
1
1
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
384
384
384
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
1
1
1
1
1
1
1
1
1
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
252
253
254
255
256
257
258
259
260
261
262
263
264
1
1
1
1
270
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
385
385
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
1
1
1
1
1
1
1
1
1
1
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
1
1
1
1
1
271
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
386
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
252
252
1
1
1
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
250
1
1
1
1
1
1
1
1
1
1
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
1
1
1
1
1
1
272
272
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
387
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
251
251
251
1
1
1
249
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
249
250
1
1
1
1
1
1
1
1
1
1
1
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
1
1
1
1
1
1
1
273
273
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
388
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
252
251
250
250
250
1
1
1
248
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
1
1
1
1
1
1
1
1
1
1
1
1
1
1
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
1
1
1
1
1
1
1
1
1
274
274
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
249
249
249
1
1
1
247
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
1
1
1
1
1
1
1
1
1
1
275
275
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
248
248
1
1
1
247
246
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
1
1
1
1
1
1
1
1
1
1
276
276
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
247
247
247
1
1
1
246
245
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
1
1
1
1
1
1
1
1
1
1
1
277
277
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
246
246
246
1
1
1
246
245
244
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
1
1
1
1
1
1
1
1
1
1
1
1
278
278
278
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
245
245
245
245
1
1
1
245
244
243
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
1
1
1
1
1
1
1
1
1
1
1
1
279
279
279
279
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
244
244
244
244
1
1
1
245
244
243
242
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
280
280
280
280
280
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
244
243
243
243
1
1
1
245
244
1
1
241
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
281
281
281
281
281
281
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
242
242
242
1
1
245
245
1
1
1
240
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
282
282
282
282
282
282
282
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
242
241
241
1
1
1
1
1
1
1
1
239
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
283
283
283
283
283
283
283
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
447
446
445
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
240
1
1
1
1
1
1
1
1
1
1
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
284
284
284
284
284
284
284
284
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
447
446
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
239
239
1
1
1
1
1
1
1
1
1
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
285
285
285
285
285
285
285
285
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
447
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
238
238
1
1
1
1
1
1
1
1
1
236
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
286
286
286
286
286
286
286
286
286
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
238
237
1
1
1
1
1
1
1
1
1
1
235
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
286
286
286
286
286
286
286
286
286
286
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
238
237
236
1
1
1
1
1
1
1
1
1
1
234
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
285
285
285
285
285
285
285
285
285
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
239
238
237
236
235
1
1
1
1
1
1
1
1
1
1
1
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
284
284
284
284
284
284
284
284
284
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
237
236
235
234
233
232
231
231
231
231
1
1
1
1
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
283
283
283
283
283
283
283
283
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
451
451
451
451
451
451
1
1
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
236
235
234
233
232
231
230
230
230
230
1
1
1
1
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
282
282
282
282
282
282
282
282
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
452
452
452
452
452
452
452
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
235
234
233
232
1
1
229
229
229
229
1
1
1
1
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
1
1
1
1
1
1
1
1
1
1
1
1
1
1
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
281
281
281
281
281
281
281
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
453
453
453
453
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
234
233
233
1
1
228
228
228
228
228
1
1
1
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
1
1
1
1
1
1
1
1
1
1
1
1
1
1
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
280
280
280
280
280
280
280
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
454
454
1
1
1
1
1
1
454
454
454
1
1
1
1
1
454
454
454
454
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
234
234
234
1
1
1
227
227
227
227
1
1
1
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
1
1
1
1
1
1
1
1
1
1
1
1
1
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
279
279
279
279
279
279
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
455
455
1
1
1
1
1
1
455
455
1
1
1
1
1
1
455
455
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
235
235
1
1
1
1
1
226
226
226
226
1
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
1
1
1
1
1
1
1
1
1
1
1
1
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1
1
1
1
1
1
1
1
1
1
1
1
1
1
278
278
278
278
278
278
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
456
456
1
1
1
1
1
1
456
456
1
1
1
1
1
1
456
456
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
236
1
1
1
1
1
1
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
1
1
1
1
1
1
1
1
1
1
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1
1
1
1
1
1
1
1
1
1
1
1
1
1
277
277
277
277
277
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
457
457
1
1
1
1
1
1
457
457
1
1
1
1
1
1
457
457
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
237
1
1
1
1
1
1
1
225
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
1
1
1
1
1
1
1
1
1
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
1
1
1
1
1
1
1
1
1
1
1
1
276
276
276
276
276
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
458
458
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
1
1
1
1
1
1
1
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1
1
1
1
1
1
1
1
1
1
1
275
275
275
275
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
1
1
1
1
1
1
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1
1
1
1
1
1
1
1
1
1
274
274
274
274
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
1
1
361
362
363
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
1
1
1
1
1
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1
1
1
1
1
1
1
1
1
1
273
273
273
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
1
1
1
1
362
363
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
1
1
1
1
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
1
1
1
1
1
1
272
272
272
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
1
1
1
1
363
363
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
1
1
1
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
1
1
1
1
1
1
271
271
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
220
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
1
1
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
1
1
1
1
1
270
270
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
220
1
1
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
1
1
1
1
269
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
69
69
1
1
1
1
1
1
69
69
1
1
1
1
1
1
1
1
1
1
1
1
1
1
69
69
1
1
1
1
1
1
69
69
1
1
1
1
1
1
69
69
1
1
1
1
1
1
73
73
1
1
1
1
1
1
81
81
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
221
1
1
1
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
1
1
1
1
268
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
68
68
1
1
1
1
1
1
68
68
1
1
1
1
1
1
68
68
1
1
1
1
1
1
68
68
1
1
1
1
1
1
68
68
1
1
1
1
1
1
68
68
1
1
1
1
1
1
68
68
1
1
1
1
1
1
72
72
1
1
1
1
1
1
80
80
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
1
1
1
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
1
1
1
1
1
1
305
306
307
1
1
1
1
1
313
314
315
1
1
1
1
1
321
322
323
1
1
1
1
1
329
330
331
1
1
1
1
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
67
67
67
1
1
1
1
1
1
67
67
1
1
1
1
1
1
67
67
1
1
1
1
1
1
67
67
1
1
1
1
1
1
67
67
1
1
1
1
1
1
67
67
1
1
1
1
1
1
67
67
1
1
1
1
1
1
71
71
1
1
1
1
1
1
79
79
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
1
1
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
1
1
1
1
1
1
1
306
306
307
1
1
1
1
1
314
314
315
1
1
1
1
1
322
322
323
1
1
1
1
1
330
330
331
1
1
1
1
1
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
1
70
70
71
1
1
1
1
1
78
78
79
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
1
1
288
289
290
291
292
293
294
295
296
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
65
65
65
65
65
1
1
1
65
65
65
65
65
1
1
1
65
65
65
65
65
1
1
1
65
65
65
65
65
1
1
1
65
65
65
65
65
1
1
1
65
65
65
65
65
1
1
1
65
65
65
65
65
1
1
1
69
70
71
72
73
1
1
1
77
78
79
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
1
1
1
289
290
291
292
293
294
295
296
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
339
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
1
1
1
1
290
290
291
292
293
294
295
296
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
340
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
1
1
1
1
1
291
291
292
293
294
295
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
341
341
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
1
1
1
292
292
292
293
294
295
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
342
342
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
61
61
1
1
1
1
1
1
61
61
1
1
1
1
1
1
61
61
1
1
1
1
1
1
61
61
1
1
1
1
1
1
1
1
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
1
1
1
1
293
293
293
294
295
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
343
343
343
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
1
1
1
1
1
372
372
1
1
1
1
1
1
381
381
1
1
1
1
1
1
389
389
1
1
1
1
1
1
1
1
0
0
0
1
1
1
60
60
1
1
1
1
1
1
60
60
1
1
1
1
1
1
60
60
1
1
1
1
1
1
60
60
1
1
1
1
1
1
60
60
1
1
1
1
1
1
60
60
1
1
1
1
1
1
60
60
1
1
1
1
1
1
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
1
1
1
1
1
1
1
1
1
294
294
294
295
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
344
344
344
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
1
1
1
1
1
371
371
1
1
1
1
1
1
380
380
1
1
1
1
1
1
388
388
1
1
1
1
1
1
1
1
0
0
0
1
1
59
59
59
1
1
1
1
1
1
59
59
1
1
1
1
1
1
59
59
1
1
1
1
1
1
59
59
1
1
1
1
1
1
59
59
1
1
1
1
1
1
59
59
1
1
1
1
1
1
59
59
1
1
1
1
1
1
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
1
1
1
1
1
1
1
1
1
1
295
295
295
296
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
345
345
345
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
1
1
1
370
370
371
1
1
1
1
1
1
379
379
1
1
1
1
1
1
387
387
1
1
1
1
1
1
1
1
0
0
1
1
1
58
58
58
1
1
1
1
1
58
58
58
1
1
1
1
1
58
58
58
1
1
1
1
1
58
58
58
1
1
1
1
1
58
58
58
1
1
1
1
1
58
58
58
1
1
1
1
1
58
58
58
1
1
1
1
1
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
1
1
1
1
1
1
1
1
1
1
1
1
296
296
296
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
346
346
346
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
1
1
369
370
371
1
1
1
1
1
378
378
379
1
1
1
1
1
386
386
387
388
1
1
1
1
1
1
1
0
0
1
1
57
57
57
57
57
57
1
1
1
57
57
57
57
57
1
1
1
57
57
57
57
57
1
1
1
57
57
57
57
57
1
1
1
57
57
57
57
57
1
1
1
57
57
57
57
57
1
1
1
57
57
57
57
57
1
1
1
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
1
1
1
1
1
1
1
1
1
1
1
1
1
297
297
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
347
347
347
347
347
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
1
1
1
377
378
379
380
381
1
1
1
385
386
387
388
389
1
1
1
1
1
1
0
1
1
1
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
1
1
1
1
1
1
1
1
1
1
1
1
1
1
298
298
298
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
348
348
348
348
348
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
1
1
1
1
1
1
1
0
1
1
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
1
1
1
1
1
1
1
1
1
1
1
1
1
1
299
299
299
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
349
349
349
349
349
349
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
1
1
1
1
1
1
1
1
1
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
1
1
1
1
1
1
1
1
107
107
107
1
1
1
1
1
107
107
107
1
1
1
1
1
107
107
107
1
1
1
1
1
114
114
115
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
300
300
300
300
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
350
350
350
350
350
350
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
1
1
1
1
1
1
1
1
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
1
1
1
106
106
106
1
1
1
1
1
106
106
106
1
1
1
1
1
106
106
107
1
1
1
1
1
113
114
115
1
1
1
1
120
121
122
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
301
301
301
301
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
351
351
351
351
351
351
351
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
1
1
1
1
1
1
1
1
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
1
1
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
302
302
302
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
352
352
352
1
1
352
352
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
1
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
1
1
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
303
303
303
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
353
353
353
353
1
1
353
353
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
1
51
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
1
1
1
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
304
304
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
354
354
354
354
1
1
354
354
354
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
1
51
50
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
1
1
1
1
102
102
102
102
102
102
102
102
102
102
102
102
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
305
305
305
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
355
355
355
1
1
1
355
355
355
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
1
51
50
49
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
1
1
1
1
1
1
1
1
1
1
101
101
101
101
101
101
101
101
101
101
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
306
306
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
356
356
356
356
1
1
356
356
356
356
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
1
1
1
1
1
1
1
1
1
1
100
100
100
100
100
100
100
100
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
307
307
307
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
357
357
357
1
1
357
357
357
357
357
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
1
1
1
1
1
1
1
1
1
99
99
99
99
99
99
99
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
308
308
308
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
358
358
358
358
1
358
358
358
358
358
358
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
1
1
1
1
1
1
1
1
98
98
98
98
98
98
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
309
309
309
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
359
359
359
1
1
1
359
359
359
359
359
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
1
1
1
1
1
1
1
97
97
97
97
97
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
208
1
1
1
1
1
1
1
199
1
1
1
1
1
1
1
192
1
1
1
1
1
1
1
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
309
309
309
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
360
360
360
1
1
360
360
360
360
360
360
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
1
1
1
1
1
1
96
96
96
96
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
207
1
1
1
1
1
1
1
198
1
1
1
1
1
1
1
191
1
1
1
1
1
1
1
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
308
308
308
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
361
361
361
361
1
1
361
361
361
361
361
361
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
1
1
1
1
1
95
95
95
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
206
206
1
1
1
1
1
1
197
197
1
1
1
1
1
1
190
190
1
1
1
1
1
1
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
307
307
307
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
362
362
362
362
1
1
362
362
362
362
362
362
362
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
1
1
1
1
94
94
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
205
205
1
1
1
1
1
1
196
196
1
1
1
1
1
1
189
189
1
1
1
1
1
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
306
306
306
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
363
363
363
1
1
1
363
363
363
363
363
363
363
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
1
1
1
93
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
204
204
1
1
1
1
1
1
196
195
195
1
1
1
1
1
188
188
1
1
1
1
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
305
305
305
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
364
364
364
364
1
1
364
364
364
364
364
364
364
364
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
1
1
1
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
204
203
1
1
1
1
1
1
196
195
194
1
1
1
1
1
188
187
1
1
1
1
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
304
304
304
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
365
365
365
1
1
365
365
365
365
365
365
365
365
365
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
205
204
203
202
1
1
1
1
197
196
195
194
193
192
1
1
189
188
187
186
1
1
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
303
303
303
303
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
366
366
366
366
1
366
366
366
366
366
366
366
366
366
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1
1
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
1
1
1
1
1
1
1
1
1
1
1
1
1
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
302
302
302
302
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
367
367
367
1
1
1
367
367
367
367
367
367
367
367
367
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
1
1
1
1
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
1
1
1
1
1
1
1
1
1
1
1
1
1
1
205
204
1
1
1
1
1
198
197
196
1
1
1
1
1
190
189
188
1
1
1
1
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
301
301
301
301
301
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
392
392
1
1
1
1
1
1
1
1
1
368
368
1
1
1
368
368
368
368
368
368
368
368
368
368
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
1
1
1
1
1
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
1
1
1
1
1
1
1
1
1
1
1
1
1
1
205
205
1
1
1
1
1
198
197
197
1
1
1
1
1
190
189
189
1
1
1
1
1
182
182
182
182
182
182
182
182
182
182
182
182
182
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
300
300
300
300
300
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
391
391
391
391
1
1
1
1
1
1
1
1
369
369
1
1
369
369
369
369
369
369
369
369
369
369
369
369
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
1
1
1
1
1
1
1
1
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
181
181
181
181
181
181
181
181
181
181
181
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
1
1
1
1
1
1
1
1
1
1
1
1
1
299
299
299
299
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
390
390
390
390
1
1
1
1
1
1
1
1
1
1
1
1
370
370
370
370
370
370
370
370
370
370
370
370
370
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
1
1
1
1
1
1
1
1
79
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
180
180
180
180
180
180
180
180
180
180
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
1
1
1
1
1
1
1
1
1
1
1
1
298
298
298
298
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
389
389
389
389
389
389
1
1
1
1
1
1
1
1
1
1
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
1
1
1
1
1
1
1
1
1
80
80
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
179
179
179
179
179
179
179
179
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
1
1
1
1
1
1
1
1
1
1
1
297
297
297
297
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
388
388
388
388
388
388
1
1
1
1
1
1
1
1
1
1
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
1
1
1
1
1
1
1
1
1
1
81
81
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
178
178
178
178
178
178
178
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
1
1
1
1
1
1
1
1
1
1
1
296
296
296
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
387
387
387
387
387
387
387
1
1
1
1
1
1
1
1
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
1
1
1
1
1
1
1
1
1
1
1
1
82
82
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
177
177
177
177
177
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
1
1
1
1
1
1
1
1
1
295
295
295
295
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
386
386
386
386
386
386
386
1
1
1
1
1
1
1
1
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
1
1
1
1
1
1
1
1
1
1
1
1
1
1
83
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
176
176
176
176
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
1
1
1
1
1
1
1
1
1
294
294
294
295
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
385
385
385
385
385
385
385
385
1
1
1
1
1
1
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
1
1
96
96
1
1
1
1
84
84
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
175
175
175
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
1
1
1
1
293
293
293
294
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
384
384
1
1
1
1
1
1
384
384
384
384
384
384
384
384
384
384
1
1
1
1
1
1
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
1
1
96
95
95
1
1
1
1
85
85
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
174
174
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
1
1
1
292
292
292
293
294
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
383
383
1
1
1
1
1
1
383
383
383
383
383
383
383
383
383
383
1
1
1
1
1
1
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
1
1
1
96
95
94
94
1
1
1
1
86
86
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
173
173
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
1
1
1
1
1
291
291
292
293
294
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
382
382
1
1
1
1
1
382
382
382
382
382
382
382
382
382
382
382
1
1
1
1
1
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
1
1
97
96
95
94
93
93
1
1
1
87
87
87
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
172
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
1
1
1
1
290
290
291
292
293
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
381
381
381
1
1
1
1
1
381
381
381
381
381
381
381
381
381
381
381
381
381
1
1
1
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
1
1
97
96
95
94
93
92
1
1
1
88
88
88
88
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
171
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
1
1
1
289
290
291
292
293
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
380
380
380
1
1
1
1
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
99
98
97
96
95
94
93
92
91
1
89
89
89
89
89
89
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
1
1
288
289
290
291
292
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
379
379
379
379
379
1
1
1
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
99
98
97
96
95
94
93
92
91
90
90
90
90
90
90
90
90
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
1
1
1
1
1
146
146
147
1
1
1
1
1
154
154
155
1
1
1
1
1
162
162
163
1
1
1
1
1
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
378
378
378
378
378
1
1
1
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
100
99
98
97
96
95
94
93
92
91
91
91
91
91
91
91
91
91
91
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
1
1
1
1
1
145
146
147
1
1
1
1
1
153
154
155
1
1
1
1
1
161
162
163
1
1
1
1
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
99
98
97
96
95
94
93
92
92
92
92
92
92
92
92
92
92
92
92
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
99
98
97
96
95
94
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
1
98
97
96
95
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
1
98
97
96
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
1
1
97
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
1
1
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
1
1
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
1
1
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
1
1
1
1
1
1
1
1
1
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
287
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
1
1
1
1
1
1
1
1
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
1
1
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
288
288
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
1
1
1
1
1
1
1
1
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
1
1
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
289
289
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
1
1
267
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
290
290
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
1
1
1
1
1
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
291
291
291
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
1
1
1
1
1
270
270
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
292
292
292
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
1
1
1
1
271
271
271
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
293
293
293
293
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
5
5
5
5
5
5
5
5
5
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
1
1
1
1
1
272
272
272
273
274
275
276
277
278
279
280
281
282
283
1
1
1
294
294
294
294
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
4
4
4
4
4
4
4
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
1
1
1
1
1
1
1
1
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
1
1
1
1
1
201
202
203
1
1
1
1
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
1
1
1
1
1
1
1
1
273
274
275
1
1
1
1
1
281
282
283
1
1
1
1
295
295
295
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
3
3
3
3
3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
1
1
1
1
1
1
202
202
203
1
1
1
1
1
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
1
1
1
1
1
1
1
274
274
275
1
1
1
1
1
282
282
283
1
1
1
1
1
296
296
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
1
1
1
1
1
1
1
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
211
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
1
1
1
1
1
1
1
1
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
212
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
1
1
1
1
1
1
1
1
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
213
213
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
1
1
1
1
1
1
1
1
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
214
214
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
3
3
3
3
3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
1
1
1
1
1
1
1
1
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
215
215
215
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
4
4
4
4
4
4
4
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
1
1
1
1
1
1
1
1
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
216
216
216
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
1
1
258
259
260
261
262
263
264
265
266
267
268
1
1
1
1
1
275
275
1
1
1
1
1
1
284
284
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
5
5
5
5
5
5
5
5
5
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
1
1
1
1
1
1
1
1
1
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
217
217
217
217
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
259
260
261
262
263
264
265
266
267
268
269
1
1
1
274
274
275
1
1
1
1
1
1
283
283
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
352
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
1
1
1
1
1
1
1
1
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
218
218
218
218
218
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
260
260
261
262
263
264
265
266
267
268
269
270
1
1
273
274
275
1
1
1
1
1
282
282
283
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
352
351
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
1
1
1
1
1
1
1
1
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
219
219
219
219
219
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
1
1
1
261
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
1
1
1
281
282
283
284
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
1
1
1
1
1
1
1
1
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
220
220
220
220
220
220
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1
1
262
262
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
1
1
1
1
1
1
1
1
1
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
221
221
221
221
221
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1
1
263
263
263
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
1
1
1
1
1
1
1
1
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
222
222
222
222
222
222
222
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
1
264
264
264
264
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
1
1
1
1
1
1
1
1
1
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
223
223
223
223
223
223
223
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
1
1
1
265
265
265
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1
1
1
1
1
1
1
1
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
1
1
1
1
1
145
146
147
1
1
1
1
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
224
224
224
224
224
224
224
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1
1
266
266
266
266
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1
1
1
1
1
1
1
1
1
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
127
128
129
130
131
132
133
134
135
136
137
138
1
1
1
1
1
1
146
146
147
1
1
1
1
1
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
225
225
225
225
225
225
225
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
267
267
267
267
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
1
1
1
1
1
1
1
1
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
128
129
130
131
132
133
134
135
136
137
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
226
226
226
226
226
226
226
226
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
268
268
268
268
268
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
1
1
1
1
1
1
1
1
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
129
130
131
132
133
134
135
136
137
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
155
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
227
227
227
227
227
227
227
227
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
1
1
1
269
269
269
269
269
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
341
341
341
341
341
341
341
341
341
341
341
341
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
1
1
1
1
1
1
1
1
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
130
131
132
133
134
135
136
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
156
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
228
228
228
228
228
228
228
228
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
270
270
270
270
270
270
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
340
340
340
340
340
340
340
340
340
340
340
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
1
1
1
1
1
1
1
1
1
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
131
132
133
134
135
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
157
157
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
229
229
229
229
229
229
229
229
229
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
1
1
271
271
271
271
271
271
271
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
339
339
339
339
339
339
339
339
339
339
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
1
1
1
1
1
1
1
1
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
132
133
134
135
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
158
158
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
230
230
230
230
230
230
230
230
230
230
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
1
1
1
272
272
272
272
272
272
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
338
338
338
338
338
338
338
338
338
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
1
1
1
1
1
1
1
1
1
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
133
134
135
1
1
145
145
1
1
1
1
1
1
149
149
1
1
1
1
1
1
1
1
159
159
159
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
231
231
231
231
231
231
231
231
231
231
231
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
1
1
1
273
273
273
273
273
273
273
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
337
337
337
337
337
337
337
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
1
1
1
1
1
1
1
1
1
1
132
132
1
1
1
1
1
132
132
132
1
1
1
1
1
132
132
132
1
1
1
1
1
132
132
132
1
1
1
1
1
132
132
132
1
1
1
1
1
132
132
132
1
1
1
1
132
133
134
1
1
1
144
144
1
1
1
1
1
1
148
148
1
1
1
1
1
1
1
1
1
160
160
160
1
1
1
1
1
165
166
167
1
1
1
1
1
173
174
175
1
1
1
1
180
181
182
1
1
1
192
192
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
216
216
1
1
1
1
1
1
1
1
1
232
232
232
1
1
1
1
1
232
232
232
1
1
1
1
1
237
238
239
1
1
1
1
1
245
246
247
1
1
1
1
1
253
254
255
1
1
1
1
260
261
262
1
1
1
272
272
272
272
272
272
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
336
336
336
336
336
336
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
1
1
1
1
1
1
1
1
1
1
133
133
1
1
1
1
1
133
133
133
1
1
1
1
1
133
133
133
1
1
1
1
1
133
133
133
1
1
1
1
1
133
133
133
1
1
1
1
1
133
133
133
1
1
1
1
1
133
134
1
1
1
143
143
1
1
1
1
1
1
147
147
1
1
1
1
1
1
1
1
1
161
161
161
1
1
1
1
1
166
166
167
1
1
1
1
1
174
174
175
1
1
1
1
1
181
182
1
1
1
191
191
191
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
215
215
215
1
1
1
1
1
1
1
1
1
233
233
233
1
1
1
1
1
233
233
233
1
1
1
1
1
238
238
239
1
1
1
1
1
246
246
247
1
1
1
1
1
254
254
255
1
1
1
1
1
261
262
1
1
1
271
271
271
271
271
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
335
335
335
335
335
335
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
142
142
1
1
1
1
1
146
146
147
148
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
190
190
190
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
214
214
214
214
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
270
270
270
270
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
334
334
334
334
334
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
141
141
141
141
141
1
1
1
145
146
147
148
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
189
189
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
213
213
213
213
213
213
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
269
269
269
269
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
333
333
333
333
333
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
140
140
140
140
141
142
143
144
145
146
147
148
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
188
188
188
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
212
212
212
212
212
213
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
268
268
268
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
332
332
332
332
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
139
139
139
139
140
141
142
143
144
145
146
147
148
149
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
187
187
187
187
188
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
211
211
211
211
211
212
213
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
267
267
267
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
331
331
331
331
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
138
138
138
139
140
141
142
143
144
145
146
147
148
149
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
186
186
186
187
188
189
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
210
210
210
210
211
212
213
214
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
266
266
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
330
330
330
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1
1
1
1
1
1
1
1
89
89
1
1
1
1
1
1
1
1
1
1
1
1
1
1
105
105
1
1
1
1
1
1
113
113
1
1
1
1
1
1
1
1
1
1
1
1
1
1
129
129
1
1
1
1
1
1
1
1
137
137
138
139
140
141
142
143
144
145
146
147
148
149
150
1
1
1
1
1
1
1
161
161
1
1
1
1
1
1
169
169
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
185
185
186
187
188
189
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
209
209
209
209
210
211
212
213
214
1
1
1
1
1
1
1
225
225
1
1
1
1
1
1
233
233
1
1
1
1
1
1
1
1
1
1
1
1
1
1
249
249
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
265
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
1
1
1
1
1
1
305
305
1
1
1
1
1
1
313
313
1
1
1
1
1
1
321
321
1
1
1
1
1
1
329
329
329
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
88
88
1
1
1
1
1
1
96
96
1
1
1
1
1
1
104
104
1
1
1
1
1
1
112
112
1
1
1
1
1
1
120
120
1
1
1
1
1
1
128
128
1
1
1
1
1
1
136
136
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
160
160
1
1
1
1
1
1
168
168
1
1
1
1
1
1
176
176
1
1
1
1
1
1
184
184
184
185
186
187
188
189
190
191
1
1
1
1
1
1
200
200
1
1
1
1
1
1
208
208
208
209
210
211
212
213
214
215
1
1
1
1
1
1
224
224
1
1
1
1
1
1
232
232
1
1
1
1
1
1
240
240
1
1
1
1
1
1
248
248
1
1
1
1
1
1
256
256
1
1
1
1
1
1
264
264
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
1
1
1
1
1
1
304
304
1
1
1
1
1
1
312
312
1
1
1
1
1
1
320
320
1
1
1
1
1
1
328
328
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
1
87
87
1
1
1
1
1
1
95
95
1
1
1
1
1
1
103
103
1
1
1
1
1
1
111
111
1
1
1
1
1
1
119
119
1
1
1
1
1
1
127
127
1
1
1
1
1
1
135
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
159
159
1
1
1
1
1
1
167
167
1
1
1
1
1
1
175
175
1
1
1
1
1
1
183
183
184
185
186
187
188
189
190
191
1
1
1
1
1
1
199
199
1
1
1
1
1
1
207
207
208
209
210
211
212
213
214
215
1
1
1
1
1
1
223
223
1
1
1
1
1
1
231
231
1
1
1
1
1
1
239
239
1
1
1
1
1
1
247
247
1
1
1
1
1
1
255
255
1
1
1
1
1
1
263
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
1
1
1
1
1
1
303
303
1
1
1
1
1
1
311
311
1
1
1
1
1
1
319
319
1
1
1
1
1
1
327
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
1
1
1
1
86
86
87
1
1
1
1
1
94
94
95
1
1
1
1
1
102
102
103
1
1
1
1
1
110
110
111
1
1
1
1
1
118
118
119
1
1
1
1
1
126
126
127
1
1
1
1
1
134
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
158
158
159
1
1
1
1
1
166
166
167
1
1
1
1
1
174
174
175
1
1
1
1
1
182
182
183
184
185
186
187
188
189
190
191
1
1
1
1
1
198
198
199
1
1
1
1
1
206
206
207
208
209
210
211
212
213
214
215
1
1
1
1
1
222
222
223
1
1
1
1
1
230
230
231
1
1
1
1
1
238
238
239
1
1
1
1
1
246
246
247
1
1
1
1
1
254
254
255
1
1
1
1
1
262
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
1
1
1
1
1
302
302
303
1
1
1
1
1
310
310
311
1
1
1
1
1
318
318
319
1
1
1
1
1
326
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
1
1
1
85
86
87
88
89
1
1
1
93
94
95
96
97
1
1
1
101
102
103
104
105
1
1
1
109
110
111
112
113
1
1
1
117
118
119
120
121
1
1
1
125
126
127
128
129
1
1
1
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
1
1
1
157
158
159
160
161
1
1
1
165
166
167
168
169
1
1
1
173
174
175
176
177
1
1
1
181
182
183
184
185
186
187
188
189
190
191
192
193
1
1
1
197
198
199
200
201
1
1
1
205
206
207
208
209
210
211
212
213
214
215
216
217
1
1
1
221
222
223
224
225
1
1
1
229
230
231
232
233
1
1
1
237
238
239
240
241
1
1
1
245
246
247
248
249
1
1
1
253
254
255
256
257
1
1
1
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
1
1
1
301
302
303
304
305
1
1
1
309
310
311
312
313
1
1
1
317
318
319
320
321
1
1
1
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
50
1
1
47
46
45
44
43
42
41
40
39
38
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
51
1
1
1
1
46
45
44
43
42
41
40
39
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
0
1
1
1
1
1
46
45
44
43
42
41
40
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
45
44
43
42
41
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
45
44
43
42
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
45
44
43
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
45
44
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
45
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
1
1
1
1
1
1
1
1
