100000
902
881
595
851
784
770
749
944
666
728
595
811
783
712
750
902
516
753
836
878
524
727
760
882
883
845
708
507
655
771
865
887
900
780
818
776
952
835
556
621
992
997
734
600
591
942
556
834
785
793
899
974
929
633
931
890
951
562
589
838
508
996
736
903
573
760
508
882
952
795
682
770
818
636
711
877
675
863
878
904
523
914
644
850
821
698
939
576
887
693
551
938
916
569
844
966
812
840
693
998
675
691
715
575
722
762
842
604
501
751
972
619
528
787
742
904
799
588
987
613
963
943
654
527
698
686
688
562
973
750
998
840
854
671
645
816
574
831
585
719
756
774
856
986
727
815
857
937
511
762
671
502
568
660
741
620
973
943
942
864
603
911
503
688
934
892
952
540
649
527
828
677
989
562
534
544
576
794
757
509
834
978
510
505
547
819
600
595
750
703
994
612
925
755
967
584
948
662
584
975
534
753
728
928
500
887
664
731
937
871
689
993
986
892
981
593
518
890
829
829
965
566
805
545
679
550
790
607
862
816
982
548
652
965
915
887
742
661
954
596
784
660
924
871
502
807
641
742
828
706
983
907
860
870
687
843
614
548
799
839
977
638
629
760
807
550
822
602
926
696
859
611
961
821
532
513
930
507
664
814
890
914
876
670
910
638
810
501
990
505
740
776
825
986
651
928
520
985
697
641
843
698
507
989
982
891
724
608
930
1000
939
938
593
908
868
977
911
878
534
647
779
523
521
627
672
726
698
798
777
815
773
639
825
967
705
837
647
755
776
548
551
1000
801
949
617
537
507
610
610
966
748
958
945
716
668
885
562
786
965
717
915
759
669
973
570
706
639
546
595
524
592
957
997
880
774
811
723
598
947
623
768
604
889
975
791
648
985
817
565
980
933
901
612
833
766
774
860
722
644
998
894
606
884
722
547
697
584
555
838
569
765
775
964
606
721
841
687
803
939
567
947
771
503
697
749
720
875
722
731
694
713
856
807
607
898
682
585
653
675
578
534
977
878
739
997
677
880
923
928
572
689
796
630
510
852
614
634
788
540
852
795
575
880
552
725
571
525
970
848
853
771
711
596
815
576
983
991
739
525
785
658
933
785
881
765
930
773
519
930
942
581
549
802
840
958
960
813
667
974
828
666
560
624
727
979
654
758
574
725
894
557
854
628
612
912
516
945
643
773
553
500
749
972
964
840
745
905
623
814
857
986
652
811
844
507
689
641
565
595
664
918
897
673
833
928
517
602
953
985
923
931
864
613
763
638
639
962
982
717
663
831
899
628
930
998
732
873
909
516
618
536
850
857
830
845
671
899
513
609
551
981
757
514
907
879
615
751
991
630
755
800
637
755
724
822
975
582
956
931
545
691
522
676
519
632
984
629
678
951
898
1000
804
928
790
688
684
544
856
883
915
851
823
817
985
633
729
793
702
813
780
848
569
908
943
943
827
983
747
678
553
682
920
546
850
797
999
938
842
552
709
579
591
538
712
982
586
605
573
831
971
769
788
638
727
588
885
970
699
624
980
945
633
826
860
770
554
849
995
971
652
842
566
740
835
878
685
641
592
686
905
956
900
945
875
908
984
945
904
599
701
563
816
631
654
571
765
514
655
650
706
507
715
876
536
768
819
561
726
567
512
693
858
601
784
867
520
704
835
696
907
712
610
528
934
669
905
596
626
800
584
655
545
769
713
532
888
563
792
997
933
937
793
741
592
978
898
960
695
899
937
501
737
728
655
916
535
879
562
949
669
741
802
564
582
919
674
999
521
976
507
877
676
547
720
651
593
810
824
622
868
601
872
995
802
710
804
762
875
551
929
631
762
746
857
763
788
947
933
575
580
627
613
985
806
909
853
620
768
863
979
721
890
685
953
678
557
597
822
708
980
642
592
634
725
529
595
781
702
905
514
645
732
584
629
871
678
736
802
719
535
754
675
609
898
549
992
892
562
955
579
920
952
898
539
994
983
681
568
937
652
754
669
674
763
810
796
822
755
576
573
562
839
641
816
563
526
661
781
842
977
511
913
553
835
517
695
853
917
619
871
626
748
764
924
949
824
632
844
851
555
631
997
509
767
915
628
669
798
511
875
971
841
834
541
898
646
751
537
645
600
702
657
698
818
806
746
508
799
880
967
836
815
862
627
593
646
515
696
945
628
816
708
536
634
780
644
633
724
966
778
812
658
552
676
718
744
795
987
859
640
966
869
950
547
860
812
545
502
962
732
958
900
746
596
868
756
780
750
661
775
655
732
848
750
703
791
945
737
561
843
625
959
867
905
591
905
534
736
807
636
816
968
943
869
818
854
852
870
796
503
732
909
649
767
721
651
541
999
612
791
563
716
912
705
636
818
670
828
827
605
811
562
837
619
618
551
574
754
636
550
642
571
579
992
860
747
609
564
742
803
694
517
841
801
615
554
946
686
661
536
547
897
934
749
557
820
567
562
680
549
605
540
730
842
517
792
889
769
851
780
922
766
523
716
738
870
771
944
566
697
932
713
651
736
771
777
690
748
868
681
784
926
501
652
649
944
891
1000
958
545
822
991
669
945
766
613
612
649
765
571
921
967
908
761
603
655
523
901
802
963
978
874
694
516
823
807
763
817
567
525
692
888
831
969
566
863
573
632
632
813
965
505
771
950
964
852
834
841
970
769
814
848
724
585
993
742
971
782
584
880
792
999
871
835
839
983
843
901
796
575
837
691
753
748
616
504
1000
693
609
991
866
971
822
607
856
538
589
544
967
690
816
696
692
913
894
867
627
925
791
989
704
897
928
500
772
576
713
709
941
768
898
742
993
728
825
620
912
950
820
795
986
817
884
685
910
612
665
982
850
910
758
704
550
863
733
515
702
961
953
523
704
720
876
968
934
768
758
956
891
926
712
570
835
903
979
885
687
781
601
875
664
923
751
971
869
600
560
871
919
527
722
950
552
788
742
772
791
748
529
751
720
511
855
864
641
611
574
902
734
609
585
992
816
686
511
975
838
549
778
928
794
774
788
537
530
714
920
938
758
523
585
704
867
822
920
836
811
683
882
900
881
707
653
922
524
698
684
982
833
703
917
843
703
974
928
743
997
788
981
877
502
716
880
911
788
967
738
911
776
702
570
751
993
516
805
1000
805
572
854
906
774
705
753
815
698
793
665
741
582
514
511
537
609
893
645
747
613
854
978
819
893
983
667
686
689
771
947
686
813
948
664
978
711
910
980
799
875
899
671
882
663
926
689
759
896
687
818
958
622
946
670
843
699
700
547
530
513
654
521
693
529
777
516
517
642
823
638
950
696
641
781
828
743
902
992
513
879
829
807
848
706
933
732
866
707
897
833
646
664
802
977
792
955
693
693
777
574
735
701
913
689
807
677
556
644
835
611
918
550
832
562
850
858
709
751
670
596
903
926
903
563
681
716
858
649
858
722
564
661
579
956
573
942
834
720
881
658
596
713
753
599
696
790
691
789
804
570
727
836
554
953
814
767
546
563
619
621
709
527
627
639
640
528
677
900
906
664
619
659
643
673
759
734
781
608
745
896
514
650
775
913
939
849
663
796
893
995
533
746
519
958
585
695
853
514
842
747
849
519
923
802
957
699
974
938
906
916
596
574
792
568
678
601
586
829
943
832
946
753
618
678
854
819
832
859
619
904
829
841
951
593
606
671
660
943
508
832
559
851
856
847
601
851
576
781
988
820
590
575
673
959
862
948
542
813
621
921
653
515
815
624
603
847
862
744
526
879
978
770
905
504
741
723
571
832
930
816
880
621
624
782
565
914
683
567
969
842
595
526
807
606
911
857
883
749
945
604
911
544
770
825
658
995
782
564
708
673
856
656
522
525
993
812
815
774
885
672
964
947
863
805
654
817
613
548
593
758
695
935
800
872
604
723
889
540
829
740
744
761
601
668
810
585
550
996
902
839
803
984
642
871
899
899
551
513
896
523
815
736
567
720
511
812
792
578
817
698
915
801
988
570
682
583
557
596
550
913
816
903
680
659
946
972
502
880
765
927
572
551
686
986
532
990
559
776
757
941
903
515
943
915
973
626
516
627
653
868
510
691
725
942
782
580
678
598
570
900
529
902
529
560
573
581
542
515
535
975
769
579
926
664
912
603
1000
771
659
767
650
641
794
864
992
643
772
553
854
893
813
772
625
804
687
509
678
661
998
516
704
709
575
673
858
990
633
733
620
577
829
612
956
574
832
694
515
545
523
764
570
804
906
537
656
964
884
880
574
892
785
965
841
591
505
872
530
918
737
688
554
566
559
925
962
535
719
581
674
777
591
866
559
734
990
820
565
751
934
599
541
536
806
841
546
912
709
516
695
591
710
797
832
954
552
909
818
516
671
943
642
509
687
505
973
510
755
538
602
847
615
638
626
584
914
533
700
812
879
669
547
973
860
982
739
650
692
934
785
703
701
847
685
680
704
823
670
770
893
512
701
794
632
642
894
525
676
662
823
657
706
699
712
543
986
925
999
546
816
563
777
779
640
584
934
910
684
632
940
627
884
857
669
508
554
812
592
998
829
822
825
566
624
799
523
512
654
611
795
953
791
930
666
958
552
891
511
766
893
935
951
563
895
580
666
884
787
940
563
700
564
721
586
632
644
651
698
789
745
974
636
914
521
873
710
804
863
722
857
925
791
868
871
737
580
666
671
912
857
688
730
516
906
738
867
892
983
909
803
937
987
736
732
511
768
551
932
690
535
735
893
686
924
716
614
539
705
592
912
749
921
723
934
703
631
597
552
964
904
531
761
672
926
782
739
910
874
883
866
777
924
983
897
528
569
574
798
516
506
676
536
863
615
660
775
885
735
831
621
996
777
987
569
732
922
530
742
699
921
556
743
503
668
856
682
898
759
729
527
812
630
815
962
859
769
797
526
888
758
526
866
747
862
528
653
544
894
787
690
735
826
593
968
591
866
776
787
669
923
607
582
935
758
503
810
572
581
584
521
941
845
613
680
743
554
931
822
916
634
562
675
871
920
938
650
991
604
842
913
944
864
916
860
543
630
737
577
593
727
662
940
724
739
576
602
611
945
613
682
514
658
541
767
925
606
716
888
553
597
858
963
613
613
848
572
701
778
555
971
881
507
681
716
875
680
562
561
672
549
885
707
632
925
747
968
803
564
516
741
989
710
839
961
780
961
624
772
735
557
930
970
929
592
788
537
533
530
898
518
928
677
848
529
829
806
985
516
753
606
502
904
705
751
581
672
936
807
896
698
518
697
685
986
565
957
709
671
937
522
854
806
918
522
964
761
906
693
698
734
755
715
570
707
810
677
976
554
773
616
890
612
830
883
862
697
711
858
907
716
503
661
997
920
944
689
722
591
983
583
742
1000
596
952
867
835
748
740
995
673
687
595
759
878
520
610
692
972
755
910
915
563
981
602
562
779
802
653
511
841
970
730
752
886
802
513
810
542
941
581
766
689
734
815
925
623
581
772
824
928
528
509
978
680
788
586
716
550
770
627
833
593
696
985
720
858
685
666
930
733
556
916
846
805
645
584
539
773
866
564
908
530
965
934
685
554
956
963
792
559
834
735
502
605
553
798
903
924
598
666
543
723
690
804
924
791
974
523
762
744
792
910
751
956
977
508
705
547
519
549
953
572
745
922
810
669
848
859
771
870
643
667
863
570
952
863
646
737
518
522
705
949
963
524
606
799
614
954
654
917
584
869
774
795
560
757
779
549
862
755
601
866
834
912
512
969
591
860
953
654
892
721
981
744
700
775
730
597
863
500
928
665
575
612
791
888
796
738
748
549
554
780
860
640
801
750
686
733
996
512
915
978
828
708
754
989
570
824
954
670
993
919
911
614
944
782
679
789
546
779
751
926
663
705
673
537
713
635
682
533
534
712
899
914
618
939
743
849
856
547
599
511
626
570
895
836
674
601
723
801
931
1000
763
770
634
600
809
896
517
806
777
774
814
563
966
619
529
942
873
795
810
935
930
993
749
539
970
880
799
573
608
886
941
959
580
733
599
686
996
704
520
507
988
738
702
629
680
701
778
949
822
744
857
743
890
841
795
677
584
733
808
630
509
641
673
788
828
677
576
893
501
882
585
824
828
819
517
752
505
677
994
861
998
974
977
897
947
565
504
821
530
905
736
900
699
518
933
790
884
633
895
524
728
916
656
883
910
744
563
904
557
748
531
579
737
516
943
692
768
744
512
855
881
674
671
765
867
941
894
670
786
888
555
876
587
574
927
526
565
688
707
716
900
603
646
713
696
913
504
826
837
845
569
975
846
581
654
888
839
578
500
781
789
622
510
951
776
599
600
777
799
946
884
965
943
836
591
815
852
518
761
806
605
826
868
826
859
890
600
814
631
809
710
550
871
988
526
803
874
517
779
745
647
901
776
639
699
607
869
828
622
971
623
662
643
948
546
698
707
896
653
911
715
793
702
960
742
681
544
848
793
698
828
531
870
520
567
548
530
807
539
681
638
879
862
740
505
711
992
583
918
635
910
1000
696
592
586
508
556
583
535
501
668
664
805
527
739
681
592
817
660
522
649
895
1000
656
521
863
688
888
845
610
708
832
640
920
707
795
632
633
719
664
927
507
658
944
790
708
685
873
877
707
686
942
836
504
794
902
528
738
658
814
683
621
579
768
622
714
535
995
699
724
973
981
816
920
618
719
538
654
572
859
542
512
553
799
828
549
848
694
818
600
862
501
734
719
848
646
841
561
515
512
910
834
673
626
813
624
608
571
668
868
833
796
994
906
844
851
923
928
859
699
847
716
1000
635
598
554
786
670
622
980
650
922
937
722
839
926
646
694
659
798
567
821
742
953
974
554
732
601
898
580
868
912
805
550
593
966
809
687
543
728
887
934
584
752
680
697
916
817
717
905
955
534
683
733
814
886
894
549
534
762
948
512
762
750
939
814
875
660
918
963
840
791
538
992
932
827
739
594
957
728
574
717
637
919
642
509
939
756
786
911
631
634
981
642
960
993
563
606
513
773
648
597
862
805
785
905
780
986
967
916
678
531
523
971
659
521
920
755
985
523
772
861
616
698
820
648
790
759
794
628
792
550
604
866
847
949
899
749
554
823
750
661
892
733
973
963
771
735
631
753
521
515
524
725
816
521
983
956
667
792
776
794
845
925
794
781
947
607
983
686
817
852
686
739
549
907
500
936
614
624
852
671
947
821
900
823
852
958
969
647
733
804
977
906
653
751
581
542
852
866
688
775
684
705
668
597
648
762
557
933
745
767
708
797
825
654
574
528
521
508
820
548
821
636
889
575
611
721
975
681
680
669
717
587
620
576
665
593
845
824
862
921
701
863
812
733
699
686
575
854
990
878
764
760
530
582
784
611
873
853
664
674
793
804
764
737
840
517
543
989
977
797
973
725
956
870
898
729
717
977
815
591
970
868
916
609
644
755
803
823
973
884
773
576
773
783
709
900
592
691
957
983
654
508
864
600
748
864
703
687
859
643
565
773
694
505
580
615
773
646
713
958
869
622
533
618
584
787
959
789
939
576
890
975
994
842
604
533
641
676
701
972
509
530
703
535
599
652
840
703
985
822
524
970
724
663
561
697
749
667
503
728
609
927
841
769
523
802
734
876
673
879
522
925
737
509
717
697
952
924
849
770
978
880
503
813
873
694
740
832
628
708
753
523
733
959
938
792
870
777
919
626
798
667
501
724
717
821
849
597
890
705
960
743
744
822
812
778
691
940
634
554
880
827
974
649
622
916
962
604
587
866
748
800
510
810
685
853
881
694
964
559
513
562
836
628
891
729
981
940
713
573
629
947
885
885
781
586
756
924
600
936
843
594
568
682
519
509
989
556
837
862
563
666
957
891
646
599
729
648
657
641
601
598
608
917
515
612
979
706
668
646
960
914
716
975
811
670
846
744
600
942
558
545
806
891
823
613
917
930
758
636
954
749
848
609
949
865
672
661
891
580
713
956
987
725
717
941
678
566
619
960
592
791
599
808
739
570
975
510
689
813
802
972
840
651
993
532
907
927
533
565
705
622
664
565
911
639
725
657
992
644
744
713
567
595
613
500
721
716
826
617
903
775
881
564
937
821
902
525
981
852
610
540
987
970
823
974
810
894
922
543
724
752
763
638
785
915
964
826
691
644
520
783
653
667
700
616
999
765
741
884
815
972
632
834
876
535
693
860
813
759
740
537
997
530
910
884
790
830
715
821
627
688
742
760
538
999
700
538
842
686
729
705
597
928
551
502
984
700
668
778
865
564
543
945
565
881
893
932
738
522
507
604
568
537
656
725
793
515
688
566
562
596
805
771
746
802
965
759
695
761
527
655
798
662
668
573
790
502
879
765
667
768
699
663
650
883
974
548
846
719
949
614
993
593
906
699
569
942
774
686
694
816
629
553
734
580
652
777
564
886
653
878
913
511
947
532
528
842
886
592
596
958
998
677
955
515
764
784
867
597
582
664
691
716
992
564
798
916
735
914
807
851
893
742
791
508
778
683
693
975
962
630
848
857
886
727
976
735
840
930
713
638
530
826
509
926
534
814
504
695
780
622
676
613
826
931
810
578
969
877
949
689
829
658
500
858
774
942
970
834
992
903
716
599
683
750
698
902
602
735
743
544
661
698
550
858
513
788
829
782
604
553
994
994
877
902
631
713
903
860
663
535
503
638
641
816
848
533
524
852
826
681
931
899
997
627
976
608
955
868
558
755
698
899
722
585
538
707
720
698
692
923
919
789
924
978
738
912
592
941
698
671
543
569
660
709
987
648
843
633
987
660
922
538
878
726
668
782
750
552
661
634
935
899
959
791
741
733
848
697
844
565
758
606
727
572
617
663
739
622
740
533
717
868
618
501
776
933
554
867
751
930
823
813
821
990
669
752
952
788
803
906
619
791
879
663
768
996
683
690
992
769
938
857
614
566
680
752
780
606
704
953
549
799
548
591
640
878
648
947
501
800
896
663
993
660
829
765
895
730
962
988
501
693
907
979
779
643
522
567
668
687
503
815
844
774
700
772
700
857
824
706
535
720
698
809
852
723
548
803
719
568
523
836
765
581
680
626
683
640
709
818
602
817
529
965
785
789
821
725
886
663
670
590
529
560
599
792
623
687
755
504
576
579
935
580
664
542
958
863
706
747
819
563
945
695
563
822
841
988
894
926
830
672
865
817
969
947
789
563
592
969
855
523
971
897
669
609
606
591
654
515
963
797
938
884
506
911
779
896
1000
972
786
777
508
642
599
554
970
636
945
723
549
928
711
888
641
851
706
544
886
583
863
714
546
754
938
968
742
927
550
705
763
569
880
649
945
653
955
725
500
730
714
624
841
591
677
690
871
861
520
752
987
685
948
597
703
842
629
716
735
620
634
967
979
673
932
641
591
599
550
638
825
959
702
976
529
771
745
759
517
667
556
680
688
815
733
578
698
755
881
682
964
886
890
794
902
779
885
986
872
719
665
660
655
849
977
641
838
996
954
983
701
840
565
783
683
807
659
841
525
850
879
992
793
994
804
703
736
856
929
987
873
708
796
765
556
665
903
953
843
709
791
620
560
926
774
689
954
923
678
850
801
503
642
971
844
871
671
788
550
842
827
748
744
676
958
928
568
584
632
724
561
830
529
644
692
513
501
723
898
917
692
627
541
930
763
824
682
797
882
642
631
978
862
892
605
542
788
515
799
546
951
509
802
842
706
668
598
589
707
861
572
796
611
599
648
855
901
763
518
781
577
581
848
922
772
828
842
617
935
775
990
717
979
657
882
683
624
920
764
987
674
617
581
791
647
641
608
761
801
851
809
504
762
712
622
707
924
843
764
997
688
671
599
526
825
616
589
765
891
535
950
675
658
804
553
556
767
979
739
943
970
784
780
703
820
535
854
795
768
850
829
938
880
725
826
993
695
595
728
989
654
653
873
807
547
612
599
893
900
550
899
629
967
545
737
778
820
690
841
995
980
948
714
556
643
918
627
551
974
509
996
612
953
646
690
839
572
524
996
936
678
539
909
912
650
877
586
797
824
512
527
966
607
781
664
974
1000
752
718
843
563
829
976
544
769
527
755
660
516
891
905
625
844
988
658
712
781
760
611
723
862
737
571
914
598
971
600
764
628
1000
547
982
974
578
508
562
634
844
973
817
761
512
712
627
589
596
798
531
698
805
673
617
860
569
754
511
883
665
915
611
765
761
724
578
768
547
605
868
658
635
739
727
662
765
990
934
574
688
790
963
912
546
918
807
723
590
565
520
885
975
989
691
941
516
542
943
967
759
507
993
911
520
840
744
726
564
758
636
653
526
809
689
655
535
563
941
947
784
639
643
766
681
823
607
706
569
527
996
912
684
942
844
1000
566
541
735
596
654
939
856
992
691
768
620
1000
749
639
649
741
845
886
974
659
663
592
891
708
513
853
513
812
660
715
727
789
900
926
627
866
942
859
540
993
719
858
561
678
628
797
704
569
534
669
823
563
800
570
501
654
655
560
859
917
546
951
777
947
762
804
751
674
863
555
822
729
524
656
970
746
923
889
885
870
806
821
874
682
882
680
938
746
588
772
910
974
764
549
782
882
698
848
502
902
891
818
817
720
592
757
740
696
704
587
747
502
968
823
925
951
957
851
908
552
863
871
944
622
905
761
544
605
629
810
950
870
776
727
908
589
926
851
527
663
898
853
844
629
840
566
822
952
697
671
605
849
812
511
790
998
518
557
872
534
938
923
896
733
657
814
668
838
768
697
500
875
762
999
813
589
804
937
963
602
939
833
624
801
564
917
723
995
602
751
677
966
586
682
810
747
614
888
803
930
886
967
538
820
868
962
554
958
539
695
833
739
745
857
565
717
983
898
595
880
652
880
763
785
593
1000
550
971
591
589
637
780
555
738
511
1000
555
798
680
579
901
773
616
648
713
597
566
654
803
615
785
850
660
553
930
780
845
793
605
546
898
955
711
872
574
742
937
759
961
513
599
525
729
876
960
915
500
780
950
952
972
771
975
949
551
777
674
607
587
738
955
965
777
776
962
542
954
528
846
895
950
973
736
782
893
787
908
763
738
964
933
689
623
800
700
664
843
808
922
994
710
533
803
912
875
907
750
914
814
966
583
622
730
626
562
930
907
594
985
961
588
738
509
787
792
661
546
637
917
810
839
926
593
827
962
529
856
520
610
931
866
585
825
814
683
510
948
818
515
632
618
671
648
955
546
942
806
883
835
748
833
539
971
920
955
740
912
769
537
568
645
618
815
637
722
603
808
625
785
813
761
980
781
934
851
802
867
779
811
680
860
745
994
640
626
858
892
667
675
621
605
667
789
698
855
791
729
925
565
726
504
605
516
546
726
721
729
534
739
561
939
766
980
765
764
876
696
621
814
838
905
537
908
883
821
795
702
600
776
817
691
739
508
638
896
778
865
675
962
609
976
915
750
973
586
751
554
778
879
936
653
812
714
998
933
566
867
903
536
856
826
869
859
797
893
554
951
724
874
668
693
646
875
969
786
735
957
788
591
602
643
866
813
981
616
699
648
968
764
865
911
581
726
535
715
755
701
716
725
996
564
930
819
959
656
812
970
837
797
878
852
785
544
888
948
987
671
613
501
911
593
622
908
839
669
787
1000
736
550
684
511
779
776
661
831
687
552
834
620
700
912
748
927
724
612
960
641
543
613
574
891
641
552
556
656
891
891
536
937
915
996
739
556
577
548
766
811
979
648
878
815
632
936
863
642
540
728
627
697
718
651
522
516
748
938
971
737
748
809
888
836
724
949
992
988
673
591
562
822
667
833
889
602
712
724
623
974
993
689
843
768
639
841
683
618
739
556
869
775
520
683
730
769
539
841
818
791
549
970
512
550
820
664
907
834
800
985
664
875
811
789
721
587
755
865
601
503
522
852
998
616
713
580
908
571
942
862
771
710
828
530
827
611
635
766
695
840
855
903
811
523
679
809
740
535
735
858
611
974
865
988
887
607
766
762
737
844
821
869
519
606
656
795
635
568
823
949
956
883
618
556
886
974
578
543
904
893
985
567
886
650
559
963
807
844
961
653
526
788
534
618
557
572
545
872
900
502
836
518
706
987
859
547
541
616
849
823
580
541
873
536
518
984
700
749
967
993
535
796
895
527
600
778
730
929
868
750
684
547
613
888
652
986
996
941
510
922
519
993
905
697
877
777
556
905
711
954
788
802
896
568
552
961
734
790
554
516
760
921
811
547
828
978
782
671
563
617
623
827
992
855
937
896
973
840
534
681
799
512
763
969
698
969
942
867
638
800
805
762
708
971
694
825
640
972
766
523
568
575
644
967
552
523
776
516
578
937
758
658
567
773
761
745
540
626
518
567
501
982
513
638
792
565
743
774
1000
832
542
762
609
822
964
994
938
756
923
933
630
763
816
997
617
947
973
837
557
645
517
612
649
759
938
812
988
552
540
894
909
672
716
932
827
502
621
589
666
908
553
871
903
842
941
748
771
641
865
928
793
837
635
914
539
977
881
590
675
607
523
709
862
687
777
762
771
515
650
702
756
710
853
996
939
874
836
819
536
610
591
765
918
917
976
671
871
690
540
977
836
836
759
985
636
822
668
940
973
854
953
710
663
742
661
518
931
574
539
838
537
526
970
763
637
559
762
522
845
758
795
685
749
649
974
867
579
945
622
896
964
716
726
912
666
917
709
812
927
647
801
578
953
769
652
883
915
745
901
834
633
967
793
866
546
965
546
501
900
715
777
838
1000
601
818
758
697
802
888
833
503
573
797
558
724
850
599
790
761
506
953
505
928
738
946
921
734
905
645
879
784
803
519
953
759
746
673
604
734
875
885
799
735
632
673
931
791
798
979
692
644
545
662
689
792
757
960
720
630
739
765
823
794
875
902
851
520
967
550
735
637
760
800
874
973
759
663
813
610
763
647
932
593
912
925
846
734
964
727
714
864
605
562
597
806
783
519
939
781
905
799
869
826
536
891
571
555
979
974
784
715
768
661
523
1000
790
662
788
583
900
942
740
753
826
808
611
632
535
565
806
750
741
953
856
503
973
537
876
899
823
936
613
651
558
947
952
822
663
817
828
520
841
659
562
807
552
987
964
818
909
586
864
895
632
918
659
557
811
706
790
691
847
925
714
795
717
528
799
851
861
954
616
697
964
747
609
852
706
604
831
798
668
630
634
537
914
667
930
564
975
575
617
853
664
618
506
591
728
782
758
940
550
672
815
870
667
584
849
538
519
825
787
952
879
668
878
975
815
511
551
558
788
906
772
869
531
577
677
723
904
532
830
669
908
699
531
783
551
899
519
917
701
838
581
768
817
608
954
803
759
557
618
898
838
963
746
716
883
669
897
900
529
973
951
995
971
767
891
868
797
549
806
804
769
556
974
843
973
587
595
852
539
926
727
515
521
757
632
979
675
700
838
659
515
607
884
991
655
771
631
690
789
800
880
735
842
632
722
872
504
916
569
564
676
656
895
608
543
516
760
713
820
681
816
644
952
558
984
697
654
876
740
625
855
726
926
504
741
538
514
839
545
585
796
649
943
918
930
662
630
638
990
730
547
766
687
892
867
907
530
815
879
999
749
828
749
982
625
819
721
993
546
866
511
998
706
732
798
851
536
661
574
967
842
935
660
927
676
533
711
513
777
891
707
865
668
819
562
800
506
654
905
897
890
685
928
580
545
1000
570
979
630
941
665
647
861
510
776
607
547
810
944
909
814
535
809
942
688
945
771
710
540
719
941
825
961
718
874
533
648
706
653
709
596
708
520
743
549
927
511
624
962
888
909
851
531
941
775
682
780
911
800
709
636
653
521
919
633
628
568
680
849
651
755
628
637
570
961
831
892
596
751
721
897
787
804
639
768
541
643
750
957
870
773
902
858
731
705
778
768
566
518
791
530
823
643
780
924
509
683
637
883
632
801
832
659
736
608
803
611
632
760
843
790
804
801
714
606
736
561
606
518
621
828
578
767
671
912
893
962
659
736
913
814
838
962
635
940
791
859
523
631
728
912
693
981
830
923
558
810
929
547
507
628
726
783
838
825
513
732
601
977
628
929
743
553
585
594
587
723
582
730
737
836
612
811
910
646
540
620
677
645
789
578
655
793
999
856
923
648
951
513
965
587
604
715
755
738
724
578
839
909
906
529
842
542
771
627
824
599
792
992
908
578
613
787
548
807
937
763
709
759
708
837
506
570
881
723
910
754
745
712
826
872
637
505
568
954
768
884
548
608
649
890
597
761
798
999
787
892
802
684
849
629
898
685
533
674
787
916
975
1000
930
858
625
826
694
593
665
816
995
923
941
765
880
844
601
983
665
750
892
592
605
502
747
878
976
767
921
557
546
644
883
583
780
861
602
557
547
608
703
528
675
815
955
609
870
778
573
534
587
513
534
891
649
796
950
630
593
683
586
597
967
567
530
824
605
683
704
657
572
560
671
842
800
627
780
720
790
699
625
538
590
763
552
587
544
560
882
959
508
528
625
839
597
793
878
506
843
896
918
738
685
933
896
824
757
642
870
874
775
944
527
748
558
899
761
571
881
606
890
984
509
631
703
853
920
937
586
581
921
710
788
868
969
668
945
701
790
580
823
671
776
617
870
655
548
878
611
901
763
677
695
717
939
516
617
577
829
558
654
694
601
536
937
749
603
671
734
679
913
623
624
756
687
792
556
772
609
921
708
825
694
642
698
826
807
607
575
562
945
685
521
515
834
926
621
818
900
870
512
711
549
591
552
787
643
633
973
572
569
805
925
608
706
800
605
594
645
701
974
653
982
590
783
822
565
850
613
953
816
853
701
689
748
586
893
840
939
746
812
600
727
907
507
640
885
975
697
934
928
870
569
690
935
930
984
970
899
573
621
556
873
603
630
807
629
930
568
739
875
868
818
612
961
731
579
549
588
518
624
968
952
988
652
928
994
701
657
966
583
963
922
753
967
676
723
839
923
515
529
532
550
846
550
758
794
564
790
578
925
822
701
736
778
805
696
757
540
924
954
573
548
663
690
727
836
625
563
692
619
965
580
540
617
608
754
669
798
929
967
972
503
525
868
574
518
946
780
943
815
540
615
738
665
839
941
991
728
582
731
799
851
725
782
678
704
840
907
628
800
630
906
979
502
974
694
809
917
681
504
648
664
636
746
525
864
659
765
862
533
741
599
799
937
520
911
922
937
959
859
913
700
876
718
765
762
672
589
856
634
852
651
903
859
546
630
763
760
910
848
824
885
728
809
556
600
836
939
911
919
866
613
592
733
929
536
805
540
938
901
856
668
617
516
711
804
740
829
773
645
958
910
854
997
714
673
853
899
569
610
756
772
898
626
830
587
837
997
784
920
602
539
520
904
616
783
659
723
932
672
698
548
931
749
787
734
933
1000
735
602
533
803
976
573
930
909
742
792
546
883
678
669
766
590
710
841
725
895
863
748
651
542
533
946
691
951
894
670
767
852
743
700
800
716
948
686
860
889
556
828
889
692
973
913
780
615
932
608
529
751
944
542
972
684
660
932
807
926
634
676
630
551
801
932
809
706
669
542
656
959
743
918
586
501
778
971
770
808
668
857
815
583
681
991
964
755
749
572
863
745
913
509
914
841
583
735
874
711
978
955
630
775
540
638
522
560
585
835
964
914
932
522
703
675
570
638
849
927
776
692
965
913
723
798
957
674
722
717
803
828
530
865
974
544
628
956
873
920
952
955
680
769
698
645
589
944
782
828
954
550
757
707
568
992
963
542
703
806
869
857
643
754
799
657
714
765
859
991
615
680
527
899
705
615
762
603
599
1000
933
994
802
742
551
603
981
517
659
875
787
689
767
970
999
572
674
618
626
908
617
985
693
822
751
968
704
798
705
919
560
772
922
914
540
795
912
866
612
696
504
875
719
977
529
763
821
512
897
825
853
506
785
624
656
782
949
724
968
940
813
664
988
829
730
624
949
896
958
911
599
848
506
946
709
958
518
818
975
639
645
724
644
981
691
837
517
823
639
890
672
913
635
929
946
584
749
786
922
534
671
706
760
554
778
1000
584
515
822
903
802
805
944
653
758
788
708
970
593
585
795
853
790
695
536
529
646
709
669
754
842
696
828
998
932
846
537
568
978
724
671
511
574
574
921
602
769
504
602
674
710
909
979
614
886
835
639
951
939
904
612
612
531
745
579
592
933
683
652
598
602
792
605
556
760
622
859
824
537
709
977
629
576
727
521
644
518
817
545
893
866
612
955
707
907
799
860
941
747
931
531
813
980
876
725
565
503
570
951
905
525
733
992
514
788
760
512
872
917
854
821
507
915
569
909
745
999
765
865
596
519
679
520
508
597
646
562
736
553
732
898
837
957
786
928
781
669
879
567
657
571
778
713
896
930
780
585
914
750
713
864
604
556
616
522
893
836
758
853
721
615
969
841
644
626
853
892
674
895
768
780
804
774
789
767
722
617
919
934
648
853
990
542
830
768
867
857
653
985
978
736
548
720
779
585
673
738
640
794
745
683
989
808
825
675
790
739
824
779
546
643
641
977
890
716
574
556
936
889
925
890
990
865
936
599
879
580
807
699
547
812
522
736
848
700
508
948
993
909
677
934
573
760
673
786
661
722
710
554
946
757
887
670
504
843
621
961
841
673
525
616
942
615
589
693
682
832
881
653
880
516
678
633
996
999
623
633
658
593
850
663
905
709
928
961
941
945
857
778
788
535
622
853
568
906
758
593
965
959
924
589
782
548
734
940
919
543
794
856
939
763
743
550
859
982
944
913
791
676
560
622
974
901
646
994
585
922
776
747
886
655
820
741
865
871
547
529
659
651
548
990
889
905
738
579
853
762
673
781
513
949
927
937
867
896
870
739
501
513
952
550
921
764
887
742
862
644
743
945
650
944
659
729
638
529
813
799
808
786
718
881
562
965
751
901
920
504
739
529
525
542
596
933
979
847
920
784
517
616
502
957
650
967
608
577
973
645
709
958
689
800
649
752
541
993
647
805
503
920
649
712
796
757
602
947
621
603
963
863
664
732
930
613
865
573
946
632
610
708
754
886
795
839
652
988
704
682
729
609
540
834
735
948
752
740
655
708
544
934
587
550
915
683
996
986
887
694
544
511
810
709
956
741
736
767
925
979
944
637
910
691
517
631
902
648
863
728
634
631
711
893
961
957
815
878
873
650
777
599
880
633
906
587
870
904
868
736
725
539
626
681
602
805
650
902
849
713
664
529
871
529
956
742
576
955
716
574
845
757
654
659
951
570
695
982
861
545
917
676
909
559
603
824
963
594
842
899
544
766
976
715
805
675
697
817
698
667
555
735
781
810
619
607
857
538
743
705
639
901
732
944
580
626
967
779
870
709
548
668
838
598
835
600
563
875
794
922
906
858
518
562
839
567
674
740
736
983
582
542
857
649
891
748
850
574
838
914
512
531
625
761
840
838
754
913
993
573
933
663
617
643
880
936
599
758
782
586
791
949
801
535
927
742
745
552
940
870
709
627
568
887
839
896
735
798
532
556
518
766
525
658
695
903
899
648
906
880
780
652
983
743
810
578
920
737
602
984
954
587
528
902
701
605
763
535
633
934
776
706
793
543
693
978
986
603
707
879
693
989
974
974
684
915
510
652
665
658
728
924
809
821
838
523
925
594
648
961
539
685
705
612
922
667
724
690
691
631
862
849
790
542
865
578
792
883
700
705
690
860
703
537
861
761
813
596
720
790
626
686
948
796
766
534
835
660
709
568
729
537
560
893
983
559
691
801
576
756
897
555
838
877
691
916
522
834
849
617
937
666
529
510
856
862
714
659
999
978
901
705
609
595
667
824
988
588
571
720
938
960
856
864
834
939
704
824
956
937
746
691
835
733
941
903
935
979
693
789
935
647
959
979
952
818
721
561
740
600
832
968
917
616
517
786
918
970
531
948
572
914
827
547
668
963
826
528
783
556
569
891
533
615
922
920
765
917
588
509
846
560
572
705
722
516
620
611
810
981
539
505
674
826
890
637
793
643
564
995
833
888
592
865
565
586
641
743
513
981
886
830
533
993
875
983
625
698
863
526
779
927
804
906
932
772
874
569
620
956
686
720
872
583
779
540
602
535
514
673
593
941
984
703
852
662
956
961
777
991
758
559
700
502
893
597
722
802
600
916
594
655
640
918
511
720
763
750
751
904
599
502
779
789
837
561
810
870
520
625
762
954
773
646
528
580
881
991
645
769
995
919
801
847
827
628
737
937
892
708
682
679
793
810
724
602
515
555
568
527
830
515
633
655
587
842
908
639
566
977
982
712
844
765
597
932
569
707
980
967
600
960
649
744
724
675
928
792
844
765
993
656
640
739
672
591
645
702
845
625
822
573
686
614
595
851
803
868
645
620
580
863
996
966
926
736
831
554
724
913
578
874
589
736
624
510
889
550
598
658
876
682
943
847
704
541
879
691
873
726
955
801
793
836
946
794
832
750
616
994
967
933
821
781
941
837
958
692
725
777
523
604
928
736
981
779
675
627
835
579
615
947
704
873
928
991
564
913
624
631
655
719
646
679
659
565
962
725
617
572
601
503
990
876
597
513
510
1000
825
527
760
865
989
996
921
840
719
616
545
714
924
550
956
825
831
717
858
521
810
754
879
778
664
591
558
850
583
739
721
807
683
790
820
739
745
554
748
706
503
893
890
557
869
691
539
557
553
828
747
566
529
996
934
586
864
545
527
904
943
629
547
971
746
924
600
647
789
575
597
848
541
630
601
994
997
978
749
897
563
805
908
744
680
999
998
613
776
854
884
616
563
660
556
912
826
982
943
684
757
711
572
833
633
975
522
980
526
926
890
827
635
747
566
632
930
952
904
573
677
718
592
548
760
559
880
921
949
698
863
588
714
669
998
803
911
575
838
547
885
944
957
999
783
876
637
936
872
657
961
650
534
964
648
963
997
738
654
578
896
571
942
632
610
721
704
543
959
845
886
818
995
722
871
878
622
614
758
769
871
523
504
826
698
774
808
811
771
935
549
531
859
564
932
599
831
544
689
914
649
665
805
917
591
681
870
954
724
687
802
861
759
879
882
828
667
793
985
935
745
728
973
980
664
1000
620
673
559
954
819
813
635
869
539
705
563
838
834
846
943
507
882
989
528
669
824
941
828
555
823
840
734
799
973
716
880
617
870
1000
782
540
773
683
648
616
566
867
971
715
807
912
745
811
621
548
592
658
537
726
550
647
835
654
928
832
633
835
894
855
971
827
842
668
643
889
581
508
702
585
868
901
518
613
934
571
767
808
948
637
595
519
928
725
662
913
886
533
746
874
935
941
516
882
724
757
894
956
570
899
642
718
734
770
608
921
530
977
680
682
864
521
506
801
880
849
787
911
744
603
883
713
563
791
680
582
662
928
646
623
834
521
509
561
813
580
661
859
689
782
788
841
949
871
981
918
719
861
603
896
597
690
578
744
710
714
913
959
789
868
587
550
789
913
930
947
631
976
584
894
897
981
938
665
573
633
810
806
894
646
541
531
709
626
710
888
548
792
616
822
949
906
932
843
783
908
678
569
907
856
692
646
529
550
667
769
528
812
980
931
663
586
582
760
586
805
558
780
762
755
712
721
857
965
580
701
685
830
512
773
830
729
949
562
1000
755
513
537
710
772
627
613
950
865
760
720
954
928
624
751
769
654
952
644
895
800
607
665
565
883
902
546
551
946
653
537
851
960
961
575
583
636
726
764
698
706
868
739
927
564
772
726
745
690
630
955
603
966
705
929
520
652
525
567
857
568
740
718
534
511
965
558
873
619
916
915
804
821
781
672
810
816
860
843
575
910
654
703
574
820
780
668
981
753
949
566
855
634
625
998
656
875
635
867
783
566
824
872
822
994
769
633
671
582
803
563
546
504
548
879
596
848
606
955
849
858
848
867
1000
835
672
666
874
992
644
768
692
714
894
931
604
626
530
651
764
514
503
710
778
879
547
896
905
670
955
942
816
898
971
876
824
873
551
614
562
553
936
938
698
865
571
547
835
551
605
996
799
764
720
967
869
704
999
764
976
600
908
500
949
963
917
808
663
594
919
505
714
950
570
562
787
602
611
557
768
726
631
580
851
941
544
545
819
530
823
542
687
548
649
714
696
679
551
992
534
598
749
897
591
534
694
841
764
775
572
955
927
943
937
852
615
745
744
504
594
607
767
773
651
589
583
612
686
677
553
936
919
956
883
820
988
895
750
695
658
677
652
544
678
871
639
712
624
681
581
816
755
866
565
903
972
805
825
875
783
571
659
700
529
926
866
933
745
925
676
971
731
542
502
594
873
601
935
936
939
902
594
956
968
960
570
808
881
799
897
627
993
671
984
806
529
717
513
867
583
524
871
681
796
610
844
762
788
940
701
708
962
659
933
500
900
785
643
966
760
789
845
524
901
987
542
646
819
600
591
887
799
558
607
994
702
856
573
829
996
719
505
725
949
698
523
689
946
597
524
591
777
533
837
638
754
785
879
868
725
704
740
608
718
743
887
854
977
573
608
557
873
938
882
621
550
689
623
813
672
569
666
537
546
911
613
768
733
849
926
951
617
778
548
908
777
536
858
813
960
749
946
528
538
638
789
798
943
893
852
685
697
930
503
811
974
519
974
662
919
836
601
757
989
595
758
932
811
593
896
992
954
881
644
667
599
719
675
946
565
895
727
692
583
880
900
595
706
772
676
898
935
542
918
873
702
733
827
551
782
930
915
658
988
815
926
882
727
931
739
883
857
940
712
530
693
672
744
950
850
666
947
768
573
607
795
962
660
599
526
856
996
812
967
658
895
723
601
736
552
531
627
817
843
785
616
769
832
791
642
931
891
586
516
756
936
844
616
782
679
505
965
539
575
725
531
856
722
884
802
514
922
756
607
600
697
614
683
876
709
829
956
625
533
777
574
628
615
676
678
832
592
895
961
787
905
689
969
795
602
558
515
512
726
940
528
683
636
788
730
632
620
639
662
920
734
851
592
949
898
982
609
921
503
556
744
562
759
627
783
770
911
744
858
865
529
946
787
642
869
880
523
902
632
877
764
947
986
551
748
627
689
842
826
888
611
917
711
979
517
673
751
586
717
571
893
838
680
730
524
589
559
922
503
511
612
601
943
733
971
618
820
656
511
775
836
840
773
552
757
853
708
662
657
641
568
912
934
524
619
849
535
561
565
586
938
510
992
853
737
627
869
506
934
983
561
734
639
596
898
596
500
717
615
506
847
844
723
584
721
884
943
795
583
953
963
684
652
722
730
887
905
781
807
807
943
750
671
705
535
643
579
960
748
751
963
786
838
588
656
611
658
735
688
753
625
655
620
593
584
937
958
934
831
632
888
818
762
831
818
773
767
537
639
750
749
838
862
511
587
747
695
775
837
855
645
524
618
616
845
824
736
747
768
754
978
851
765
991
801
637
574
806
642
998
937
714
535
820
874
587
915
884
635
927
608
984
694
868
752
530
947
553
603
829
968
522
929
867
943
925
709
594
824
664
520
556
988
961
520
536
608
948
553
908
643
916
581
985
747
940
943
765
835
916
709
855
589
605
780
528
610
812
817
655
906
933
628
992
886
513
651
918
600
642
547
618
566
591
703
843
817
801
664
775
569
824
729
735
724
899
676
790
574
833
542
852
738
789
721
713
895
799
503
894
878
702
955
962
770
796
989
738
666
883
872
795
911
590
681
886
547
882
625
768
734
578
565
765
546
723
812
557
590
959
755
650
867
644
858
770
808
744
878
977
567
574
653
699
810
761
541
990
687
805
974
962
630
748
934
864
852
833
697
599
922
871
560
799
690
549
573
811
757
540
653
838
935
780
972
589
893
545
539
725
837
734
803
833
590
803
655
718
611
831
695
534
993
581
625
585
862
571
889
747
880
600
999
938
808
750
891
873
632
918
885
949
678
780
735
670
628
677
630
755
866
869
969
655
695
521
759
791
901
1000
922
516
606
796
751
683
893
823
690
945
979
882
512
506
675
692
816
980
627
937
548
736
595
943
592
898
676
579
990
677
855
853
957
612
998
906
961
544
692
774
863
734
821
549
632
953
879
972
597
826
515
843
924
814
643
651
797
587
539
738
647
651
653
730
868
561
817
916
573
862
548
684
960
585
736
777
797
618
822
882
837
531
715
530
860
524
747
900
815
890
697
993
952
677
927
938
897
859
515
719
505
679
652
632
886
640
943
984
659
619
667
876
914
712
702
642
525
885
852
822
958
706
976
966
536
533
694
860
681
711
595
518
977
571
546
825
931
632
541
777
560
860
818
702
517
1000
666
801
937
861
736
827
923
536
567
526
705
583
621
734
622
711
650
647
766
504
949
830
579
870
680
522
816
666
603
520
863
741
592
871
934
685
868
681
810
976
995
817
666
691
664
597
906
953
700
617
640
741
851
624
879
603
912
686
596
531
547
709
705
664
888
785
782
505
874
945
781
856
755
620
632
631
767
841
642
654
822
996
920
676
652
917
946
738
634
693
537
863
984
940
985
619
713
817
695
652
881
809
520
681
852
752
774
584
974
612
953
679
638
692
630
820
821
627
587
558
714
866
874
857
824
948
871
657
846
812
739
809
723
622
961
800
829
862
736
584
566
742
902
821
531
861
688
538
595
708
663
732
764
501
970
778
924
997
917
850
600
543
530
613
719
694
815
763
890
592
804
884
639
998
605
724
567
586
799
852
922
616
568
966
822
640
794
667
610
665
516
865
831
840
912
932
537
663
802
546
882
576
884
837
785
867
513
942
728
966
652
902
940
587
867
852
565
909
511
709
562
872
514
991
723
719
952
563
584
547
654
828
804
798
616
675
546
820
712
617
763
565
790
739
933
956
666
974
580
908
512
893
595
921
610
989
833
572
519
700
654
956
897
964
724
545
581
512
957
941
547
520
916
998
560
756
929
806
984
894
504
716
880
946
672
888
764
864
896
919
955
780
812
679
647
927
642
756
871
540
593
824
629
670
962
953
890
868
821
658
708
678
611
651
668
622
926
761
649
683
725
923
632
713
932
667
621
965
723
674
965
870
681
598
876
822
594
809
518
993
954
697
919
925
587
905
656
507
926
632
965
728
767
939
702
909
541
857
530
769
662
553
607
601
547
855
892
898
537
921
956
662
858
504
774
719
571
661
721
722
851
534
720
600
653
548
872
964
602
847
742
979
743
658
543
549
900
954
707
989
794
871
896
627
598
739
703
749
954
569
775
823
944
741
649
851
818
872
716
942
835
638
725
614
893
938
835
684
767
935
842
804
732
697
844
566
601
747
716
938
533
781
769
900
730
935
527
856
512
900
866
696
601
765
865
676
885
537
646
796
555
778
743
924
503
961
598
534
941
538
707
636
543
860
712
524
562
626
752
892
742
897
967
604
819
911
645
834
768
896
791
900
872
899
572
516
728
800
796
670
570
776
745
950
649
592
737
584
919
897
645
913
502
950
937
721
745
768
880
899
814
656
853
924
675
767
925
676
564
787
992
924
790
826
935
837
535
777
993
809
638
901
710
710
905
771
797
886
769
933
911
604
547
888
693
734
594
646
866
641
621
976
620
833
862
619
885
652
817
964
573
989
836
539
937
730
654
507
590
765
589
858
993
675
931
559
945
601
591
926
568
709
616
781
869
759
997
595
640
980
742
606
821
840
601
867
500
539
860
889
909
807
746
726
727
995
941
875
573
633
971
630
515
817
830
984
585
539
527
936
807
874
571
921
533
835
747
828
649
591
637
609
972
895
985
793
757
912
549
833
632
968
623
987
970
830
509
726
550
640
815
688
553
869
779
638
815
551
916
862
880
934
807
965
703
804
794
740
912
619
855
628
829
692
629
867
581
944
680
788
636
892
629
770
968
998
799
734
574
735
955
616
611
870
826
796
788
533
540
526
511
962
913
767
829
995
969
839
657
700
511
618
846
547
551
730
634
930
751
639
816
951
521
523
513
861
615
893
976
783
609
834
612
606
503
674
941
636
675
806
735
810
767
574
760
711
512
730
956
546
627
548
786
566
511
594
974
783
997
569
698
639
535
653
941
717
570
902
619
585
757
793
979
815
574
952
708
583
707
568
933
700
568
640
881
856
976
980
908
840
664
999
857
824
655
904
649
843
964
835
801
535
643
955
507
952
566
604
660
578
530
910
659
693
552
688
948
767
811
987
666
891
957
834
531
665
549
925
546
703
969
570
848
632
991
908
817
729
967
951
901
723
515
530
576
750
547
859
662
639
506
888
545
890
594
670
612
633
896
672
804
560
898
573
867
785
748
718
657
556
715
653
657
718
951
530
761
889
680
838
883
504
579
631
860
994
577
735
673
885
922
766
576
992
654
693
914
519
639
764
783
978
928
807
864
628
942
700
670
517
880
652
868
875
702
555
895
851
853
687
746
531
915
967
887
523
893
862
939
812
866
948
529
945
546
718
884
836
905
525
833
817
801
562
902
500
980
540
593
655
751
976
673
528
872
561
857
685
561
606
988
696
837
645
947
697
581
581
711
692
729
536
612
917
959
555
758
662
587
852
864
535
943
850
730
716
587
784
674
793
915
590
958
901
609
666
791
817
809
539
960
726
930
825
805
555
885
676
691
585
829
830
863
705
557
727
769
765
914
870
864
921
502
912
735
593
518
555
822
590
716
743
561
655
695
916
881
677
865
726
906
961
861
674
977
752
843
556
768
714
743
956
836
708
829
535
899
555
894
532
588
916
922
555
857
919
578
798
779
849
913
649
519
629
935
517
980
656
665
664
666
999
646
799
688
544
831
676
810
711
614
936
693
769
736
634
789
862
764
878
905
720
700
715
678
529
500
753
821
963
592
966
713
539
898
967
593
999
575
611
875
692
940
554
995
915
926
642
560
931
651
522
812
630
879
860
829
878
587
579
759
700
963
592
630
518
893
688
639
640
846
870
964
733
696
912
803
827
987
982
601
821
824
584
694
956
908
801
501
687
938
703
661
879
808
682
907
564
975
834
843
953
787
835
846
576
552
564
784
652
879
505
580
706
949
730
512
629
674
829
955
1000
643
948
851
504
849
862
933
505
694
920
512
966
588
918
833
529
669
948
531
718
596
523
770
532
851
959
783
708
761
952
834
936
541
754
577
538
554
841
701
625
508
929
714
741
893
799
840
820
716
749
997
828
618
821
973
677
931
815
727
917
971
959
591
957
575
648
814
816
713
819
717
746
951
803
816
750
557
808
858
651
879
934
773
863
945
626
992
590
875
622
647
732
645
531
906
638
956
973
723
941
664
761
527
771
725
577
704
935
540
702
654
946
808
818
792
844
958
816
879
925
850
727
930
808
621
657
773
887
715
906
602
739
775
827
512
687
504
652
715
815
822
692
541
868
844
550
918
634
766
842
833
615
965
839
667
665
616
537
583
683
781
705
907
592
642
721
842
531
568
684
654
509
926
929
866
678
701
694
879
623
903
517
836
653
710
574
882
661
903
707
1000
707
553
782
612
815
582
772
763
728
731
953
864
897
998
534
777
712
643
591
957
956
649
840
652
694
642
502
916
502
721
603
904
587
700
861
819
706
995
588
843
906
740
584
988
785
861
751
613
813
809
695
644
767
786
804
802
908
662
748
634
718
603
669
542
946
550
627
759
851
848
899
930
678
731
798
670
527
570
865
747
708
765
853
682
624
804
903
994
713
874
961
662
633
726
670
743
909
567
801
856
961
983
973
764
728
718
590
914
964
795
788
812
760
564
664
848
573
612
857
945
874
872
748
566
555
751
611
853
565
710
915
721
882
990
504
869
577
948
526
655
903
944
1000
710
806
651
717
783
877
925
639
739
709
532
564
537
957
680
517
550
915
507
975
891
836
784
650
885
546
852
704
531
755
806
532
918
751
704
824
765
930
815
813
928
578
764
988
630
602
684
838
993
626
722
600
743
621
786
928
621
952
668
922
532
931
944
809
740
950
726
728
896
876
896
980
834
871
801
767
639
714
988
942
973
879
681
901
584
608
544
963
760
936
566
849
673
956
760
514
881
538
631
896
651
704
880
567
981
734
874
975
503
995
905
642
875
544
697
943
675
896
900
742
633
547
855
769
821
849
660
598
540
693
715
968
816
840
609
819
848
648
928
826
590
626
898
783
743
574
929
676
684
756
951
913
908
652
751
789
805
856
664
552
510
947
693
691
871
805
839
989
636
686
803
639
955
682
923
958
722
875
802
635
599
821
508
818
883
629
567
563
584
890
901
660
528
724
594
935
920
880
589
962
537
532
656
840
968
697
592
828
865
725
591
958
539
798
545
847
948
963
690
731
708
981
698
791
747
522
917
724
716
978
974
856
801
713
838
657
584
600
777
686
726
916
630
672
624
981
544
919
681
793
703
906
917
780
596
719
791
921
728
602
553
695
854
576
817
895
975
784
919
688
671
927
834
952
583
639
591
568
924
800
922
926
744
870
909
622
545
526
745
791
795
508
821
615
766
609
780
601
928
810
928
629
671
598
836
783
945
646
756
619
695
780
576
882
806
879
834
952
723
963
914
652
618
550
693
957
899
577
608
736
744
952
505
501
944
539
935
722
906
602
562
967
603
712
946
641
689
592
531
705
970
631
503
969
634
520
785
767
789
660
615
862
986
909
662
847
855
914
633
556
804
658
898
638
678
832
762
573
545
793
759
725
914
958
814
906
735
765
650
973
578
598
664
827
656
822
869
992
551
569
520
724
638
716
518
913
500
553
613
707
732
715
825
923
727
546
917
994
578
611
549
631
592
684
506
847
753
755
957
541
791
800
869
886
711
623
559
840
512
599
578
681
943
686
550
705
984
925
946
740
675
826
649
1000
730
678
680
517
864
545
869
960
944
843
600
957
578
827
677
795
798
871
777
944
567
668
960
988
983
822
993
938
881
656
950
508
945
741
774
627
694
631
980
595
868
912
730
568
781
871
800
824
941
748
602
538
785
865
558
994
698
565
653
915
630
659
911
983
941
989
827
645
692
971
997
742
842
570
752
733
705
619
695
772
929
817
763
861
922
508
986
888
850
959
990
737
653
772
905
539
884
990
711
921
951
579
969
781
788
577
906
604
936
816
683
886
927
565
558
898
680
922
924
631
876
849
663
511
506
511
570
892
876
850
884
530
968
554
899
915
925
991
884
659
762
766
920
647
840
706
748
645
595
719
534
830
551
1000
903
961
739
565
658
518
772
851
585
778
990
957
767
694
675
512
877
951
544
708
538
542
608
571
525
736
793
758
829
767
797
867
687
994
646
907
597
842
964
854
794
513
791
558
871
550
536
797
791
669
975
712
709
986
896
749
984
613
683
996
699
721
806
737
959
787
962
905
527
628
831
807
870
779
946
957
532
797
819
611
895
894
584
604
747
921
636
768
540
531
615
530
879
830
912
623
640
636
952
608
748
635
529
554
726
606
554
723
903
784
753
612
577
929
971
909
723
904
991
976
903
999
984
888
906
912
946
867
738
903
650
742
726
976
866
508
672
924
722
514
881
858
569
825
659
651
547
813
676
591
838
710
613
793
941
808
973
816
961
826
928
834
955
898
601
677
596
965
657
730
535
693
534
616
642
944
894
573
914
704
979
738
530
755
812
662
978
753
919
642
697
585
625
835
939
578
718
837
696
713
638
933
667
991
657
876
508
935
905
744
912
652
739
951
524
850
771
760
857
693
523
758
887
924
894
858
734
530
715
784
598
847
569
970
663
592
545
968
541
749
538
705
649
921
763
845
814
542
518
716
761
639
932
590
729
951
530
848
584
702
861
994
531
520
850
787
943
619
911
639
507
554
921
793
939
982
894
533
653
845
791
793
527
628
904
864
885
778
787
650
816
935
779
544
655
559
801
797
502
863
838
579
659
503
617
898
717
764
908
779
660
988
582
917
798
893
509
944
912
663
869
734
932
572
559
631
583
543
748
747
789
655
998
883
858
615
822
955
512
759
526
868
782
563
875
500
820
854
740
915
759
811
967
749
946
963
673
691
774
877
822
518
647
560
603
644
804
588
565
826
844
818
850
769
913
616
613
718
569
543
764
623
667
522
914
958
808
737
762
722
961
946
531
511
778
913
590
620
922
744
880
914
618
967
837
938
724
737
770
877
528
884
955
838
724
696
802
777
773
909
579
678
962
822
758
572
937
713
779
731
996
674
599
871
884
572
815
719
527
811
807
953
871
515
736
694
645
1000
892
691
978
804
837
780
976
640
931
941
712
747
738
972
554
611
882
856
602
964
582
812
602
623
961
739
884
839
828
754
756
917
727
894
768
599
996
774
808
810
966
596
990
539
707
955
892
741
629
966
594
530
779
926
753
526
686
564
602
966
597
947
643
753
594
571
675
941
872
518
923
574
876
892
786
992
609
749
557
570
867
733
626
518
909
952
540
985
577
832
699
997
746
918
909
688
843
629
610
792
949
958
844
939
793
854
805
611
956
705
692
501
703
689
930
844
807
505
794
816
521
560
881
880
518
768
549
856
889
864
741
881
559
950
671
837
953
808
923
725
629
698
993
973
645
614
993
930
813
706
926
579
783
683
814
888
541
984
931
635
681
894
533
537
647
737
734
709
824
623
702
514
859
853
592
942
596
681
966
611
817
756
548
709
970
562
993
890
647
675
693
576
837
669
540
737
651
517
825
512
556
518
617
690
581
826
945
994
604
646
549
732
564
950
507
636
965
871
670
596
737
746
716
949
973
923
884
954
955
536
929
944
835
845
734
856
873
540
614
767
836
587
926
789
856
942
646
601
752
929
945
996
699
541
823
695
783
735
629
764
747
876
512
564
580
511
866
616
674
576
655
572
574
959
507
636
768
709
919
520
729
791
596
775
892
780
908
599
679
687
935
899
911
907
814
879
850
742
608
728
975
557
912
652
739
877
767
989
878
950
670
748
980
869
576
659
653
827
731
992
679
867
891
766
922
563
848
872
732
748
550
834
566
652
687
689
1000
992
615
734
939
647
651
625
853
548
805
996
802
993
650
833
585
764
829
580
843
899
633
986
597
705
799
894
858
921
739
630
705
969
666
860
672
902
830
742
992
755
526
527
694
780
683
655
613
739
958
639
629
787
787
908
580
828
974
628
785
585
548
666
712
624
589
850
571
576
513
864
676
768
527
879
586
566
686
940
761
512
751
808
813
867
684
597
500
533
833
811
550
735
580
673
989
572
644
726
628
913
685
517
889
509
756
649
612
873
556
589
552
702
686
780
636
592
882
805
632
573
801
544
771
649
652
707
967
998
800
857
767
709
897
867
605
547
966
618
768
734
504
848
955
814
784
708
500
537
880
730
939
913
549
903
889
639
649
654
804
780
742
813
856
832
624
792
980
652
660
921
662
907
613
552
666
670
929
861
651
627
814
866
542
609
728
526
870
655
993
556
642
930
833
969
532
526
857
770
888
636
670
989
770
693
527
777
506
772
688
799
946
736
620
533
842
888
659
648
940
936
617
759
733
939
652
523
657
746
788
800
681
987
811
589
560
906
896
987
871
828
958
779
831
882
713
633
986
502
909
603
875
569
781
962
697
609
531
520
506
904
715
633
935
938
664
552
684
595
885
530
760
554
658
517
794
858
653
725
967
691
705
934
807
676
539
510
901
703
746
872
587
581
961
565
712
882
742
507
865
549
806
675
875
527
533
914
529
610
997
782
563
809
830
756
624
625
563
940
872
975
804
650
569
879
679
989
830
566
699
543
869
847
609
973
751
875
695
917
691
790
827
865
569
734
813
708
677
848
745
773
920
688
551
977
503
508
729
526
512
938
797
834
869
704
819
932
952
544
859
784
912
870
955
824
810
753
572
811
948
694
792
722
818
700
665
714
638
960
788
700
629
930
871
755
871
925
728
919
577
542
807
735
961
715
709
591
673
606
980
764
855
614
992
881
783
867
822
790
802
780
718
815
608
723
572
937
751
970
556
944
932
868
786
664
665
702
842
695
698
754
560
584
851
835
981
794
965
675
728
656
546
678
868
568
625
579
717
634
924
561
583
946
565
649
774
964
721
526
694
997
897
580
967
938
590
508
650
520
1000
993
647
528
621
541
854
629
578
535
744
779
565
731
830
648
833
851
734
935
621
875
613
794
538
530
862
799
804
931
689
557
866
509
815
545
865
697
594
714
722
620
575
869
732
781
600
825
789
726
871
724
895
594
537
734
856
726
677
799
826
695
883
501
812
944
876
795
849
935
693
870
949
593
694
974
863
592
623
522
858
967
533
527
979
594
710
714
613
552
820
900
643
567
886
521
827
739
915
802
634
530
843
845
824
911
978
741
507
997
764
544
527
865
610
922
758
506
699
682
639
592
522
707
951
917
557
723
533
829
739
581
964
555
724
985
808
523
653
700
818
875
508
987
917
817
836
819
579
515
948
953
801
774
990
542
922
788
577
925
680
543
550
888
934
913
567
727
808
666
869
708
785
961
773
995
706
812
882
968
957
984
731
673
675
906
874
748
956
516
787
885
589
546
830
671
824
644
879
928
811
857
581
660
685
557
763
720
725
982
666
934
592
975
584
911
906
510
685
509
615
776
826
818
520
696
725
509
668
983
555
925
917
814
677
771
922
677
742
691
728
788
921
748
560
899
513
720
687
857
982
613
810
596
854
740
780
522
720
807
680
533
790
539
822
727
712
626
755
645
643
830
985
698
935
616
522
651
661
538
572
618
556
894
641
999
805
596
534
649
849
733
595
752
718
767
831
713
567
895
639
738
504
554
745
898
544
989
853
519
628
776
562
829
607
791
739
594
799
800
545
565
636
941
709
784
955
989
760
619
552
946
868
639
553
818
515
688
622
812
591
578
983
955
502
725
608
747
501
879
795
724
848
631
881
1000
916
756
901
545
767
529
617
708
855
951
701
760
770
894
855
970
930
897
978
838
550
944
705
840
972
856
955
567
876
541
880
895
567
667
578
671
806
792
687
818
544
539
852
637
752
895
815
535
731
627
707
775
743
679
777
862
808
676
779
976
929
926
720
804
906
790
699
746
974
725
599
796
980
625
738
916
735
629
613
983
798
760
828
687
882
858
794
508
990
564
929
815
614
876
510
892
733
660
788
786
850
860
774
750
684
552
810
541
851
781
954
729
586
818
801
690
549
615
852
640
828
794
917
921
544
615
671
527
916
736
570
611
728
537
566
584
826
762
636
860
935
817
636
710
926
800
808
514
746
996
518
842
996
990
739
657
828
977
954
541
684
634
613
539
863
663
923
716
886
885
686
673
845
720
852
594
666
555
940
885
837
559
980
981
712
808
946
507
588
837
821
539
579
962
993
757
727
772
885
877
578
837
848
501
620
752
980
959
846
758
995
687
677
549
592
998
956
690
777
525
532
834
723
555
806
655
711
793
554
543
711
774
800
886
853
741
598
574
614
682
657
869
980
580
755
750
940
560
633
539
557
591
904
873
990
501
757
654
761
953
539
627
976
871
707
970
663
661
632
971
874
660
983
879
906
816
694
590
680
695
587
581
607
610
918
767
775
671
508
811
514
918
851
584
885
933
758
778
851
773
686
790
738
818
809
777
520
645
518
846
676
535
1000
896
563
820
503
550
574
559
663
696
999
833
689
634
631
766
806
899
688
769
926
829
630
569
734
944
562
594
770
889
591
669
554
944
797
848
552
989
514
746
782
903
927
695
708
576
750
845
811
978
994
800
805
559
815
591
613
736
891
968
849
805
642
527
563
922
685
627
599
857
805
610
500
710
842
622
910
573
845
653
611
515
688
550
668
921
795
965
508
567
557
626
642
966
686
942
606
699
628
658
728
731
844
809
709
759
953
748
629
939
683
711
704
925
873
600
740
777
949
784
573
871
775
826
642
790
978
792
849
533
711
500
518
958
808
922
752
680
998
920
716
627
591
757
631
999
812
820
619
545
735
743
930
930
505
588
619
644
578
985
619
837
814
899
939
983
689
505
697
754
662
664
999
530
851
797
707
724
879
957
964
587
667
750
949
792
681
643
807
736
713
601
816
670
694
914
625
864
888
823
713
940
526
536
659
900
739
958
944
911
964
908
917
702
737
715
962
797
937
981
595
804
670
529
978
936
687
937
542
541
795
862
651
545
957
812
799
589
899
739
944
962
981
606
808
855
772
655
710
980
996
730
838
919
632
773
793
872
675
641
582
760
589
644
857
972
856
862
923
773
799
773
806
555
703
898
520
874
749
566
966
577
530
626
906
879
522
730
849
603
731
927
564
871
539
666
855
809
979
887
735
706
821
926
876
813
851
689
950
975
904
655
683
778
587
715
866
931
720
811
601
924
713
545
798
943
675
733
776
814
932
814
810
599
780
706
705
827
786
636
941
600
653
538
879
794
903
895
991
646
545
604
581
909
859
756
792
951
920
591
911
692
792
921
673
537
629
695
832
676
548
815
744
656
778
532
784
869
505
625
522
524
788
985
811
900
900
503
570
707
723
935
555
758
634
980
823
689
843
888
511
761
861
875
848
614
545
736
615
590
938
561
538
772
594
958
722
523
852
886
536
968
662
788
635
810
703
994
559
568
798
698
588
729
806
670
918
842
513
963
560
558
741
733
529
538
684
715
504
849
988
819
596
719
631
743
975
763
805
672
840
722
786
692
966
751
812
624
903
773
645
749
530
886
739
789
995
742
531
531
600
994
902
617
874
925
687
958
760
926
827
642
835
583
652
737
933
836
512
561
736
948
627
635
765
704
967
643
932
508
940
903
598
980
811
643
751
664
688
929
668
656
884
689
887
600
857
834
709
517
610
996
632
733
621
508
766
939
508
538
613
689
687
783
995
846
818
543
748
547
698
975
784
533
575
898
784
800
838
847
824
515
927
945
910
563
605
723
553
615
841
633
873
657
930
545
867
726
921
762
563
909
804
844
526
754
990
684
627
825
743
609
641
534
791
765
850
942
592
912
800
967
586
599
960
744
961
738
571
809
897
850
514
687
667
747
703
974
988
538
573
785
563
945
871
535
517
759
515
666
982
1000
935
969
657
577
692
850
985
818
500
968
606
534
745
918
638
760
821
964
717
699
681
928
707
964
701
916
650
833
597
927
795
558
813
983
874
535
948
578
833
696
589
957
650
691
631
950
981
811
573
703
515
950
546
746
507
801
651
735
584
552
675
515
794
678
845
861
620
731
651
655
726
644
612
885
644
882
570
755
581
796
709
785
694
638
947
662
798
883
761
664
735
956
969
956
884
524
533
720
746
920
975
649
942
700
980
505
615
503
620
848
854
930
850
742
798
819
683
603
793
888
991
624
586
628
918
601
636
849
713
853
957
832
574
688
736
896
816
833
605
599
540
964
788
935
586
806
693
758
813
924
878
853
648
622
985
925
572
543
511
575
730
790
834
878
806
653
800
643
533
549
920
661
661
679
957
650
891
734
642
782
564
714
537
700
548
523
718
999
889
849
533
964
896
724
542
989
728
507
653
686
737
513
659
623
842
734
712
982
513
662
572
630
562
543
501
686
965
979
565
601
537
900
589
905
966
589
744
867
511
733
659
536
591
999
553
529
541
708
609
805
632
600
998
814
720
548
607
560
988
602
909
684
517
727
623
561
582
860
796
754
530
926
784
939
771
657
610
513
692
960
943
985
843
773
875
604
690
988
595
897
782
725
872
868
533
725
867
964
929
591
571
901
647
946
522
697
511
814
611
808
832
503
1000
632
613
774
757
746
760
945
738
613
683
780
821
920
670
560
750
919
827
859
742
507
945
609
777
532
740
790
928
979
722
753
992
585
730
874
782
858
829
534
594
985
839
632
691
588
507
567
860
970
749
928
892
899
623
576
936
532
639
975
954
982
753
600
763
593
553
936
505
706
918
645
727
737
574
563
722
768
815
863
523
954
958
879
521
506
893
670
745
882
763
509
524
952
588
711
730
588
697
582
617
924
810
888
628
902
933
515
825
631
567
949
551
844
747
573
778
645
649
500
935
940
734
973
844
806
683
954
854
854
794
720
869
659
565
900
778
856
606
948
786
634
856
769
570
513
548
693
842
790
656
591
942
599
964
621
541
545
898
923
847
840
849
571
783
735
584
684
682
541
546
905
959
576
960
982
515
964
973
832
769
517
690
504
775
897
636
836
818
669
670
726
933
652
692
770
948
771
518
556
812
832
686
871
754
813
510
830
558
693
548
644
696
970
592
1000
748
724
889
895
699
528
510
758
929
881
794
890
684
540
598
502
773
648
770
825
725
631
890
589
845
832
722
848
883
592
728
663
860
802
650
709
983
791
783
747
727
696
506
622
823
578
576
925
914
718
753
789
616
681
958
802
762
599
666
638
732
696
986
796
969
691
617
811
779
505
902
669
986
877
743
802
925
559
622
803
584
630
843
729
942
701
526
825
619
586
643
729
806
925
885
658
663
831
516
530
571
965
829
979
726
714
952
682
829
946
533
688
520
794
818
756
822
771
714
666
616
503
646
809
665
860
510
719
877
631
913
777
656
563
837
540
769
945
506
692
953
931
930
633
662
716
834
736
934
814
825
761
706
526
992
678
617
915
683
534
796
765
732
831
892
735
736
917
616
810
909
810
549
815
520
885
798
930
731
829
566
812
646
568
768
534
523
861
935
549
590
818
709
983
823
895
632
662
549
523
987
559
874
785
687
633
820
708
994
514
744
572
828
627
820
756
532
738
881
845
601
980
777
961
795
877
829
566
673
705
720
508
872
880
776
888
707
965
687
830
500
677
991
649
882
698
781
511
795
838
948
891
630
830
895
889
781
837
551
810
661
579
933
687
958
547
541
950
699
779
645
722
872
886
661
694
573
591
633
952
651
942
891
601
758
541
838
509
773
564
908
776
682
893
680
674
781
594
968
979
845
673
704
505
844
669
540
686
889
934
580
660
764
529
728
505
515
983
656
662
988
539
650
571
696
915
623
770
511
862
662
879
921
798
819
724
826
802
795
795
651
761
993
698
550
596
806
718
919
508
729
891
957
831
987
865
568
838
945
659
755
893
509
875
659
731
980
548
627
634
500
592
570
914
932
724
855
960
516
760
911
629
901
976
822
526
714
620
736
890
712
954
939
705
764
747
534
675
929
775
888
613
971
988
847
960
878
762
600
722
693
742
604
770
688
572
699
556
886
846
612
508
545
973
785
951
522
699
636
910
526
763
904
882
837
728
573
867
829
564
532
964
788
773
916
577
827
687
953
997
664
828
532
924
672
752
799
841
878
560
580
723
626
921
804
811
877
628
503
768
907
678
726
501
621
972
629
600
938
657
534
656
740
956
645
777
553
872
876
639
992
572
903
960
568
522
959
906
700
608
586
850
693
733
711
724
944
904
628
732
769
963
672
657
647
976
977
721
981
558
810
800
879
834
703
918
934
952
647
960
572
622
788
744
555
592
575
742
595
954
989
985
910
688
931
627
582
754
587
681
551
796
934
789
645
597
643
527
592
566
882
872
903
895
953
916
903
882
605
635
517
797
939
788
837
559
663
895
968
765
608
566
838
607
942
834
863
773
559
829
945
645
938
657
965
634
541
522
743
790
626
586
587
759
566
981
673
583
942
711
524
817
792
569
726
674
651
888
678
621
645
999
641
706
548
551
882
582
618
718
651
878
766
952
782
938
764
597
753
594
709
875
922
700
812
539
781
917
921
966
836
579
626
690
699
865
903
614
751
546
545
766
771
925
722
882
880
533
771
572
737
870
552
675
696
880
562
954
923
815
767
570
822
888
961
798
508
751
794
780
501
635
561
817
777
883
902
533
693
696
683
976
921
553
770
642
555
709
795
766
635
563
816
562
718
841
530
666
915
728
822
734
632
725
535
956
827
752
539
664
650
759
944
821
815
942
934
792
625
691
677
911
844
709
655
549
807
622
895
789
926
614
989
516
735
661
910
573
908
673
523
539
561
892
676
520
917
762
585
917
717
943
681
535
918
866
795
524
797
843
554
592
529
653
966
508
794
714
995
609
540
823
528
554
593
700
568
880
733
670
812
1000
649
684
639
717
937
995
720
941
834
658
633
691
778
626
751
889
923
731
940
977
867
987
735
760
529
906
880
839
531
811
635
750
869
670
946
996
936
622
957
538
848
952
902
988
823
994
987
747
989
712
539
945
870
526
504
537
918
833
646
597
541
869
594
932
644
895
851
613
651
805
584
875
805
928
568
680
813
878
980
725
870
558
631
769
985
530
769
938
548
592
722
508
944
873
710
899
868
916
572
613
597
873
736
741
758
502
833
678
551
914
887
626
916
549
758
521
930
735
863
741
672
625
576
954
992
968
909
620
863
808
757
894
942
993
605
606
730
773
625
900
573
875
761
688
988
723
935
742
745
789
947
885
781
569
591
794
734
563
921
854
985
933
988
875
957
834
686
558
794
523
581
648
904
836
848
856
854
705
742
936
724
545
793
991
746
750
688
860
634
700
568
530
889
960
967
971
562
835
810
590
733
838
548
847
695
878
554
790
992
707
846
695
918
678
597
865
535
812
743
895
735
814
780
511
712
924
766
618
847
635
695
561
662
964
722
646
671
800
525
892
568
743
601
650
721
600
504
566
949
597
756
998
560
816
985
914
513
995
724
877
721
729
620
561
748
527
877
891
626
961
637
931
582
746
645
691
944
697
710
640
884
565
983
859
791
664
984
971
782
655
632
864
712
571
896
784
777
801
972
803
580
565
542
526
500
989
580
584
563
933
912
822
506
711
729
949
967
967
567
708
961
908
820
663
933
795
877
690
905
844
805
802
727
638
915
901
786
952
981
636
726
627
872
602
911
886
786
677
509
689
944
926
957
608
828
931
554
765
837
634
793
731
624
657
808
662
574
651
917
886
777
986
992
749
780
503
657
967
539
520
914
942
650
778
755
702
715
679
702
867
912
698
836
744
731
603
543
733
773
734
988
691
936
503
930
590
681
887
524
778
527
934
718
750
513
967
885
934
651
511
840
715
608
967
647
987
726
872
612
815
834
506
642
896
654
550
542
735
589
503
888
914
667
643
721
507
620
723
636
849
740
509
734
790
888
889
851
945
664
707
783
951
518
543
762
553
925
593
902
657
857
943
725
818
845
738
992
541
647
753
535
678
918
578
953
514
559
852
853
995
516
502
505
688
698
623
822
926
673
666
530
635
628
906
773
636
710
639
521
517
923
965
733
633
990
529
558
549
944
776
803
594
721
724
500
763
976
799
979
726
901
887
881
687
698
921
867
887
825
811
862
885
610
558
572
892
572
691
633
746
676
603
829
893
515
630
580
925
660
556
742
878
819
967
537
551
875
744
893
583
954
634
618
663
835
813
532
573
761
753
904
818
919
501
955
543
701
823
725
931
989
566
890
960
587
685
897
774
998
989
810
961
878
663
893
675
569
665
811
635
720
873
843
847
723
975
836
750
537
675
824
751
631
669
633
895
996
713
701
937
949
934
822
752
822
974
766
503
527
963
651
788
926
701
691
896
703
556
581
602
573
898
871
526
831
699
885
598
724
934
654
919
988
686
585
737
778
986
575
938
994
893
599
548
588
669
936
940
972
844
699
773
743
831
888
795
582
974
953
765
543
791
720
838
765
727
526
870
780
889
804
907
627
604
884
931
902
756
694
724
674
733
915
618
595
530
917
529
777
891
748
513
621
843
746
576
646
858
945
524
876
544
705
639
912
564
809
560
916
792
886
650
856
793
809
794
947
587
863
785
917
540
633
928
592
992
747
531
926
837
639
924
945
553
737
716
905
853
825
702
782
508
646
562
644
719
604
624
716
756
578
967
581
528
990
832
524
961
765
559
998
856
994
764
715
508
691
878
532
691
838
895
953
997
615
859
562
872
730
513
820
828
866
771
879
558
645
999
650
671
549
582
687
928
866
885
653
778
963
631
982
975
832
509
984
867
882
503
522
917
549
730
544
563
695
772
953
562
625
997
536
787
815
612
634
999
928
642
761
521
519
661
608
534
720
922
526
828
926
776
758
689
758
717
579
550
776
873
575
702
862
605
962
511
826
543
847
543
876
651
921
680
788
727
692
809
743
835
901
569
615
896
581
550
670
617
980
966
937
504
821
564
955
756
509
921
743
521
824
928
503
523
704
866
604
792
680
786
634
852
511
601
516
855
759
707
833
678
902
508
829
740
742
698
946
561
971
512
878
954
916
702
982
811
544
612
606
591
731
880
831
970
934
755
793
676
651
789
683
770
630
727
652
941
882
627
606
802
721
841
768
983
892
647
717
754
613
507
546
709
671
744
719
709
908
669
726
913
912
564
982
570
717
555
539
512
976
707
759
959
629
911
932
724
961
513
606
628
662
569
684
805
924
968
757
777
984
533
733
984
528
557
654
903
923
610
852
936
717
764
837
532
808
528
744
695
992
632
914
700
500
718
929
861
887
905
526
566
891
531
760
623
767
656
732
952
866
813
703
850
974
953
858
645
717
996
650
787
616
953
811
688
857
725
532
814
742
790
762
680
756
557
762
983
530
687
774
765
676
749
593
714
916
834
811
846
709
615
878
844
624
502
832
971
564
894
638
714
503
810
644
772
637
733
823
508
727
811
520
729
994
816
648
808
527
774
822
778
555
956
969
656
996
841
632
725
775
915
913
658
864
655
970
764
851
765
520
711
564
989
946
574
771
555
619
771
792
607
636
502
672
887
874
987
984
559
569
654
636
528
870
823
558
892
714
862
993
891
833
616
550
872
866
959
652
940
610
959
825
730
924
709
893
782
808
703
810
522
782
820
848
558
717
592
729
811
604
754
947
529
981
705
648
851
524
751
815
703
819
764
797
692
897
900
652
759
919
572
632
664
929
507
950
866
608
870
922
572
738
954
866
634
979
616
894
891
714
635
868
655
666
763
598
508
632
810
882
552
964
701
950
955
601
535
753
791
866
681
718
883
559
662
696
719
635
608
736
882
841
888
928
611
860
531
651
742
736
924
783
779
713
555
692
798
976
739
512
723
821
569
645
659
806
533
766
898
529
636
500
586
725
928
886
922
617
511
737
967
642
879
628
553
743
962
882
546
627
830
928
633
922
770
689
994
959
603
664
843
785
755
730
700
844
953
823
995
860
670
573
807
525
617
918
533
755
573
991
945
757
961
525
636
583
540
547
647
967
794
571
994
879
534
975
813
623
666
994
591
704
928
938
980
900
595
738
683
507
879
564
915
881
571
814
578
721
809
640
994
623
983
755
904
997
552
708
533
685
635
972
884
851
792
572
596
869
761
642
966
980
675
689
737
938
861
593
868
734
585
866
567
681
560
972
571
814
724
542
574
527
776
977
867
683
846
742
555
957
850
598
721
642
600
801
501
637
672
681
551
700
993
712
844
508
912
848
898
695
714
577
662
786
605
989
642
529
983
760
884
630
675
667
747
623
795
549
740
684
774
577
889
851
616
975
859
946
566
961
631
741
723
837
521
790
556
577
575
674
615
555
773
648
836
918
770
929
798
500
855
973
743
950
793
565
791
725
670
805
592
713
795
761
808
799
732
605
992
703
677
921
960
590
690
989
579
743
872
652
507
962
794
674
858
749
873
849
928
933
531
774
626
959
606
658
539
691
756
546
570
842
881
764
658
870
510
507
901
549
725
711
817
977
751
610
592
869
698
722
621
696
763
647
592
937
866
905
675
696
708
651
635
849
828
586
662
790
725
719
583
757
777
976
686
789
954
900
559
549
643
648
659
587
599
765
657
630
576
982
546
709
840
599
507
804
986
769
683
714
793
969
732
948
800
617
805
514
806
562
939
951
961
957
900
995
910
719
792
572
719
913
937
968
741
572
714
857
761
843
829
664
867
688
981
809
881
808
828
735
1000
689
877
654
851
651
531
813
869
590
640
981
732
982
755
798
783
978
780
632
887
625
596
999
779
930
772
793
980
890
518
871
543
649
635
867
863
766
702
670
590
757
872
799
931
999
704
742
572
662
639
848
794
777
893
891
950
992
777
943
524
907
711
668
816
759
739
927
849
812
739
756
911
901
544
631
583
700
550
894
877
909
813
606
591
513
862
982
969
803
997
511
684
606
651
778
842
770
690
863
715
906
730
974
978
948
505
652
736
964
756
612
945
648
621
563
948
971
582
586
903
660
593
892
521
571
616
581
518
706
974
811
752
648
630
741
506
681
885
801
794
691
853
564
918
654
539
736
586
543
822
929
902
552
693
535
637
565
550
855
884
674
705
983
823
642
625
654
592
505
911
831
671
696
624
979
688
519
518
976
882
828
747
737
774
512
904
555
765
788
630
984
798
891
682
799
805
791
896
922
888
527
707
856
680
542
702
537
891
565
523
633
864
987
818
770
696
974
806
808
939
523
945
769
900
576
546
595
770
603
600
512
690
647
527
975
931
970
770
689
864
1000
679
706
952
952
688
959
725
829
570
555
560
931
748
819
733
891
558
826
955
833
592
667
736
673
715
729
715
884
603
995
992
800
594
537
536
723
777
698
669
955
575
711
905
984
814
626
735
867
931
930
837
770
990
736
761
786
972
907
762
686
980
812
822
853
567
988
855
996
600
731
505
822
748
910
789
820
952
821
963
829
570
855
535
745
657
868
856
519
800
508
524
564
905
566
572
701
696
840
693
744
802
936
954
600
821
713
724
700
544
624
582
971
875
706
940
503
915
567
699
622
564
809
728
505
992
684
577
751
616
510
586
645
773
505
836
713
947
792
689
573
917
615
945
907
710
903
737
789
932
870
977
991
569
859
537
738
885
728
651
994
900
949
538
733
604
616
862
905
632
691
704
558
799
781
776
737
604
809
525
903
522
655
689
924
532
626
866
527
856
593
911
749
831
978
1000
975
596
1000
769
985
800
861
969
554
747
872
612
724
972
935
570
947
976
593
634
912
725
558
573
829
503
884
611
965
671
680
643
734
962
939
690
617
652
774
519
516
983
551
531
993
582
649
830
994
562
890
960
756
961
648
778
678
965
557
701
503
825
995
779
948
622
608
582
758
654
985
995
935
576
940
808
964
810
626
955
579
665
580
736
567
894
921
897
956
532
681
626
993
518
876
933
633
739
547
597
587
716
814
966
505
753
989
745
529
974
900
546
593
915
895
720
858
561
821
765
660
742
549
527
950
805
592
841
997
791
630
805
879
890
761
752
512
520
585
647
785
862
822
755
823
582
959
518
959
511
505
919
585
766
800
816
973
811
794
916
924
843
519
946
884
697
531
523
787
803
923
758
951
925
839
894
605
542
530
724
895
635
747
554
870
899
580
564
791
505
572
802
707
989
923
846
519
542
662
842
801
712
819
936
883
666
612
933
986
733
552
703
504
585
776
990
921
513
647
728
931
944
970
930
602
885
679
958
750
826
862
600
757
921
881
511
602
679
857
722
792
742
515
613
913
593
533
612
528
693
790
881
949
726
581
843
993
702
727
920
620
881
756
667
632
907
685
746
880
749
558
659
632
613
656
829
530
971
698
989
835
628
595
774
915
805
867
716
800
570
922
712
780
555
951
991
673
653
952
865
506
928
736
643
690
807
658
545
588
517
534
789
798
558
583
525
558
969
531
597
527
828
967
718
998
970
713
680
951
538
776
623
545
680
599
855
668
637
794
617
870
513
767
653
803
590
516
819
769
834
602
935
990
724
934
850
529
953
803
546
782
685
815
976
794
646
515
870
671
695
918
531
531
625
855
795
602
929
592
779
718
509
689
757
617
773
837
996
642
696
647
722
882
714
1000
539
932
625
899
605
639
789
795
828
749
540
762
800
544
931
789
974
942
601
842
599
918
945
987
858
517
547
970
820
734
562
729
585
773
970
632
994
963
686
939
526
973
809
990
723
642
929
600
743
561
560
676
573
676
773
682
975
875
853
965
996
658
626
982
821
534
633
903
530
739
755
574
609
804
668
853
548
925
772
699
813
703
938
716
504
683
940
790
938
827
832
591
774
764
948
891
996
768
571
605
944
857
695
584
832
737
707
785
791
879
777
626
690
822
808
539
823
815
922
707
808
836
733
977
823
523
567
667
834
748
807
812
985
630
928
653
846
618
914
566
728
914
998
825
845
989
605
866
575
668
886
512
902
716
739
958
524
902
574
716
975
536
677
512
567
619
981
738
623
844
905
766
943
921
673
705
784
583
790
738
687
823
947
751
852
654
851
573
642
751
948
810
856
666
940
956
676
803
507
925
709
544
546
699
676
941
689
991
743
968
755
889
672
570
515
768
655
907
684
874
910
964
755
725
652
703
996
513
688
726
555
813
809
705
667
632
543
716
904
950
708
837
750
781
681
756
911
650
639
975
580
532
924
629
627
835
894
733
699
745
955
644
941
545
644
644
931
891
966
597
998
902
802
754
603
918
799
941
954
673
739
737
935
517
781
706
588
677
512
705
582
941
693
620
767
585
515
779
577
835
812
684
563
761
527
780
979
605
862
929
814
526
595
779
970
680
954
606
616
551
520
529
651
509
662
788
708
883
779
824
610
862
619
541
711
508
930
757
838
568
820
613
615
711
707
651
672
946
680
542
919
685
777
609
800
812
710
522
958
673
709
751
761
846
824
639
864
777
570
825
902
842
579
543
834
640
700
731
689
551
763
654
555
511
765
873
864
834
616
579
621
782
742
670
707
674
812
963
859
617
665
940
622
868
633
933
528
889
938
621
923
930
631
858
839
865
634
893
633
802
681
507
973
666
770
885
518
518
861
967
775
929
932
623
777
842
711
858
617
964
597
597
999
931
669
748
930
666
989
599
607
685
738
615
820
723
544
524
738
875
862
865
839
509
783
649
703
615
552
631
970
898
837
810
774
695
501
504
698
593
930
529
630
669
886
531
821
591
911
509
578
962
906
804
799
705
911
727
858
531
885
851
627
845
688
922
956
986
671
803
782
664
849
551
742
694
886
898
768
975
910
787
732
724
959
877
918
595
721
524
665
946
607
939
712
592
974
695
674
941
679
915
931
535
548
664
508
664
703
931
741
734
934
922
974
512
567
900
966
836
584
655
925
789
666
853
531
851
735
885
736
743
978
692
785
582
856
671
887
948
532
981
533
513
651
979
505
635
676
811
757
976
803
761
533
960
859
611
542
538
513
830
846
985
829
539
505
772
857
508
668
944
798
681
661
595
997
521
981
904
921
570
755
790
703
952
836
666
557
516
752
956
719
798
969
546
765
866
512
957
533
986
655
684
734
609
653
906
686
764
735
682
569
895
866
874
949
708
598
988
882
755
685
804
730
636
728
982
517
797
762
639
969
890
558
975
813
847
837
604
709
980
656
645
820
596
598
894
948
727
548
589
822
940
639
563
906
982
570
829
541
839
961
855
880
996
557
535
849
861
748
514
542
681
996
501
923
660
556
792
975
717
608
716
739
721
819
738
838
934
803
655
576
896
574
511
854
938
727
926
941
939
658
961
761
947
798
680
635
938
597
632
620
642
565
664
959
880
990
920
954
710
699
675
751
716
742
705
743
763
738
845
850
704
797
958
791
517
648
926
588
600
667
735
516
964
759
503
621
704
515
536
677
975
517
929
515
854
524
927
958
714
545
648
800
800
700
857
759
869
643
823
883
511
791
613
655
513
813
696
516
595
735
849
852
515
921
616
919
1000
947
509
772
980
502
638
856
726
626
585
566
842
940
955
863
803
842
951
731
733
903
765
980
626
516
776
822
785
749
995
949
794
972
682
841
977
877
746
514
866
729
597
881
792
879
693
756
542
842
587
633
831
526
991
521
563
976
616
931
741
550
896
881
988
925
901
725
540
546
722
914
918
668
922
998
704
845
631
610
973
679
615
817
855
803
873
576
1000
644
908
526
585
529
687
953
751
596
584
729
910
922
623
850
704
902
526
870
630
635
542
693
597
500
869
934
554
705
908
644
630
829
789
667
865
984
566
855
796
593
975
872
640
514
703
629
574
775
530
716
534
986
697
553
962
788
977
722
637
795
510
927
526
859
843
557
727
569
671
896
947
806
532
833
554
528
984
983
563
606
957
978
724
652
831
668
740
620
556
919
802
869
654
771
911
867
607
957
998
843
694
999
697
832
513
748
577
791
560
943
619
936
717
545
610
871
541
734
789
674
744
889
824
612
785
500
565
652
972
824
627
955
735
762
595
607
598
556
930
839
934
707
695
994
793
801
853
519
977
806
553
856
736
653
636
913
525
727
962
829
869
802
953
534
708
833
687
879
862
921
599
664
591
871
665
807
676
800
891
569
575
687
697
833
512
732
656
791
857
713
696
812
516
914
891
562
968
838
867
619
906
997
685
882
893
959
557
735
776
861
987
946
804
574
962
902
678
541
529
984
981
669
707
637
541
985
928
829
653
738
646
531
612
626
559
700
557
699
538
797
629
650
965
809
677
516
981
860
731
804
907
650
641
729
689
969
695
540
678
672
614
719
566
522
606
586
835
882
818
689
926
610
561
721
508
969
572
791
950
721
705
818
678
575
708
844
840
865
573
920
714
570
999
966
843
697
977
864
813
538
910
703
811
964
842
786
778
762
876
785
947
504
777
583
660
809
674
806
719
923
598
996
774
568
922
995
534
902
540
741
644
702
823
516
610
679
952
551
747
938
979
722
895
777
921
621
628
951
890
926
527
892
683
784
633
911
946
794
976
833
781
717
695
994
872
649
584
885
856
849
729
799
653
774
747
612
935
951
875
885
637
862
671
751
739
764
587
594
544
741
748
959
605
836
948
818
862
954
651
871
950
762
947
689
692
750
839
717
569
599
922
805
677
813
706
505
594
766
602
998
709
577
640
853
525
808
898
956
949
819
552
889
858
968
758
895
521
925
949
597
804
675
931
688
626
931
892
902
752
516
918
622
671
798
651
852
508
948
761
561
603
676
621
520
843
657
961
787
734
912
558
945
936
741
747
579
581
736
885
767
619
984
631
936
981
944
571
762
670
695
613
659
682
877
803
827
677
546
968
600
574
707
986
730
686
785
805
797
647
890
605
892
552
779
569
649
620
867
618
812
729
635
958
840
858
985
927
500
736
936
664
615
803
548
796
999
857
738
921
928
948
644
751
777
668
876
684
895
863
948
889
507
673
716
968
974
558
662
725
739
848
832
825
927
897
838
830
757
505
997
816
918
810
880
740
755
563
839
804
745
742
936
989
637
513
755
648
595
872
981
817
851
960
846
799
671
661
865
903
775
538
832
689
637
813
811
596
650
821
730
622
658
736
996
706
982
768
693
963
667
623
648
824
929
826
503
989
783
569
544
837
732
984
923
982
686
891
682
915
761
702
749
966
906
521
507
732
787
946
935
696
813
743
620
702
901
887
784
709
953
992
578
724
864
709
689
542
704
841
643
919
572
608
613
865
983
748
551
624
509
997
551
633
618
906
740
932
842
656
639
834
549
783
568
520
629
602
570
885
882
899
506
866
502
540
964
876
708
634
601
556
916
638
503
730
755
771
850
942
795
601
610
986
807
857
994
572
917
638
728
948
914
954
784
657
613
803
862
584
716
892
596
973
584
576
688
853
991
966
834
522
570
860
909
743
974
671
760
633
735
858
890
692
867
757
837
803
869
723
734
618
960
747
726
592
984
896
787
717
842
582
709
666
906
562
847
846
721
873
810
530
683
693
719
711
709
793
518
635
866
914
786
812
682
926
719
734
580
762
630
676
766
591
706
782
822
882
827
695
666
620
996
870
954
885
551
752
856
511
915
636
628
591
873
808
755
997
520
595
956
582
776
960
776
796
668
686
567
893
663
622
584
629
566
547
679
822
618
980
595
856
846
599
989
530
970
597
502
922
728
981
953
894
731
653
798
827
677
577
981
732
980
649
870
867
732
982
614
952
919
776
657
944
872
566
792
699
691
546
884
839
650
775
544
718
862
943
911
872
989
940
733
963
812
866
860
546
943
904
774
722
512
751
856
669
788
504
664
594
892
761
577
750
605
900
569
919
705
974
956
930
628
893
682
913
942
863
631
844
639
743
510
751
854
767
796
531
543
543
682
552
812
938
873
549
610
580
846
618
863
834
784
599
550
971
609
753
912
711
551
800
593
533
521
607
876
946
846
982
843
907
644
690
530
696
970
811
872
919
532
899
860
920
857
952
877
885
705
544
649
574
789
703
638
641
921
701
741
603
909
820
929
704
801
515
735
590
764
784
613
986
714
790
917
754
745
758
755
632
979
588
883
740
685
577
770
844
737
909
903
945
629
866
696
508
814
591
911
875
952
750
683
659
502
818
725
514
970
667
735
909
540
596
662
857
729
943
808
667
579
713
975
839
798
588
624
761
902
671
550
877
745
571
620
792
560
953
540
625
807
504
563
838
699
690
947
883
853
634
929
628
927
860
940
675
544
625
953
537
833
725
570
977
578
585
644
798
948
944
922
727
853
547
716
912
732
526
876
987
584
821
770
887
783
971
996
971
520
586
886
648
703
595
638
848
882
705
504
866
798
809
557
667
885
786
652
815
792
746
549
517
884
522
564
588
825
953
825
784
643
841
897
934
739
849
776
746
629
550
937
827
787
783
509
573
648
874
592
791
537
843
774
533
970
682
960
737
833
788
556
527
607
848
964
904
856
878
910
668
803
927
687
997
824
852
617
945
860
734
974
898
838
575
727
590
791
932
822
602
563
870
934
502
605
581
720
965
811
736
960
789
912
698
663
741
963
576
549
580
534
886
652
596
756
986
587
630
708
569
508
965
846
573
989
507
943
641
738
1000
812
897
797
626
510
500
915
599
958
602
770
643
967
938
629
675
776
602
894
964
568
988
630
709
891
806
835
945
806
800
910
997
885
739
588
820
810
548
778
550
506
761
540
916
500
935
927
691
762
764
898
758
566
705
599
852
675
885
952
536
604
911
838
747
790
707
976
796
505
791
817
939
556
724
512
880
927
672
973
890
867
764
751
913
609
971
723
558
708
532
617
906
550
513
790
677
965
614
695
511
971
508
924
847
752
521
926
539
516
834
797
955
973
697
696
835
923
941
583
822
922
801
792
579
577
670
717
715
998
920
557
995
640
506
700
585
951
565
622
538
962
994
983
755
637
578
548
780
941
663
845
779
957
686
715
523
924
927
615
691
828
969
764
995
675
576
749
503
612
663
997
734
831
905
660
838
594
793
553
990
864
516
838
614
862
544
661
980
637
676
678
734
505
661
834
535
931
961
954
861
581
825
965
886
533
593
521
543
646
714
581
846
534
938
959
899
697
719
582
563
939
879
987
589
930
955
580
835
743
733
955
843
850
933
762
824
847
786
542
918
512
533
883
729
787
656
579
657
977
637
617
835
668
537
643
870
728
698
561
896
513
702
964
521
814
505
997
851
809
601
581
918
615
523
658
514
917
922
817
713
546
565
993
666
599
500
697
949
641
852
818
997
937
569
645
535
669
590
962
732
721
821
792
967
994
788
882
955
738
673
919
610
669
744
950
603
651
515
624
760
817
890
865
810
823
755
790
817
778
589
659
899
560
675
725
774
817
753
774
955
909
589
557
798
820
873
622
647
771
684
903
627
975
559
745
912
537
981
555
507
763
662
812
658
681
888
652
585
564
982
564
803
514
785
907
628
666
828
865
605
512
748
841
967
678
793
987
566
596
877
888
551
997
857
961
836
815
555
840
783
698
728
720
608
953
876
768
607
919
988
961
595
563
833
811
808
556
533
848
520
653
898
929
901
947
538
929
889
668
913
968
778
585
946
640
757
743
559
659
867
891
711
996
704
985
561
650
640
986
696
986
507
927
868
517
575
924
703
789
919
927
529
916
508
569
984
851
972
988
851
655
895
647
621
875
504
785
750
518
725
636
768
669
757
910
801
914
681
781
678
864
757
731
949
502
952
939
670
882
951
573
618
812
837
835
736
968
862
562
858
525
887
844
605
556
619
839
639
965
897
918
641
882
575
861
508
589
727
929
663
513
599
726
629
847
670
835
745
704
561
570
568
592
619
765
739
523
632
893
788
524
842
588
701
560
844
1000
945
500
845
540
647
978
968
616
506
920
652
740
913
942
849
681
959
530
561
586
830
884
544
935
522
896
905
991
856
741
997
636
888
858
505
897
806
907
723
593
710
800
519
688
742
875
637
923
958
942
797
829
581
677
814
749
834
972
541
687
716
519
840
637
520
855
821
1000
877
532
578
516
830
974
903
693
518
730
707
954
589
826
537
637
748
934
532
693
683
908
947
732
517
698
624
853
919
650
503
911
536
918
958
510
807
796
890
545
879
987
680
534
667
924
876
895
886
841
835
549
895
501
998
853
952
681
735
709
778
618
656
650
852
830
793
821
736
982
713
578
931
555
643
659
813
811
955
907
625
715
959
574
810
576
812
997
737
625
705
939
660
839
663
994
738
857
886
538
584
725
881
736
641
737
842
557
513
928
964
929
750
677
659
985
625
746
523
555
561
649
503
931
584
949
743
769
718
599
968
770
561
991
616
739
767
874
866
760
583
515
613
597
642
939
587
519
556
791
913
769
705
823
644
749
951
704
848
750
721
539
644
957
670
673
751
814
741
685
891
698
629
935
727
510
870
721
744
505
941
647
991
686
627
770
690
856
881
865
778
796
738
849
981
750
705
953
533
716
905
955
865
749
751
908
932
550
916
511
552
528
632
584
858
521
977
589
914
966
681
755
862
1000
577
660
804
900
835
544
564
989
656
591
760
832
701
748
642
758
505
633
567
852
564
632
917
527
862
941
959
719
936
755
606
537
782
761
853
789
552
757
556
523
522
932
728
573
516
900
680
615
824
529
608
521
808
507
966
524
638
879
537
916
851
533
738
586
506
842
619
620
847
721
823
582
693
849
976
882
500
671
850
632
533
527
626
970
858
704
591
693
643
732
574
984
597
507
515
953
971
991
787
501
740
501
767
900
831
756
928
927
943
918
928
558
688
516
638
987
999
814
817
507
510
644
594
655
875
539
681
624
985
558
669
518
899
812
882
808
718
803
800
591
808
829
880
614
529
692
830
581
784
754
878
693
772
588
512
518
696
567
742
586
647
620
650
606
609
575
701
884
542
507
785
568
516
845
736
510
992
579
624
782
685
653
575
869
533
914
813
630
618
994
543
867
662
866
640
751
542
565
655
548
585
824
988
978
977
778
823
720
751
587
921
722
935
787
792
584
703
931
715
608
532
630
991
730
753
877
844
871
600
656
829
727
830
701
587
808
979
610
931
992
802
980
867
777
913
523
974
740
973
652
630
671
643
762
931
828
872
911
770
789
897
725
769
598
958
703
813
615
992
773
617
893
993
949
826
758
697
601
527
952
989
815
597
926
877
897
587
573
946
572
968
586
994
807
557
508
788
971
933
675
546
679
931
655
757
573
888
671
620
871
881
920
518
598
691
561
561
724
650
617
914
894
907
624
658
821
880
955
830
719
835
506
978
527
613
907
807
748
704
786
669
519
749
952
871
808
916
989
732
766
818
539
547
959
514
604
731
556
821
887
528
839
573
940
995
985
512
942
513
715
747
868
562
913
852
550
979
628
856
869
511
515
570
946
562
802
781
532
935
607
793
625
638
526
784
683
947
684
644
552
596
689
700
934
947
690
852
950
539
945
967
677
778
583
678
776
770
503
563
727
849
906
830
550
934
646
696
571
696
904
905
904
947
907
555
776
758
733
914
664
542
646
757
947
738
754
617
532
653
832
871
998
554
602
900
503
611
666
736
826
505
996
775
757
572
723
981
784
776
689
832
563
678
530
974
670
504
587
563
674
557
808
585
935
948
675
910
775
960
818
964
750
866
579
715
758
606
801
656
528
877
936
523
648
724
859
734
770
901
790
867
981
641
967
780
905
590
733
979
585
648
805
753
533
917
836
822
641
912
988
824
598
991
612
706
623
763
549
759
692
789
671
557
569
734
717
687
718
823
902
959
563
627
767
752
529
683
947
614
887
908
907
635
668
942
942
528
932
511
655
850
830
517
636
732
917
996
841
733
689
589
852
859
824
890
749
789
840
862
956
955
616
982
528
614
820
840
1000
605
886
819
920
931
932
760
851
941
986
995
627
776
729
588
849
826
666
930
536
896
861
715
754
744
770
864
874
701
674
941
576
537
754
776
803
679
819
659
542
893
609
751
841
928
840
948
980
510
742
524
793
873
872
973
861
933
520
581
550
899
590
735
814
653
945
769
758
723
655
744
985
568
591
523
625
689
959
636
983
565
554
958
775
885
785
589
676
583
967
592
537
650
664
995
775
503
605
554
607
642
977
802
573
955
660
729
928
727
979
897
796
990
906
888
619
549
593
722
950
949
676
605
839
666
608
846
870
810
908
917
956
750
999
569
776
569
717
839
772
924
862
545
738
690
629
609
518
989
977
938
908
993
828
881
736
738
581
573
818
896
770
789
944
501
973
515
711
851
884
617
777
785
678
823
973
676
974
777
568
781
592
527
512
830
802
924
852
622
954
676
997
898
633
504
699
661
922
670
910
719
755
663
532
936
880
774
607
815
966
744
836
558
875
668
853
905
520
945
653
799
784
876
720
761
699
576
763
991
638
973
524
727
596
829
844
755
515
997
907
563
612
802
900
776
731
991
965
667
837
594
570
545
832
917
943
626
865
994
816
708
961
537
701
910
974
839
895
684
849
720
841
720
500
788
610
984
779
876
760
993
507
809
862
531
617
756
845
715
853
841
983
694
740
644
920
715
777
815
791
972
890
750
943
995
767
947
648
536
861
757
869
784
775
739
794
985
699
730
954
671
649
952
592
757
521
569
811
706
641
656
571
693
671
794
672
739
611
734
768
817
908
984
890
888
677
957
513
584
538
594
529
554
527
734
547
971
925
709
556
721
880
721
728
791
785
817
995
825
604
964
730
932
682
710
526
572
501
951
835
601
781
857
949
674
846
598
997
735
980
594
569
653
629
934
546
765
734
665
517
712
961
539
960
964
811
674
563
986
672
509
599
620
987
996
652
747
773
526
597
650
732
821
971
610
703
740
621
795
646
523
713
606
506
554
890
919
773
667
649
574
715
823
766
973
671
959
532
556
544
635
922
868
767
922
820
543
812
552
803
878
706
532
777
704
523
701
877
636
952
515
707
960
844
919
758
556
691
746
942
777
980
829
978
751
969
551
844
743
737
791
961
504
965
807
571
621
791
876
808
901
726
671
591
592
690
834
934
843
543
990
921
800
602
830
802
786
896
842
767
738
513
932
931
640
971
528
960
773
926
558
811
710
757
916
588
873
709
550
971
755
539
628
949
579
627
951
694
714
806
755
675
954
980
533
697
653
657
895
652
516
681
997
758
696
863
824
630
707
983
646
589
669
913
830
903
675
597
919
968
596
917
945
853
970
555
603
535
894
866
892
530
754
923
544
886
864
627
834
567
849
889
656
941
641
680
730
994
693
533
563
645
705
957
700
867
598
866
612
764
564
859
549
503
543
810
825
742
856
815
537
904
929
643
935
921
914
950
671
968
955
795
561
579
785
940
896
542
728
945
788
837
898
702
756
971
696
930
551
696
560
770
785
948
730
947
556
683
815
971
887
695
763
877
934
630
846
927
605
777
969
570
733
809
842
872
622
653
500
867
799
698
991
920
840
807
993
512
732
849
616
951
613
814
990
855
697
793
930
813
752
546
808
644
612
884
764
630
806
736
877
945
661
694
982
609
673
687
772
745
775
772
637
546
588
904
752
537
989
780
908
912
707
650
594
552
961
876
662
893
1000
698
985
739
705
734
532
881
687
639
657
586
569
567
598
648
544
519
644
890
554
884
615
869
736
780
568
946
755
650
896
502
875
948
551
794
687
765
555
606
876
814
807
530
679
948
760
529
724
907
858
719
807
802
928
612
855
945
522
599
687
709
714
768
894
862
913
775
951
686
690
731
921
908
588
835
796
994
630
632
808
805
731
640
922
523
796
904
763
612
536
578
862
898
780
783
973
923
811
647
948
713
820
578
634
696
851
535
679
895
886
898
843
726
723
845
976
953
534
691
648
862
909
613
743
907
748
651
760
761
840
979
833
967
962
794
926
988
756
880
875
554
585
840
715
552
724
899
983
961
700
666
992
544
576
813
642
669
808
981
859
870
789
607
598
659
860
902
543
562
816
818
626
582
900
675
735
772
722
595
620
758
603
676
679
567
514
593
746
650
564
589
967
519
760
754
968
678
640
723
567
640
568
765
736
803
586
518
791
729
756
817
861
813
600
810
572
514
781
810
692
875
602
946
966
597
747
725
923
782
938
731
904
904
663
947
787
751
835
713
968
642
523
764
857
787
960
846
601
700
743
631
687
695
708
603
983
639
840
861
613
885
581
917
545
907
564
867
645
840
729
755
596
564
516
606
532
718
856
620
534
759
527
732
944
580
647
591
861
575
913
851
577
693
761
758
909
507
594
701
603
881
633
661
607
783
877
634
680
832
542
758
678
529
685
528
927
943
503
576
534
553
531
972
619
668
587
836
883
713
572
670
989
696
906
862
550
734
963
724
780
586
667
732
745
970
857
521
578
870
573
832
848
996
650
652
662
873
918
835
595
581
630
572
832
531
507
640
868
751
675
817
991
617
988
652
973
732
958
715
589
714
931
849
720
811
726
734
918
942
829
798
705
764
698
789
501
525
542
711
613
518
817
959
687
931
684
688
686
761
1000
940
957
836
690
578
685
973
836
654
979
916
662
877
849
652
661
790
960
640
946
804
537
673
919
878
803
818
705
543
583
845
884
738
991
933
820
748
996
833
774
958
543
566
989
688
686
765
882
536
930
592
739
572
727
843
520
545
598
614
949
517
530
693
636
658
940
922
734
959
728
536
884
959
627
716
860
661
862
843
967
946
578
571
782
543
915
728
613
913
622
790
572
787
675
576
895
799
530
942
886
844
807
548
762
654
696
835
714
776
806
723
774
609
891
993
931
993
943
502
560
895
739
788
757
869
506
746
549
599
711
595
542
855
596
824
521
617
979
518
638
639
741
580
971
1000
925
707
631
614
631
640
696
872
746
962
835
549
781
818
978
803
816
849
857
860
507
566
778
935
753
985
525
699
664
561
859
618
663
833
523
936
826
586
728
656
947
612
712
894
744
716
723
589
505
598
853
956
781
659
569
701
770
738
846
705
636
799
907
872
847
996
874
532
932
640
895
527
683
500
591
908
625
919
597
555
966
638
924
512
541
886
504
975
873
768
672
782
867
652
664
716
674
523
927
751
999
560
921
644
552
757
890
679
746
803
797
638
741
883
854
715
694
529
795
773
626
686
633
587
689
923
661
742
663
983
916
672
778
681
997
638
799
554
513
785
568
629
999
620
581
586
639
762
530
889
711
879
953
872
576
906
869
644
750
512
541
742
520
951
553
591
907
749
568
936
568
895
814
533
538
647
678
655
789
693
713
947
816
563
526
786
989
621
523
684
548
635
690
969
562
510
941
717
692
747
609
651
584
542
797
556
802
746
837
706
741
565
771
621
556
982
711
764
562
841
689
688
912
976
717
646
979
912
763
929
723
846
762
835
599
582
672
737
622
893
606
523
607
762
636
525
818
751
501
509
996
920
590
623
820
642
511
602
987
912
911
815
680
852
991
540
846
923
667
948
504
796
540
752
751
937
870
606
656
704
715
737
660
591
821
985
966
855
613
843
936
801
727
765
756
799
736
658
540
764
941
716
707
948
717
634
910
957
797
541
683
894
747
676
671
694
963
907
975
831
779
742
507
528
690
514
537
704
554
599
504
923
951
856
755
916
803
764
942
977
695
845
563
972
653
538
658
574
659
686
610
952
576
881
734
889
702
795
767
561
883
998
911
589
689
896
906
782
608
568
566
524
867
867
626
983
558
592
668
695
507
687
863
578
700
733
972
872
597
746
607
712
846
874
938
639
924
902
659
578
986
877
929
509
936
968
571
933
728
830
858
822
651
900
642
918
945
953
815
511
747
615
701
980
775
928
699
837
763
573
946
537
820
536
726
567
569
502
940
531
512
896
745
856
820
843
603
729
741
683
673
656
599
516
630
655
697
955
736
514
847
748
580
573
640
529
938
711
653
984
641
747
508
816
810
947
934
714
785
826
886
889
930
993
829
513
741
762
606
643
516
641
524
568
569
551
831
848
848
656
564
709
580
701
558
882
554
666
813
595
1000
787
662
840
525
915
964
685
567
791
577
511
747
907
592
566
922
644
575
679
795
519
807
546
665
935
886
507
567
525
773
566
940
723
554
677
969
629
997
948
818
535
799
942
506
790
669
893
914
715
968
888
698
671
901
606
876
928
853
906
888
500
982
521
929
945
805
598
894
928
532
974
534
911
690
804
545
661
572
786
658
859
622
799
855
758
830
680
768
563
801
872
649
767
568
854
505
783
811
574
975
726
605
669
606
553
536
550
705
773
502
945
775
560
824
584
543
600
601
804
664
929
669
647
843
745
929
699
797
603
686
616
698
865
975
896
713
950
700
827
956
523
620
758
640
844
992
547
601
798
850
666
679
964
729
714
960
635
757
761
970
877
905
776
952
810
674
864
932
542
540
694
506
940
504
523
651
979
867
930
724
992
686
899
698
716
543
575
978
858
906
856
669
997
699
973
584
875
608
660
957
623
931
886
713
685
716
525
816
865
738
578
584
653
514
862
908
932
821
716
934
684
790
914
790
941
970
611
663
721
589
991
683
902
783
931
601
660
829
826
726
546
920
628
651
963
726
734
878
1000
783
960
689
949
903
890
736
999
764
823
794
525
646
579
580
719
958
725
605
848
816
895
921
670
561
794
640
736
582
689
601
843
635
578
898
595
574
655
620
844
707
571
904
859
934
554
714
733
698
637
843
764
845
863
529
778
577
930
867
604
598
818
871
514
524
786
684
579
660
756
657
541
968
668
695
513
574
648
931
527
551
808
536
760
625
686
595
795
861
605
735
859
849
538
596
640
680
868
674
666
542
928
975
877
535
531
748
597
541
883
520
950
547
665
933
816
720
688
887
806
987
714
636
800
838
666
960
563
973
774
582
527
891
559
513
892
789
706
819
648
580
530
813
845
822
820
500
576
647
699
773
763
836
926
907
913
571
785
586
827
686
618
960
505
647
714
753
573
922
724
923
554
504
518
899
664
851
623
819
809
683
730
693
850
744
865
652
607
905
604
796
525
991
791
700
691
933
982
744
843
925
611
612
594
940
885
652
940
954
780
876
624
991
511
690
823
631
719
953
707
607
735
593
911
717
629
521
559
724
966
940
556
763
936
806
787
515
522
613
510
524
819
600
947
786
880
982
756
837
652
853
613
623
897
844
543
591
745
961
783
965
977
521
710
575
842
500
540
746
966
731
781
515
693
982
905
814
826
986
943
997
619
757
501
581
914
906
969
599
931
886
995
891
818
978
905
987
708
679
554
811
821
789
676
821
720
511
523
536
513
774
884
733
967
989
732
622
900
897
732
796
828
668
741
601
987
609
784
934
535
737
797
665
950
731
758
710
850
656
831
714
585
599
708
558
727
811
675
656
713
788
985
588
529
661
757
830
718
799
705
536
749
627
773
810
910
620
713
515
823
989
998
768
621
516
636
850
627
880
883
541
567
916
707
850
733
847
526
541
597
722
641
817
554
763
676
861
599
724
930
991
683
947
650
787
855
716
947
546
736
595
617
664
722
733
979
502
539
592
793
589
967
808
723
773
654
650
956
648
823
515
882
775
848
896
694
865
924
699
987
712
985
511
746
835
629
529
952
807
858
589
520
818
700
706
677
892
938
563
651
876
786
592
985
735
894
532
939
785
599
699
751
635
621
720
666
932
828
507
591
911
609
609
786
679
777
964
948
601
514
626
569
537
842
691
675
592
791
948
984
663
547
801
815
600
510
684
984
575
629
596
539
803
570
909
617
932
776
860
859
681
918
812
529
763
685
644
676
699
558
851
655
778
840
696
631
1000
839
577
660
809
570
676
915
850
615
790
748
716
965
635
726
655
932
987
773
888
721
733
609
930
900
825
543
591
600
689
798
745
892
517
755
692
596
548
513
804
721
652
868
701
902
802
940
974
542
963
517
916
760
825
665
841
932
788
678
934
536
841
955
831
541
522
644
580
941
696
921
633
909
980
738
641
566
706
588
762
910
841
734
520
971
602
599
686
791
621
840
901
968
585
774
735
954
524
572
570
641
979
686
797
742
683
694
772
624
832
577
702
811
932
776
665
978
846
840
582
619
622
536
926
809
682
836
524
893
827
816
976
862
522
711
836
917
513
564
949
531
507
681
996
598
970
939
651
767
943
792
526
853
974
607
901
745
883
960
586
895
755
682
841
949
711
838
840
515
569
634
927
839
705
569
896
958
640
599
821
832
873
966
675
589
891
685
931
727
591
971
711
911
798
781
996
674
739
947
954
554
907
799
616
821
652
695
949
806
559
862
621
920
880
865
918
511
518
792
896
775
919
755
832
503
877
680
586
751
894
504
559
965
639
906
897
568
921
500
595
877
519
956
528
726
933
963
852
614
799
821
721
955
856
528
792
553
972
527
899
770
679
876
996
584
634
707
711
740
678
666
828
931
579
563
636
743
728
533
644
945
584
815
628
551
826
975
548
697
644
535
500
947
873
844
840
982
824
715
847
912
510
511
712
907
604
563
889
580
595
851
773
560
965
573
581
560
976
915
888
661
674
844
534
711
888
850
818
584
918
751
883
987
591
938
926
809
593
658
947
796
686
725
873
571
510
769
786
784
926
733
567
605
922
556
580
514
885
720
625
889
615
675
930
545
604
582
981
769
837
851
702
658
564
788
886
774
695
779
813
704
931
549
823
654
653
700
544
817
738
640
817
979
580
600
720
974
705
841
501
696
640
880
940
833
934
543
643
747
611
701
605
521
938
702
874
747
787
640
711
607
1000
851
755
883
888
802
643
947
889
839
927
835
750
999
785
955
682
917
743
916
557
868
983
808
701
731
878
560
994
766
794
518
871
560
992
580
535
973
938
573
660
505
854
988
739
776
897
585
883
610
532
779
587
516
683
928
915
890
803
814
519
951
950
995
996
564
647
629
798
987
993
588
795
510
653
711
627
996
544
519
583
514
904
564
669
957
802
663
666
680
685
974
712
820
816
720
937
683
611
765
856
586
555
538
873
946
976
861
973
629
818
669
547
800
969
826
500
974
923
847
806
857
678
528
702
673
529
687
812
579
973
849
566
562
655
951
565
977
633
730
502
547
930
573
764
792
612
800
915
505
782
998
978
831
896
728
578
590
595
845
772
758
746
901
955
666
972
677
522
977
710
917
683
962
616
953
864
543
797
809
792
720
892
835
997
896
949
760
662
761
721
622
675
852
579
898
552
814
936
741
833
817
562
884
647
663
795
570
618
810
534
656
848
531
632
884
733
654
556
710
839
863
629
804
918
959
603
731
563
589
813
558
658
979
823
534
894
859
850
826
779
733
834
838
604
920
832
576
652
738
666
685
876
589
551
893
537
961
600
980
584
747
821
617
810
984
731
811
692
817
674
868
516
983
524
769
896
649
816
814
913
997
855
758
523
779
527
717
902
614
830
892
596
916
623
986
828
630
566
530
736
773
769
830
806
992
523
755
608
564
970
972
591
908
884
501
632
576
636
713
945
685
987
544
613
990
588
629
697
880
815
567
830
836
546
545
539
530
931
717
690
980
966
708
806
817
901
725
540
520
675
565
500
925
743
849
819
884
919
538
842
848
715
667
576
885
604
796
994
597
505
662
680
678
790
723
585
791
765
915
702
968
699
919
831
858
719
852
951
834
974
504
918
784
873
699
688
828
610
718
822
774
677
675
554
897
779
952
624
790
568
600
923
903
855
898
624
768
632
690
500
843
618
940
812
989
856
585
642
750
812
979
994
535
759
711
789
783
874
972
859
993
795
675
764
732
615
632
698
963
982
939
866
975
576
876
851
765
947
976
778
516
633
692
508
766
742
637
635
788
812
580
689
920
502
620
783
592
566
955
671
725
553
726
625
765
873
596
890
666
643
785
847
885
959
537
802
909
573
784
977
584
820
820
848
706
947
662
763
931
899
887
566
767
590
978
973
646
564
914
759
981
773
639
690
683
698
834
880
603
711
734
869
976
904
960
903
705
635
529
788
927
679
760
801
599
898
638
770
934
765
623
713
951
616
712
534
553
947
940
990
926
953
560
747
776
654
573
656
521
582
809
920
747
907
885
665
648
562
726
804
681
762
960
903
655
641
725
919
819
757
783
864
550
837
542
502
534
880
926
507
659
999
827
559
808
662
540
772
587
686
789
766
981
990
978
501
997
996
518
954
975
992
933
687
698
944
668
679
512
557
701
604
881
606
581
592
686
677
961
646
668
664
804
982
956
914
548
731
532
649
752
573
671
694
781
592
666
841
524
699
616
671
748
1000
931
758
554
515
993
694
671
623
978
554
886
612
756
954
684
509
643
720
798
679
847
577
919
681
822
744
971
922
783
949
979
727
518
901
506
592
831
838
782
598
754
769
737
572
899
754
631
587
814
990
817
543
545
747
817
794
625
621
787
581
877
749
650
974
625
513
585
833
954
814
533
624
558
540
693
925
745
839
703
914
837
976
815
794
691
625
776
671
758
579
652
577
765
678
665
653
741
739
845
600
533
826
931
886
936
691
699
721
883
983
510
552
505
549
865
693
565
998
830
635
810
658
727
871
718
602
786
888
534
869
540
642
557
945
798
827
803
681
814
509
772
818
979
745
862
669
944
754
817
1000
784
800
977
671
907
530
973
697
994
540
841
687
562
805
898
755
734
996
826
996
527
981
809
627
660
926
724
813
628
707
793
949
795
923
708
681
930
719
984
963
860
627
546
634
695
611
807
866
591
900
658
800
643
950
997
877
773
816
829
890
726
633
510
681
882
807
953
656
997
762
736
747
812
694
627
770
845
709
794
653
878
848
591
801
783
534
801
550
863
757
599
788
908
560
815
741
803
657
689
833
659
880
556
965
559
727
719
628
684
961
532
616
796
666
940
717
828
809
939
620
849
577
888
785
974
616
758
916
619
844
841
969
615
902
760
725
529
784
643
908
585
816
580
506
530
591
733
969
729
664
549
729
925
737
615
732
501
908
989
539
703
636
697
648
547
553
882
888
853
808
892
594
727
555
670
887
981
505
918
607
508
692
868
563
723
642
956
906
889
692
503
873
651
528
835
549
887
729
979
627
768
518
614
505
766
977
944
830
852
814
927
607
574
757
564
605
793
884
922
971
973
768
753
975
655
634
1000
741
921
801
670
880
767
899
968
606
924
810
685
718
904
625
691
555
546
900
658
869
637
786
916
743
888
528
925
843
951
716
751
610
893
702
887
944
926
729
761
740
795
790
893
853
745
985
893
764
640
673
640
959
815
873
512
620
594
622
500
811
553
591
706
849
644
567
918
859
874
972
686
849
626
670
857
678
692
892
764
502
822
955
512
722
731
800
908
807
979
787
763
813
507
790
531
818
933
557
886
872
885
635
806
576
692
639
720
515
805
787
549
906
600
731
647
667
950
554
981
985
847
715
763
509
514
958
599
565
770
977
507
690
794
971
761
543
765
980
907
702
614
794
926
672
716
501
818
511
631
736
566
633
643
568
940
803
701
999
639
920
583
780
714
893
929
901
532
852
580
929
651
733
864
888
531
773
989
733
659
631
520
788
933
723
573
808
943
852
855
924
811
870
501
965
653
839
853
666
931
562
543
864
670
801
799
544
528
693
943
948
748
698
806
704
846
956
835
693
723
527
504
650
725
639
857
689
977
990
561
899
720
532
584
862
706
683
765
740
840
793
729
831
739
748
881
946
562
526
616
687
556
567
855
856
869
810
752
627
924
799
696
781
631
911
601
500
782
739
981
774
952
760
974
904
999
861
618
689
682
768
710
546
956
562
774
725
634
903
825
714
729
842
904
563
507
739
624
930
786
696
669
605
918
744
710
891
517
852
757
901
614
506
862
814
662
802
645
810
556
822
594
759
572
965
531
721
543
565
810
655
720
732
608
751
856
688
915
620
598
650
577
744
622
862
838
791
509
858
681
679
741
727
889
916
883
963
971
585
595
809
755
810
809
639
658
880
791
707
644
857
837
883
609
722
710
799
601
512
858
808
772
915
557
707
865
877
974
877
821
750
940
888
511
683
738
738
544
953
875
843
972
514
789
970
668
726
791
686
968
928
613
709
742
639
993
804
748
566
824
530
863
784
742
583
599
855
762
560
788
544
830
974
698
900
865
977
630
542
821
719
921
788
753
971
895
636
689
523
898
521
644
760
930
601
808
904
680
668
592
517
772
562
798
750
918
583
578
847
802
831
685
764
733
922
687
868
966
808
573
584
821
621
647
981
777
824
706
723
615
998
816
659
629
857
577
636
888
985
683
766
981
975
792
855
505
879
524
631
988
714
969
504
906
808
652
858
898
624
510
553
966
555
833
911
635
513
946
658
970
783
921
594
809
848
610
736
805
793
664
533
633
646
654
509
583
622
671
725
951
869
949
644
638
817
643
726
757
952
967
862
765
785
828
851
646
719
859
952
791
553
504
634
882
593
932
762
814
658
953
921
964
578
709
764
846
916
665
852
886
834
740
502
704
919
954
784
836
547
873
649
808
952
957
951
780
765
894
555
964
582
918
739
919
700
699
953
517
888
953
901
787
565
845
742
1000
809
818
955
878
941
500
955
952
841
976
594
890
591
995
889
736
631
679
734
624
569
747
970
702
675
550
545
949
878
508
762
857
689
955
883
753
634
548
565
550
635
651
887
904
612
885
575
539
657
718
559
726
941
644
640
884
741
799
807
632
679
709
934
979
827
732
573
997
631
986
545
899
892
952
718
614
819
645
871
571
994
825
750
606
984
889
884
662
740
574
519
669
897
950
705
964
905
892
611
909
801
965
969
722
553
732
687
670
841
691
738
677
623
701
615
882
885
814
612
819
931
902
517
791
626
859
621
673
765
570
660
788
757
1000
682
612
973
593
790
667
538
877
599
636
720
615
777
918
677
558
625
516
528
985
595
854
801
809
691
896
850
540
924
755
758
962
739
975
860
846
604
956
596
675
977
740
951
874
727
860
566
710
791
751
586
963
857
836
633
776
728
507
647
693
518
843
838
740
855
852
556
888
959
608
718
710
634
794
782
721
788
582
771
628
597
979
940
657
644
555
741
768
534
778
523
809
969
822
614
706
944
741
933
535
508
984
684
674
582
844
741
599
967
602
745
672
593
645
939
649
959
665
879
619
664
607
996
788
920
913
600
776
923
933
519
964
891
692
983
939
795
962
917
524
771
656
521
703
957
557
691
867
845
525
573
925
568
777
925
878
560
598
534
632
666
586
771
654
787
854
807
828
652
637
953
563
808
683
912
656
844
561
630
855
785
655
904
716
920
583
744
837
961
674
924
907
861
701
534
563
911
621
758
994
621
588
702
872
941
589
955
636
744
953
837
867
742
801
710
708
500
552
665
556
838
778
631
526
989
662
824
862
999
831
906
890
549
690
981
910
872
867
988
908
821
605
969
703
719
694
603
787
859
640
886
597
964
536
949
989
860
952
783
705
894
712
934
557
730
655
671
928
810
882
884
928
590
948
622
566
959
743
953
556
984
746
657
596
742
927
907
797
823
626
801
930
554
886
683
878
985
993
639
655
951
695
879
557
783
796
984
880
503
945
835
870
995
1000
978
887
570
752
821
780
726
767
507
692
708
677
813
730
573
565
595
546
991
538
890
531
822
819
942
597
936
662
644
606
910
913
994
524
533
847
931
728
933
891
927
634
901
944
582
604
945
675
764
987
599
658
985
903
697
997
713
663
868
936
595
881
507
586
908
906
826
989
510
871
649
591
847
590
657
840
509
995
998
522
865
701
709
879
965
773
845
934
877
618
946
974
834
724
536
805
868
603
618
955
637
920
794
983
804
928
813
774
875
904
970
823
689
876
664
972
824
578
660
952
777
723
794
932
964
837
541
865
936
970
907
687
889
679
760
915
858
768
591
776
843
699
517
832
988
888
919
752
505
579
524
652
834
782
614
519
987
688
544
543
524
773
616
663
762
977
967
964
816
596
795
575
716
606
848
804
637
857
697
775
759
943
861
666
832
742
758
831
622
968
545
719
734
664
703
942
915
593
839
995
718
985
787
537
520
565
862
516
604
957
898
863
997
799
769
777
720
921
646
552
567
703
931
669
686
656
561
890
905
845
765
797
538
597
501
913
655
992
575
905
799
589
757
798
777
773
720
980
960
889
864
667
798
588
746
920
978
861
811
598
723
643
930
540
692
713
796
996
501
593
978
667
517
530
817
773
558
500
985
673
532
837
744
594
821
540
706
786
849
779
791
753
946
674
609
967
733
803
504
850
687
996
931
673
697
909
877
719
995
832
791
705
892
970
500
846
885
692
914
695
822
797
903
536
725
933
649
596
725
866
608
923
827
646
669
856
809
743
789
813
875
870
550
839
906
516
561
518
821
688
798
866
572
580
620
631
926
642
578
693
647
988
734
619
553
779
703
958
628
941
917
797
847
534
969
942
539
916
564
570
550
814
553
904
944
811
897
876
531
958
899
557
617
751
762
776
738
560
978
646
568
985
748
611
604
849
864
912
833
759
883
868
669
845
991
878
610
570
513
769
797
592
712
548
542
854
873
911
720
623
619
592
954
840
831
603
720
623
601
681
637
891
835
644
828
920
520
959
610
583
622
771
623
517
920
821
735
774
850
749
950
977
893
692
898
537
775
569
917
905
606
972
636
565
509
756
1000
658
608
663
570
616
502
599
580
590
597
720
707
939
720
694
734
887
895
776
757
877
935
787
831
557
680
958
607
787
545
628
744
877
850
893
987
879
506
532
984
978
703
629
896
957
862
661
726
752
749
715
588
736
630
977
871
944
861
978
753
754
658
910
995
961
535
720
758
864
579
667
562
801
798
984
839
844
938
693
790
810
646
997
739
544
734
723
661
568
540
924
794
698
695
621
623
697
656
833
864
505
898
667
578
933
517
691
776
677
726
628
590
893
628
737
953
502
672
729
963
574
809
661
972
907
914
886
638
838
559
832
999
513
885
899
606
612
575
904
937
546
886
845
888
990
960
859
571
984
928
649
675
940
912
601
544
676
679
687
511
542
795
848
934
812
687
551
917
734
797
729
551
592
693
961
700
938
520
936
576
904
538
778
603
913
799
908
578
517
676
729
630
737
728
759
657
796
812
587
737
693
649
864
506
510
636
519
733
995
595
546
996
751
704
943
663
847
731
689
706
860
651
893
894
951
939
837
508
910
963
823
582
788
823
679
630
598
618
535
516
514
792
804
934
932
913
827
737
628
908
889
855
503
633
580
985
940
688
658
850
925
586
965
622
606
585
741
914
513
739
1000
783
966
521
917
698
742
607
749
663
865
961
508
502
934
946
938
825
751
865
700
767
789
845
806
828
605
845
631
535
927
807
904
778
693
541
754
567
651
968
878
861
617
1000
746
835
558
973
989
812
998
668
886
870
792
678
952
859
959
756
897
937
777
551
936
697
540
585
716
776
870
624
872
677
922
732
589
698
745
777
522
519
859
830
515
836
560
584
557
984
922
785
844
523
968
680
834
865
856
994
586
718
913
552
901
502
568
934
943
571
654
527
546
586
629
717
718
589
797
693
868
791
910
882
933
669
781
737
701
945
609
943
526
897
972
734
796
557
599
857
661
504
649
610
650
960
939
706
790
564
884
546
597
628
869
863
535
802
645
656
805
967
754
995
838
866
914
581
852
592
791
696
658
794
911
638
753
935
924
654
668
647
673
622
626
863
636
850
588
798
695
877
908
610
684
990
515
969
607
541
873
639
708
875
897
505
695
910
553
798
952
853
737
578
623
977
603
840
737
609
683
669
509
914
811
969
702
883
627
670
635
929
857
652
902
828
957
801
625
638
554
509
850
948
501
554
941
873
975
974
591
970
863
632
630
623
555
604
780
500
920
515
610
777
865
669
785
655
749
582
589
688
973
582
843
700
700
561
519
615
878
967
894
834
749
706
792
745
890
696
585
642
890
847
766
666
969
758
855
860
963
909
556
962
739
601
735
515
701
698
826
907
746
735
853
584
555
798
784
684
870
512
544
582
751
599
815
738
588
549
633
741
896
799
674
749
788
836
765
684
917
746
952
924
866
636
545
790
860
679
609
659
542
985
744
785
537
973
997
635
632
589
770
706
869
788
793
859
816
890
759
683
616
920
758
825
610
610
559
517
679
828
825
935
709
869
534
966
521
809
501
919
980
845
847
909
735
862
704
591
630
741
537
612
928
595
581
642
851
613
740
607
596
899
713
656
981
903
572
660
856
908
998
686
710
701
852
838
759
768
558
963
588
761
850
568
782
935
720
645
904
974
724
665
505
732
712
761
841
743
895
586
750
554
705
714
716
562
810
753
590
708
749
779
941
872
927
971
637
880
960
873
952
772
778
643
673
753
926
809
813
941
649
874
543
788
570
535
574
890
998
914
622
796
890
625
713
865
1000
546
864
859
984
878
840
947
768
764
694
750
756
650
856
631
867
652
687
571
592
774
536
586
940
982
512
509
732
898
912
766
589
579
708
936
855
994
794
759
536
729
891
708
668
791
813
809
591
502
525
541
993
984
511
592
527
746
508
557
666
640
589
578
753
519
838
959
618
991
742
959
992
949
695
521
806
661
971
686
968
596
938
761
947
700
650
762
782
905
565
513
805
995
733
906
545
788
648
523
574
847
831
545
780
763
765
886
622
572
714
521
553
932
995
928
633
560
766
851
737
688
999
510
799
569
749
852
779
822
822
963
720
838
729
933
569
824
753
746
776
556
607
842
822
934
879
976
986
506
564
845
672
676
556
983
730
610
515
596
656
723
874
742
994
984
997
535
598
652
992
876
747
629
707
872
696
581
577
941
734
624
733
938
801
574
585
574
981
732
658
574
785
934
692
575
790
712
517
676
968
874
789
530
823
724
605
819
757
757
934
806
709
900
861
866
654
867
559
903
735
668
576
677
623
763
679
971
555
589
943
520
950
976
988
713
798
562
987
506
802
858
613
633
908
634
954
752
967
538
631
880
847
605
577
891
914
699
845
579
851
903
802
831
756
886
567
867
590
521
752
558
903
556
508
549
788
637
704
678
576
838
748
825
543
912
666
570
729
599
896
748
560
941
822
756
801
963
828
709
671
758
937
784
969
628
560
644
739
752
758
765
699
812
582
780
787
510
919
706
707
803
741
794
866
504
599
537
737
729
730
518
705
590
790
913
821
992
752
611
855
710
789
951
710
514
551
839
834
970
665
852
667
609
638
757
649
605
885
816
667
767
600
681
532
611
541
872
638
894
655
799
719
740
901
736
896
590
614
624
911
589
848
904
835
559
535
677
671
718
851
524
552
788
636
751
936
567
992
610
521
929
953
731
904
773
806
735
527
517
780
642
708
628
757
789
777
572
942
647
826
722
906
675
760
967
984
889
986
829
767
533
868
512
805
515
576
703
613
544
917
613
529
916
953
868
638
608
854
980
579
820
534
793
731
920
789
862
788
874
753
758
522
583
690
758
852
992
879
527
945
776
939
697
622
612
692
748
579
847
508
635
672
759
578
597
943
810
850
507
512
596
954
736
846
931
916
710
753
736
722
870
986
539
562
963
902
964
562
949
751
718
652
588
978
738
540
924
874
504
696
886
627
999
797
791
744
665
676
924
648
929
694
621
790
960
762
864
538
810
690
815
716
768
880
540
585
735
911
916
979
680
838
844
938
623
578
523
714
840
610
910
878
899
854
964
539
940
617
871
634
961
800
808
724
533
667
803
684
534
899
930
790
765
814
798
645
933
543
955
667
725
713
894
825
787
826
662
527
735
615
551
944
765
739
715
659
552
985
761
560
984
697
865
547
988
625
502
975
826
858
892
779
572
979
791
718
687
850
569
652
995
704
966
522
570
511
920
513
658
923
720
552
905
897
737
887
672
764
709
955
812
534
533
634
721
831
838
525
809
562
724
822
761
814
699
950
804
674
896
594
598
645
569
955
895
603
859
550
599
657
681
884
777
547
933
590
646
840
986
512
674
523
665
758
828
572
572
719
946
944
962
513
956
712
636
838
776
798
679
937
919
638
854
985
825
946
771
889
847
959
737
714
531
687
940
821
841
941
514
814
756
700
895
991
591
781
849
792
855
834
830
835
881
664
981
937
620
525
555
622
638
851
998
845
564
580
666
671
958
958
810
746
925
591
922
845
859
797
919
890
820
737
921
596
667
590
904
719
828
750
908
964
994
758
866
903
535
619
989
571
590
630
681
648
867
556
714
513
964
983
968
756
998
567
600
889
703
833
998
588
962
948
677
689
707
669
878
727
870
864
615
683
816
735
555
659
512
763
762
975
928
943
618
569
613
797
772
796
784
672
987
621
525
851
602
942
953
528
655
678
803
565
653
907
563
828
690
917
716
928
526
584
541
609
850
614
921
578
562
825
547
579
795
732
730
743
579
991
592
837
585
878
895
546
716
632
909
944
717
744
703
759
683
788
636
848
678
599
710
753
629
723
629
978
597
735
592
561
555
919
708
959
666
548
940
954
637
942
666
717
611
507
587
854
559
714
646
864
720
769
968
706
760
850
675
757
974
504
539
803
936
775
724
955
967
973
907
643
518
654
922
711
647
634
964
613
874
500
704
647
672
970
561
892
561
974
963
622
698
976
672
519
626
816
692
838
638
835
783
909
539
757
902
688
501
524
711
796
986
681
912
991
545
894
801
820
958
505
826
613
756
853
623
520
796
631
970
799
637
594
712
778
607
754
880
805
568
658
564
616
813
913
746
904
536
852
653
867
681
509
756
824
909
787
757
718
606
691
946
539
807
569
899
957
739
982
714
920
692
675
853
625
639
537
524
549
598
547
667
970
907
596
592
558
690
948
510
957
733
659
687
705
904
968
876
778
969
999
667
523
851
853
660
931
870
907
952
504
681
755
780
566
736
849
530
728
916
750
517
664
795
931
983
767
937
682
813
549
819
961
635
942
569
594
752
510
644
754
774
747
969
995
896
755
851
997
883
625
796
939
501
867
785
683
761
521
873
951
643
794
740
525
808
757
672
722
985
924
524
825
860
993
1000
803
769
923
605
628
860
529
735
891
906
910
738
665
506
777
810
822
696
960
725
598
996
983
741
543
556
880
823
653
837
845
943
537
782
777
626
556
790
881
942
952
669
857
708
594
853
673
757
653
821
937
500
743
972
637
657
641
686
606
924
611
506
756
929
821
908
500
726
507
847
605
614
544
818
846
522
647
794
767
610
711
520
674
706
866
594
919
635
862
754
636
899
535
825
792
651
694
824
854
895
872
721
553
558
797
927
712
720
913
512
539
621
904
509
755
548
804
852
528
552
939
621
833
644
881
961
715
903
576
556
520
645
951
818
987
793
978
520
969
859
861
633
822
838
755
693
616
624
578
557
963
942
932
987
764
666
548
886
920
993
726
976
666
737
697
662
875
854
859
663
803
550
897
666
799
674
919
652
579
776
833
546
593
915
805
886
817
844
520
597
581
781
938
568
666
552
711
967
655
900
976
615
626
813
500
704
536
515
948
961
651
793
545
542
673
575
976
623
534
775
882
832
975
783
736
976
779
665
597
560
842
784
822
605
802
585
941
708
779
589
597
789
806
783
992
582
867
948
956
878
598
850
756
613
831
826
882
740
698
669
953
706
673
755
978
757
983
903
777
786
946
503
810
884
764
513
650
661
728
689
512
963
626
588
638
857
887
719
867
959
909
847
623
663
938
763
541
971
952
973
836
912
745
750
931
986
803
607
764
705
913
779
531
781
517
706
857
632
698
872
751
759
656
824
609
699
810
943
834
922
711
851
521
574
542
812
985
982
638
768
655
859
810
583
722
874
672
753
698
951
890
554
556
539
580
793
847
738
682
751
868
515
782
528
534
913
685
582
503
665
996
881
613
863
619
999
887
687
887
946
893
598
894
603
882
980
774
518
520
919
860
544
779
885
542
597
812
534
610
857
551
576
504
858
859
891
856
869
801
803
604
813
848
786
766
837
901
620
545
512
881
795
754
934
861
500
839
631
997
807
898
837
761
574
930
999
874
574
537
988
731
525
625
839
596
611
784
619
500
750
819
936
930
608
930
561
910
566
674
657
826
637
506
768
655
795
718
918
773
590
562
581
979
500
827
929
840
868
960
802
541
665
770
862
947
624
990
964
679
754
845
649
840
839
587
570
689
689
757
660
743
924
583
847
699
734
996
552
508
562
904
888
501
687
930
985
773
697
680
996
957
595
825
633
629
781
927
871
679
979
921
929
761
781
637
920
527
940
696
575
740
746
823
948
747
980
620
575
844
543
688
742
709
794
830
622
644
837
786
502
805
632
904
557
741
883
1000
825
977
871
857
521
783
521
767
647
645
699
987
862
527
718
566
591
668
956
865
715
576
816
672
857
905
521
839
818
827
706
711
807
721
681
565
640
587
924
569
676
505
526
660
787
924
616
979
515
884
516
904
704
838
592
629
541
830
843
811
677
537
529
899
1000
646
886
634
699
846
827
912
559
971
876
664
757
816
940
757
508
573
985
819
508
741
705
633
945
830
845
904
658
660
1000
589
734
664
850
653
874
716
725
632
672
668
953
802
842
975
871
671
545
791
746
655
739
573
527
988
829
843
973
701
828
700
926
606
621
744
909
693
807
695
989
785
694
689
537
651
830
568
553
945
610
814
682
935
569
539
500
882
945
647
802
561
998
744
718
976
915
620
506
581
814
527
522
616
679
740
588
879
858
916
666
592
785
768
563
801
767
947
636
543
705
728
813
761
515
718
835
735
961
510
821
580
738
974
610
641
584
753
837
852
515
515
846
659
852
923
772
508
952
624
533
603
618
597
582
740
978
879
602
721
507
856
827
629
872
761
793
564
818
762
811
687
675
500
534
663
793
801
611
663
544
566
607
711
894
666
663
622
772
976
833
686
897
506
947
640
706
702
776
774
951
835
809
847
986
641
874
511
677
974
673
763
734
526
570
860
892
896
937
577
947
676
623
534
948
598
752
618
886
663
943
526
839
718
791
739
728
761
586
804
932
794
786
913
985
678
816
644
839
973
879
623
529
889
744
563
675
941
928
819
634
728
583
825
607
751
756
936
800
986
799
617
645
713
596
958
512
513
908
852
938
984
947
838
967
767
510
973
902
681
711
750
870
701
591
576
904
973
737
501
620
929
859
780
671
969
891
553
941
700
856
944
729
576
604
995
995
526
829
874
596
879
792
666
927
892
598
601
920
673
542
990
698
928
912
844
727
552
613
922
799
590
950
1000
685
911
829
961
633
830
799
860
781
571
942
751
619
680
508
506
632
573
831
942
984
795
885
797
889
754
593
846
511
938
613
602
593
543
817
618
871
670
855
846
804
629
854
987
746
908
978
691
619
758
607
927
681
735
733
587
815
617
784
513
944
501
649
853
576
812
561
753
793
694
652
828
635
693
908
881
622
510
614
899
707
733
832
570
506
611
731
502
729
536
776
615
895
753
520
804
913
582
937
993
506
751
677
828
564
871
690
820
520
680
548
934
839
843
738
807
888
719
930
598
538
598
953
618
767
988
923
619
513
790
986
897
728
671
502
546
692
967
874
639
809
836
757
921
767
959
971
628
520
935
982
798
923
653
795
918
503
945
863
628
707
839
518
930
717
798
698
842
652
764
982
534
749
679
873
753
875
708
914
730
594
646
732
925
725
828
535
829
544
627
779
600
899
673
569
583
750
550
886
663
660
701
867
535
569
931
712
563
835
877
735
997
670
919
797
762
663
805
748
777
713
800
623
696
731
630
646
844
932
747
757
733
713
754
504
880
878
506
836
820
543
946
557
687
635
638
636
678
583
714
705
965
561
931
561
570
959
589
756
896
642
707
893
506
641
709
692
753
541
512
888
547
577
659
913
501
884
778
994
792
793
626
785
944
999
644
841
522
569
733
566
913
555
848
568
915
970
917
980
833
938
983
991
911
874
862
831
830
927
715
966
960
535
940
897
812
880
895
510
633
956
786
865
649
877
689
695
639
908
822
854
693
747
592
856
651
518
799
574
911
695
527
810
732
626
577
673
546
541
594
897
924
703
719
710
804
621
628
535
871
699
640
971
826
994
578
924
699
775
727
893
960
758
674
717
627
752
805
857
538
921
990
761
990
850
762
811
928
960
909
995
785
663
909
903
873
963
606
639
840
949
697
933
593
764
644
654
987
547
952
768
703
747
801
611
974
700
550
720
525
594
687
898
863
513
935
925
685
507
738
976
918
677
742
768
741
529
981
760
998
768
783
909
971
752
770
982
554
981
819
515
547
656
596
543
586
594
783
706
509
700
990
827
799
565
654
544
973
648
661
1000
872
689
639
632
797
583
747
648
512
618
754
924
990
809
857
581
686
619
941
685
528
764
648
646
619
924
773
575
968
874
767
654
529
510
937
501
794
820
765
758
760
597
706
779
793
565
548
508
766
699
728
954
919
510
999
702
687
930
793
767
614
905
992
985
613
549
812
774
953
966
784
937
664
934
930
840
555
868
523
889
584
942
921
973
942
682
693
696
678
565
825
781
913
638
975
753
925
997
916
955
812
764
845
786
601
834
518
650
613
603
623
654
650
949
697
785
675
816
631
741
730
626
510
771
851
582
561
713
881
803
884
500
513
840
522
871
958
735
897
908
549
846
960
701
552
800
864
588
517
909
521
680
712
804
551
835
746
721
569
882
768
723
936
893
616
768
992
559
857
942
672
527
891
703
919
988
956
530
786
971
801
661
742
965
893
806
797
668
606
513
690
545
962
957
541
512
708
611
628
688
660
801
866
779
624
922
665
882
518
839
636
516
688
600
619
799
881
623
644
679
820
506
963
972
710
737
810
851
634
996
932
989
935
615
888
825
640
866
528
786
838
701
523
795
515
723
983
874
674
625
653
999
505
593
840
810
973
572
687
520
799
968
985
616
709
805
586
742
653
546
572
877
537
666
866
816
904
788
946
997
759
549
708
696
790
552
967
561
567
509
550
682
583
990
599
793
714
842
932
851
786
673
557
984
858
664
977
765
560
958
887
592
717
593
607
697
946
630
840
932
680
923
876
683
984
996
736
596
672
830
695
800
554
583
740
713
567
519
576
625
860
999
808
720
675
966
997
637
790
989
887
571
916
558
718
524
590
862
795
757
843
848
825
818
734
646
738
690
502
576
894
978
991
949
539
544
937
675
809
838
980
507
605
732
593
562
658
936
798
646
945
902
926
582
890
627
627
817
840
879
535
722
858
506
985
529
612
830
868
816
969
550
874
687
626
835
711
679
815
720
895
608
706
839
527
679
791
611
616
963
515
810
979
884
938
844
824
685
976
898
554
659
741
654
662
645
650
856
861
918
937
858
948
761
638
545
592
537
644
783
626
993
695
955
528
739
540
679
733
966
607
943
992
977
913
907
997
670
520
742
607
631
787
635
821
946
890
817
819
946
842
634
725
789
776
914
785
546
734
633
686
924
859
664
576
857
942
551
702
626
760
652
977
739
530
987
850
655
709
517
763
825
927
553
739
791
860
592
897
766
900
824
641
506
576
940
571
776
715
527
643
759
879
634
552
840
561
899
716
817
912
957
542
505
588
549
941
522
934
723
797
670
523
617
719
505
720
715
759
699
678
548
657
839
525
723
672
699
777
947
830
877
731
805
555
702
750
849
555
509
811
851
663
954
903
549
788
977
856
509
967
803
911
788
749
591
765
659
975
939
930
611
511
672
535
713
900
561
894
826
916
916
580
750
799
640
894
659
725
978
899
563
812
970
848
820
540
518
992
656
612
716
709
854
582
797
590
950
961
752
778
963
671
957
923
688
680
939
976
890
742
832
804
914
701
617
1000
714
737
754
660
576
515
772
549
916
874
777
929
882
526
791
719
748
945
774
861
916
741
604
582
723
542
576
588
604
874
837
650
722
615
914
789
590
920
590
565
973
527
615
535
943
934
844
680
938
701
823
948
833
533
500
862
571
844
803
986
676
753
862
569
664
856
910
874
507
957
620
983
664
948
958
859
777
855
941
653
831
851
806
997
548
639
605
818
680
970
688
722
560
778
776
643
919
764
775
632
504
967
987
707
922
818
825
870
537
610
573
997
716
873
955
786
699
785
688
764
567
674
829
689
565
965
806
950
577
590
683
965
526
571
977
820
698
824
959
509
555
748
752
649
921
874
865
915
700
939
703
995
911
866
594
774
820
546
631
747
513
941
658
980
759
849
619
656
509
735
857
703
528
688
980
691
764
891
635
806
814
978
739
639
871
908
658
619
533
944
604
953
999
763
551
975
896
685
688
531
841
876
942
602
734
567
599
917
640
630
555
707
891
842
693
597
964
577
743
697
903
805
931
795
753
794
936
681
638
739
534
978
539
604
650
893
835
713
512
865
593
845
608
597
746
545
784
613
778
568
821
994
847
995
587
868
872
740
865
687
604
539
943
765
733
757
780
715
823
518
943
796
592
662
911
507
988
595
516
807
705
578
568
653
603
712
873
542
969
837
958
760
592
784
925
978
769
823
538
534
936
671
510
648
622
648
920
920
922
642
689
524
508
857
524
791
944
936
500
648
835
811
569
808
758
947
693
566
629
889
620
946
743
562
659
594
679
551
582
604
619
974
695
895
783
799
783
548
645
614
664
839
646
958
599
507
638
974
960
857
542
719
642
972
593
668
803
606
536
895
892
569
714
744
577
577
828
552
863
947
792
966
953
651
739
749
675
611
918
559
665
840
547
951
819
947
724
904
657
688
659
554
985
776
887
761
591
930
719
675
828
632
661
877
544
854
953
815
841
706
507
888
937
940
720
928
952
938
649
980
806
525
511
662
700
607
710
700
840
871
558
678
565
933
818
545
803
704
760
814
999
666
650
760
547
589
582
878
636
516
958
500
734
617
888
669
919
925
901
722
856
545
963
850
826
846
999
890
550
838
784
694
562
780
795
891
756
597
909
721
735
890
605
660
830
764
912
639
915
544
688
750
959
602
670
863
721
647
744
709
716
642
552
670
553
838
795
548
833
647
909
705
962
600
545
979
570
654
896
967
848
651
870
797
512
892
852
955
691
523
944
548
870
874
813
631
505
863
977
533
839
854
520
896
663
912
849
636
948
903
875
547
540
816
969
642
586
589
666
997
803
629
844
662
752
761
966
813
526
795
989
571
789
834
787
743
516
666
646
716
579
734
909
801
952
819
617
618
970
672
709
720
589
771
667
518
739
994
763
923
671
961
851
731
895
513
704
568
872
991
703
829
615
779
995
549
721
804
729
910
938
606
831
875
668
841
820
911
935
516
635
677
801
807
795
768
594
808
633
654
549
501
661
907
607
756
912
708
826
542
820
742
590
793
589
786
563
872
832
854
711
755
688
579
721
656
998
939
610
855
603
812
904
903
540
945
533
928
780
848
736
544
942
656
525
617
857
884
509
883
714
837
914
596
699
820
793
737
578
739
529
660
587
978
723
904
850
667
627
911
883
735
631
563
682
596
585
616
919
972
992
565
527
930
977
513
535
669
940
762
687
752
709
738
632
527
609
823
672
692
503
571
752
607
523
913
506
948
787
691
728
812
688
703
590
851
899
832
712
782
964
648
992
529
639
790
808
864
788
664
772
758
530
887
885
885
833
653
527
668
637
702
885
651
920
735
961
650
780
924
692
770
867
995
919
958
517
536
755
752
609
915
606
773
926
611
698
609
913
646
790
807
984
730
971
747
717
839
695
650
835
890
799
738
620
654
557
596
530
716
619
806
772
894
969
995
503
800
631
520
772
863
782
585
1000
787
904
770
566
618
806
932
600
970
732
837
962
781
556
715
729
886
600
556
618
684
843
821
739
854
750
605
608
572
827
999
890
820
694
606
834
582
858
947
753
598
527
633
941
796
925
514
760
968
763
598
796
536
594
749
652
954
683
754
880
982
868
537
952
679
922
829
958
589
679
717
844
650
702
529
779
656
820
575
896
629
837
791
675
876
611
884
624
622
601
720
699
519
694
922
692
753
596
624
980
823
596
918
832
739
645
604
771
858
939
711
842
614
551
814
649
537
624
918
968
880
557
984
802
766
645
709
501
936
966
856
816
847
808
829
732
954
557
784
570
809
998
629
836
849
734
846
585
687
983
713
683
978
580
693
735
691
980
907
937
689
578
785
758
929
963
967
820
589
705
843
899
536
897
669
644
948
924
787
810
767
730
979
542
934
702
991
596
722
955
848
712
531
978
908
723
654
588
946
964
682
640
767
570
586
627
651
562
514
607
650
716
819
916
853
781
922
759
582
507
698
732
608
608
788
511
747
984
524
711
683
765
511
723
972
688
715
617
983
643
859
768
837
662
939
948
882
566
663
915
626
907
997
959
890
920
699
989
727
858
853
917
734
889
737
888
769
812
803
632
785
659
797
920
810
804
894
949
759
537
606
900
530
816
926
954
585
679
725
967
760
682
910
721
575
846
811
864
808
888
544
923
506
578
532
946
522
924
631
569
728
657
582
976
571
634
913
698
553
898
845
832
808
800
663
953
966
896
751
663
859
802
938
793
650
933
971
571
916
545
661
567
768
632
858
736
724
536
719
724
712
613
543
795
929
733
599
674
761
539
857
841
803
739
969
543
598
751
751
809
775
595
831
889
629
919
699
558
520
996
650
993
924
559
895
696
806
545
941
865
836
888
516
975
912
977
929
573
705
928
960
700
678
681
602
526
937
896
569
867
590
904
872
954
695
937
912
733
820
807
789
615
757
905
647
562
553
709
868
999
633
612
545
527
781
989
733
534
647
664
945
661
656
598
527
945
815
745
598
918
562
846
970
769
568
874
502
948
766
862
515
611
741
681
928
670
538
605
701
764
911
784
847
913
866
526
515
917
974
777
754
788
634
914
565
572
648
552
937
595
553
515
747
823
899
999
718
834
827
519
688
677
656
841
852
500
954
709
730
764
683
777
623
822
782
636
681
526
590
650
962
518
762
914
673
586
891
813
503
876
997
873
880
552
835
954
724
937
704
723
762
595
543
616
769
895
736
515
578
748
639
745
538
804
626
764
866
875
945
743
888
882
793
848
950
909
505
886
594
958
520
787
912
977
561
754
877
613
528
980
732
545
731
560
771
663
947
539
819
890
853
746
957
832
982
895
605
756
567
740
908
607
710
742
798
820
583
906
725
732
501
521
655
891
893
946
863
702
900
775
533
929
946
650
756
681
686
764
640
676
544
878
751
991
948
576
872
797
620
606
658
894
966
744
631
593
515
687
651
516
563
642
830
562
895
873
706
673
978
654
851
605
759
541
601
636
939
634
916
766
795
710
977
868
735
507
860
938
930
782
920
1000
526
954
531
564
723
793
576
992
594
574
745
999
785
589
915
736
742
779
586
880
650
841
685
729
557
957
518
989
619
839
614
758
913
985
746
969
966
910
803
696
512
597
631
716
902
794
752
611
840
710
913
821
525
931
771
945
757
904
883
548
989
671
813
933
992
702
627
907
974
512
967
552
901
889
786
759
778
708
773
529
551
975
851
897
652
913
828
581
879
752
963
832
720
825
647
638
847
780
746
665
513
628
572
592
650
657
527
715
741
555
750
542
991
643
709
757
841
705
870
899
645
898
666
619
535
586
778
601
717
562
986
533
975
919
976
907
973
866
866
742
799
686
824
964
870
807
881
704
680
880
561
743
676
796
691
784
736
784
524
951
943
725
882
806
981
961
813
612
779
991
978
696
624
699
807
597
572
977
977
598
884
801
809
738
518
569
617
569
940
746
748
847
641
947
787
726
607
563
711
617
760
535
878
936
976
983
738
573
800
590
603
848
865
816
693
783
529
914
936
876
559
500
722
937
937
866
540
878
777
730
934
521
689
554
516
762
820
586
687
705
577
939
579
878
684
508
962
630
990
547
887
637
861
562
510
921
884
915
962
965
581
585
984
654
908
565
922
556
580
862
744
637
746
583
588
873
723
500
798
606
934
781
516
840
667
742
953
716
570
933
992
576
629
718
532
629
709
718
685
612
590
515
943
606
574
685
947
729
932
850
566
881
844
534
922
691
745
612
801
890
755
789
983
682
526
791
590
635
950
802
628
887
672
962
537
858
710
763
903
546
838
606
559
973
609
633
924
986
983
671
533
841
970
674
695
941
503
970
836
864
825
584
630
815
630
760
898
565
976
874
909
772
790
744
720
562
851
577
680
763
519
848
918
535
656
858
525
555
958
507
687
571
940
874
803
509
698
569
710
702
877
598
634
710
849
578
607
865
971
796
772
742
766
706
747
970
901
864
972
565
891
804
891
563
969
750
930
530
625
948
858
933
829
715
923
970
778
650
554
922
654
567
681
768
872
784
718
502
512
767
960
684
785
851
631
507
545
840
687
840
544
884
794
764
537
608
513
777
653
700
652
950
514
769
665
983
712
955
978
698
752
556
626
726
744
848
623
971
687
853
697
705
599
917
613
510
542
698
949
975
731
694
769
828
795
834
987
920
924
667
873
629
694
872
623
553
639
811
624
523
630
644
966
658
744
607
991
919
894
715
577
646
785
789
529
865
731
983
658
879
941
914
515
769
521
670
701
591
687
621
700
844
687
571
515
632
508
528
868
752
889
948
754
621
864
699
605
870
699
916
817
863
543
819
883
819
738
533
929
961
864
994
560
881
807
524
652
565
679
677
803
973
593
632
742
759
869
708
825
784
853
851
952
774
779
781
892
972
798
534
909
555
534
756
672
901
996
989
586
746
588
907
767
562
911
991
755
549
755
935
726
900
892
606
711
672
642
923
941
969
755
941
780
815
930
902
528
844
650
911
952
969
568
838
642
897
527
562
834
582
816
714
779
772
765
802
882
571
691
791
773
852
623
889
683
753
538
635
974
745
965
817
598
719
539
953
869
618
541
832
933
602
594
668
834
520
964
742
789
884
955
784
559
685
636
514
587
713
698
507
842
694
972
573
542
639
513
940
981
630
883
671
576
551
715
739
561
924
627
567
680
640
770
680
823
507
669
704
601
649
723
740
873
959
817
755
573
821
942
521
563
921
563
623
802
877
557
820
792
897
517
973
939
540
874
892
575
884
698
905
937
760
703
845
690
728
869
522
825
596
574
641
573
624
610
537
558
970
640
867
631
542
904
987
616
830
724
988
758
938
826
926
622
732
608
535
795
620
688
657
972
725
603
509
612
819
733
845
954
876
703
973
934
605
500
828
842
730
555
996
944
559
633
739
619
903
973
884
664
848
533
851
569
760
678
643
701
854
684
616
905
620
676
720
675
812
848
525
839
943
581
955
967
803
947
598
573
931
860
816
875
639
823
988
765
756
931
619
619
729
789
786
728
994
702
789
653
817
785
975
616
901
863
770
591
767
757
832
842
825
923
763
967
848
580
819
738
625
665
989
922
650
677
922
651
956
705
818
814
963
876
849
998
679
935
884
644
840
609
793
910
761
670
633
944
665
920
645
838
984
705
872
963
763
902
501
715
535
665
715
617
929
768
793
945
621
812
804
510
956
617
733
970
900
741
899
631
654
636
817
642
888
677
523
945
963
755
775
762
869
763
721
868
718
708
539
530
667
908
573
803
675
530
779
542
976
551
573
907
614
853
523
756
671
789
735
596
993
654
798
977
892
716
676
970
526
790
887
613
600
528
653
921
581
659
937
659
623
632
920
562
908
750
913
913
650
745
845
593
661
834
749
807
871
917
568
558
841
703
705
626
581
893
768
512
586
659
898
547
556
688
980
602
917
967
567
973
654
635
801
633
776
594
847
667
925
792
856
717
980
869
869
665
771
856
585
995
753
502
912
767
935
803
663
853
508
630
732
844
608
896
689
958
561
850
760
816
742
608
918
972
974
606
539
954
625
724
765
882
697
539
524
949
534
602
799
686
824
512
884
598
865
952
667
572
927
838
747
529
791
716
780
970
721
709
680
739
813
630
762
649
639
839
521
870
771
633
658
765
895
691
632
890
860
768
558
867
711
767
784
761
574
672
754
827
876
663
966
849
530
809
663
723
701
784
504
540
719
683
645
844
763
627
874
565
836
533
696
975
896
847
903
586
580
949
914
834
780
584
886
610
968
631
773
661
640
534
915
895
846
839
705
671
792
918
757
692
944
663
946
787
958
986
772
578
981
642
712
648
975
906
621
631
713
870
911
857
974
907
686
546
545
591
764
687
938
568
866
651
990
604
745
911
950
740
748
778
668
764
515
924
503
687
910
905
963
810
719
746
841
728
563
801
639
630
685
734
570
711
966
767
966
724
964
785
704
626
976
692
960
836
581
582
920
956
784
726
952
851
826
507
746
720
514
758
849
605
548
680
903
924
529
683
719
663
548
598
788
589
782
589
973
686
556
612
795
986
574
608
743
525
746
503
862
875
801
757
804
526
851
552
724
761
683
940
933
648
761
966
688
671
581
806
565
701
781
743
881
865
918
952
718
635
714
881
780
577
792
692
889
885
514
922
523
877
564
997
635
578
711
683
530
891
887
899
800
603
633
984
640
615
990
703
562
783
578
844
829
933
510
928
809
814
765
904
720
555
942
915
522
788
711
617
846
851
790
601
922
505
951
799
572
830
668
989
693
886
961
570
785
568
695
989
888
989
621
669
634
640
882
986
634
765
506
824
527
514
614
570
553
934
650
529
561
615
722
803
706
935
504
509
732
928
803
971
636
977
785
753
971
905
716
707
963
717
561
681
745
916
816
790
502
503
523
874
985
735
799
601
944
943
632
780
559
809
885
500
591
563
650
701
662
680
709
978
658
985
642
641
929
637
935
852
860
912
677
951
883
660
904
932
590
703
988
641
909
819
724
867
897
501
862
622
922
828
593
602
937
775
578
739
987
799
608
749
887
728
908
907
810
592
863
894
705
928
742
830
902
904
963
517
523
545
541
625
605
963
807
528
516
822
553
729
919
636
566
862
983
646
983
602
537
648
989
641
961
757
699
513
649
750
619
610
537
987
540
944
814
877
918
615
682
822
946
540
656
717
780
559
822
749
639
887
576
726
989
961
622
523
588
880
579
845
554
858
851
733
859
576
646
501
587
672
680
562
503
828
968
621
503
557
800
672
998
634
995
824
579
702
847
735
786
761
638
649
780
750
718
776
629
520
750
804
769
849
576
699
802
828
883
951
817
641
820
799
557
604
593
606
706
645
517
940
717
640
701
830
569
733
800
605
834
969
558
687
556
521
735
752
789
605
811
997
556
503
882
781
789
905
736
813
928
567
911
619
636
980
856
515
885
505
507
786
779
575
950
820
813
959
640
866
702
510
652
812
740
939
573
578
774
916
786
724
742
883
815
595
987
849
829
990
535
520
552
768
743
639
945
587
784
671
557
819
826
511
761
727
646
586
695
845
571
708
565
528
717
861
896
524
681
736
751
744
672
886
809
836
526
528
566
994
984
970
776
589
967
519
542
630
994
860
614
691
716
608
755
883
540
676
956
970
768
763
983
757
644
958
760
632
544
505
545
941
904
764
746
646
937
967
878
763
550
953
549
575
534
554
623
848
889
584
767
615
533
746
636
652
625
513
730
547
760
719
743
569
932
692
610
640
725
579
892
972
912
715
567
952
623
500
767
827
560
635
908
970
876
678
568
989
949
686
769
994
566
779
774
655
991
837
677
694
870
648
938
517
535
779
694
880
645
585
747
975
697
873
654
971
827
686
642
570
802
709
508
651
896
775
810
966
630
650
527
764
699
593
660
563
726
895
578
960
779
810
854
941
802
652
580
901
684
739
653
614
745
926
522
936
733
960
738
707
772
672
607
882
600
551
830
612
570
697
522
877
851
758
670
792
643
688
515
623
935
837
590
737
603
648
948
909
803
747
947
631
576
717
743
804
916
785
607
648
516
823
600
689
665
774
523
597
617
847
879
773
620
892
786
839
811
979
748
784
799
634
799
645
950
744
920
618
875
959
697
548
839
598
731
977
795
526
894
676
667
598
981
911
714
908
953
599
616
946
821
595
648
641
864
607
755
892
510
613
661
534
502
591
785
868
915
740
755
925
634
630
945
922
648
948
705
989
546
611
727
876
750
712
761
740
879
638
797
839
580
706
739
617
858
535
860
833
763
732
592
518
875
617
807
991
873
694
685
579
954
913
773
747
778
688
877
913
682
697
871
907
966
912
859
664
932
894
671
526
827
722
590
506
610
775
964
693
561
878
907
704
564
766
658
991
587
561
537
586
927
810
545
702
855
907
576
829
518
653
501
847
898
875
671
810
919
828
528
887
561
790
987
533
766
718
835
524
779
972
840
902
677
830
535
684
637
695
909
906
672
907
636
872
657
746
632
588
755
894
721
814
882
952
805
613
822
727
893
869
920
600
544
830
535
610
841
916
969
893
640
806
568
832
748
528
729
785
786
629
928
871
545
515
671
948
826
538
719
721
708
550
964
644
506
747
560
572
874
561
820
925
502
631
543
901
566
765
578
780
568
854
599
797
596
723
674
549
504
735
905
502
578
834
685
886
539
617
761
986
932
871
676
921
671
958
657
809
994
626
811
671
753
588
655
747
844
901
878
620
520
829
602
857
502
884
897
540
796
817
999
539
541
673
689
895
922
565
918
864
528
964
818
633
907
736
566
511
951
662
729
833
628
995
868
737
848
656
809
799
544
644
956
800
958
764
784
628
541
861
964
924
844
504
805
910
614
924
559
609
967
905
977
936
990
778
958
723
520
800
875
715
593
967
739
794
994
889
846
751
794
784
795
911
765
893
777
967
871
536
913
571
946
830
980
998
808
546
670
707
582
524
550
672
995
664
829
634
594
823
749
942
662
967
969
506
870
575
654
887
820
713
534
890
513
752
928
578
963
773
657
603
776
630
668
546
799
864
553
806
975
766
774
893
838
639
541
885
621
544
754
552
810
526
597
602
674
709
861
532
796
893
815
886
889
725
955
658
722
559
553
531
914
531
625
862
733
641
740
913
714
603
822
820
556
848
718
648
742
610
888
952
783
632
612
613
630
550
679
799
639
723
845
979
524
563
978
856
780
841
793
668
913
880
803
792
711
941
982
700
825
755
592
821
766
720
840
628
717
541
571
823
994
699
933
857
598
879
956
678
500
982
513
775
822
807
783
929
726
723
828
581
811
962
967
960
665
918
639
769
541
752
610
575
888
774
610
603
710
924
974
836
802
834
540
576
810
786
717
550
910
574
798
539
823
992
695
983
694
798
620
795
895
954
757
684
826
981
769
662
639
556
707
683
635
817
963
612
547
973
854
975
901
596
847
750
867
998
563
601
871
973
668
637
795
512
757
977
504
949
639
802
927
662
850
874
778
526
896
903
953
585
853
762
544
584
640
959
790
543
511
857
898
695
832
668
562
917
902
945
796
537
851
803
622
924
918
603
623
611
981
985
803
824
775
673
681
848
727
842
826
928
895
618
961
662
637
634
816
547
877
773
809
895
507
851
960
704
571
681
980
575
910
869
509
792
860
742
649
551
577
823
612
725
587
628
595
610
646
550
628
591
580
968
980
564
508
513
551
792
645
954
771
963
683
503
506
565
887
929
537
932
929
582
560
581
711
860
673
884
680
690
812
904
744
568
623
688
517
737
814
766
846
912
972
629
643
590
965
514
849
820
622
536
906
609
738
873
554
560
576
691
652
709
638
757
549
707
582
955
972
768
847
539
551
603
999
637
517
802
800
864
845
858
882
720
507
751
584
734
987
572
691
886
760
980
914
978
766
618
508
872
840
836
862
957
760
887
938
656
803
840
761
995
990
900
853
852
756
777
706
827
636
655
989
930
884
994
965
616
969
761
709
547
826
898
752
521
907
679
568
961
814
774
568
985
663
704
912
983
636
902
775
573
512
789
880
727
794
948
771
922
714
999
813
576
553
993
854
623
978
874
734
906
551
704
626
579
515
696
930
538
732
873
520
528
898
894
570
792
704
952
753
715
999
511
666
736
773
913
629
827
983
575
520
886
666
723
771
878
535
634
934
653
855
604
619
908
690
970
672
505
707
996
656
518
684
632
935
785
890
548
962
636
706
700
949
890
508
662
860
881
794
839
761
833
836
585
706
954
625
863
896
883
764
825
688
955
867
696
686
922
558
837
555
708
907
631
794
830
945
516
964
596
859
652
952
837
672
651
885
805
505
926
957
612
697
723
912
517
587
701
696
587
726
609
754
612
692
587
897
542
711
719
670
543
570
757
741
675
1000
611
907
610
553
867
597
841
795
564
914
737
844
776
532
994
600
925
829
898
881
535
876
860
664
789
571
516
728
842
723
933
537
757
956
790
859
721
581
651
983
896
783
646
792
914
781
933
865
911
873
696
763
835
661
815
828
690
872
592
869
535
954
627
799
905
909
754
887
585
965
941
988
721
927
607
618
774
818
916
674
869
968
682
852
500
809
663
616
506
947
621
843
869
863
710
702
602
622
809
930
997
901
693
936
661
642
615
864
529
559
754
666
927
939
873
887
845
679
593
577
856
745
640
554
948
797
927
762
708
613
845
887
580
576
558
861
799
715
568
692
881
905
581
580
722
644
837
905
549
501
806
842
579
699
637
613
970
683
697
696
533
583
943
783
973
785
786
975
801
976
824
554
925
681
520
654
777
685
679
707
631
717
621
764
567
757
889
655
693
714
865
976
553
930
542
877
930
835
805
542
611
712
875
593
866
560
569
757
982
749
649
648
736
681
955
984
994
872
621
692
549
944
834
919
515
798
691
870
998
757
857
590
718
846
597
954
776
512
732
587
856
632
954
729
962
748
823
630
567
743
666
713
591
633
601
829
716
966
754
608
868
728
998
985
609
675
741
754
544
541
893
771
997
895
533
911
846
553
515
785
807
826
783
990
639
624
889
876
585
971
609
885
697
802
528
578
843
536
691
621
878
743
824
697
821
550
715
779
607
864
951
895
623
727
500
854
537
570
885
715
653
945
675
640
622
867
647
882
510
901
625
971
999
714
737
933
676
775
920
731
664
716
759
684
858
775
947
966
628
733
535
509
663
601
592
937
934
505
516
635
958
558
917
843
711
958
710
943
804
818
824
933
725
699
855
865
859
950
578
813
824
515
694
794
858
792
756
770
959
828
721
862
867
573
847
724
895
971
588
692
537
634
566
866
896
895
873
692
645
509
999
708
688
862
515
686
731
592
605
759
670
970
615
837
590
859
994
644
841
862
964
940
520
603
723
591
577
613
741
825
778
974
946
899
983
575
534
989
678
695
938
534
571
626
800
998
963
779
971
677
812
995
893
898
649
922
936
808
665
948
713
929
726
790
819
874
600
938
643
865
786
609
925
787
531
739
521
516
815
535
668
624
747
763
820
565
990
991
669
500
606
557
809
697
629
789
995
718
881
735
706
573
870
550
597
788
793
755
671
537
563
969
517
873
622
819
828
599
829
628
772
905
534
948
885
714
630
504
691
701
815
799
808
671
891
874
763
916
866
880
951
503
613
861
555
769
920
535
627
633
687
745
718
605
879
582
549
895
888
621
501
977
649
848
947
981
589
652
568
831
698
846
847
673
699
928
851
771
846
537
988
765
624
503
530
571
722
960
865
724
639
793
552
940
695
747
606
923
508
955
864
832
753
764
878
841
998
906
962
574
504
543
869
630
640
629
875
885
896
559
665
569
636
694
686
942
643
797
628
965
877
851
828
650
682
802
810
798
596
655
719
771
938
662
645
938
833
835
571
939
953
596
669
639
862
632
847
742
928
712
687
705
686
507
961
980
852
690
801
528
914
521
567
594
846
643
631
808
832
606
947
743
614
867
877
717
553
526
691
689
687
902
915
811
777
888
556
595
713
586
524
900
617
662
780
815
982
912
848
666
732
596
898
701
639
733
561
868
754
979
965
768
520
503
872
849
840
897
915
501
764
733
926
530
903
822
949
500
819
818
966
801
636
534
954
678
769
781
566
893
810
509
543
883
537
523
756
712
997
982
947
739
698
691
971
736
790
914
641
834
738
974
677
652
731
656
529
621
938
948
875
695
995
948
786
988
785
915
745
544
806
685
814
805
996
990
526
826
957
630
890
502
838
903
565
723
615
978
593
603
947
908
586
525
863
557
832
914
653
844
810
982
659
773
595
1000
582
972
726
706
762
876
537
906
526
551
690
602
926
644
662
683
825
605
565
905
786
793
529
741
612
546
711
807
610
602
823
828
816
731
901
997
676
843
917
570
704
692
565
866
516
744
704
674
891
836
605
753
628
600
815
858
864
964
762
925
537
685
668
695
997
569
788
842
594
525
844
894
981
648
780
569
754
708
505
655
739
594
879
723
502
658
838
563
865
966
987
803
908
994
552
863
631
763
686
746
958
811
941
592
745
611
899
995
623
951
563
530
503
738
521
897
727
711
747
541
648
760
952
503
728
668
843
836
961
912
882
610
827
773
942
694
613
636
614
912
826
832
709
672
731
773
672
747
768
985
752
935
923
606
989
904
646
1000
894
554
592
661
519
603
592
889
702
671
617
623
668
727
688
533
762
619
997
930
727
796
774
999
945
778
794
688
676
776
985
820
629
857
722
972
719
735
616
770
895
794
637
997
941
854
765
529
856
947
913
949
509
614
624
598
834
548
552
850
889
995
942
849
832
526
642
638
700
808
858
706
706
682
942
979
691
937
887
579
854
960
949
641
850
793
966
564
752
538
923
518
876
513
811
838
973
710
649
554
830
950
923
1000
674
688
564
644
899
517
552
782
694
674
930
802
554
786
509
784
745
618
537
879
566
853
608
924
689
757
738
957
903
667
790
681
896
897
953
677
720
709
595
760
525
973
971
768
887
601
948
547
777
578
509
719
910
710
795
500
797
591
665
896
501
982
914
965
661
933
913
701
946
767
717
929
500
942
837
836
634
720
950
541
975
518
576
853
832
939
826
837
740
589
773
908
864
832
728
579
883
612
932
695
600
962
847
782
988
893
749
710
774
518
958
539
773
796
774
907
696
628
539
712
790
610
858
680
562
974
515
824
858
640
822
588
699
928
998
872
514
587
834
634
803
784
916
775
948
572
722
525
913
754
784
639
798
805
653
581
601
898
708
579
786
581
771
782
581
822
967
956
569
812
648
892
597
510
584
945
747
609
678
659
772
535
905
944
746
664
848
802
778
940
605
638
598
748
977
710
940
622
668
595
736
539
696
560
540
779
648
834
695
630
652
765
877
691
823
598
943
785
911
715
622
963
707
708
717
704
955
933
820
661
549
820
633
658
831
600
799
968
757
633
623
591
671
597
679
601
665
837
670
834
809
624
872
807
548
634
774
632
905
783
840
750
940
833
526
967
629
829
512
653
679
765
618
684
688
862
991
995
595
643
682
797
769
717
514
821
899
842
874
631
925
657
653
911
595
522
565
989
683
650
893
786
674
934
725
840
699
616
853
795
864
785
640
857
876
861
947
702
588
553
892
782
567
757
997
627
526
982
716
959
609
732
737
784
633
854
665
691
642
520
782
533
612
718
869
968
565
920
562
611
572
732
597
999
890
890
913
764
570
719
963
875
726
531
715
651
523
746
974
822
584
680
905
614
955
817
890
823
785
584
853
507
829
912
906
738
778
848
792
942
503
954
684
666
667
575
658
511
869
884
602
861
702
658
640
759
885
642
943
875
999
881
668
998
719
982
942
800
580
919
773
810
552
544
534
519
687
936
906
758
835
686
933
725
868
884
982
907
771
881
707
654
649
670
760
908
541
540
836
504
927
553
995
764
847
900
790
848
877
936
990
994
938
508
719
773
533
794
702
501
716
710
528
884
587
720
586
603
883
747
948
538
624
903
782
701
538
758
739
963
665
773
807
676
794
513
959
532
940
521
648
850
575
541
714
531
566
512
929
650
575
824
895
899
989
861
909
738
941
644
600
525
578
599
599
632
938
719
818
737
591
682
964
611
865
875
802
543
670
597
805
628
714
878
759
942
921
843
919
641
671
892
578
805
625
929
917
889
813
612
505
783
840
826
753
844
627
683
532
820
843
883
759
874
849
821
511
841
730
520
871
699
760
748
832
918
553
697
570
752
875
707
658
817
772
676
768
637
639
884
613
515
661
513
566
773
875
546
671
565
676
626
914
947
625
684
759
996
901
619
1000
516
967
535
535
753
912
748
711
613
668
907
888
619
622
851
902
587
598
800
810
602
986
793
708
810
839
816
713
658
568
600
798
988
895
762
763
620
946
826
620
973
879
522
502
509
705
598
624
688
638
934
546
563
564
915
864
787
653
975
998
534
660
663
921
687
777
799
514
694
819
547
675
786
659
893
866
700
729
988
842
560
825
989
510
884
512
639
777
540
748
750
731
870
843
609
905
687
810
727
511
803
655
531
801
720
595
822
731
669
918
502
709
606
992
670
658
646
588
849
878
530
576
595
895
714
770
730
895
757
593
931
865
994
599
530
614
899
796
685
880
774
548
702
544
715
528
543
590
842
838
826
859
575
891
557
857
880
974
598
790
635
572
922
755
737
642
944
598
936
689
761
830
529
661
510
955
983
915
656
772
998
574
846
596
721
681
927
776
989
766
923
589
885
656
681
565
758
947
887
870
632
707
883
680
776
858
564
955
546
901
780
774
865
958
636
952
673
671
927
816
626
691
695
964
921
950
978
733
615
731
757
948
511
914
714
620
610
508
912
892
759
674
683
771
758
710
890
588
965
808
544
591
585
844
766
706
798
522
686
951
805
627
702
622
673
578
569
577
815
918
921
789
866
657
517
679
686
783
971
667
861
660
677
766
613
663
956
946
633
784
915
740
612
612
893
922
626
654
503
594
914
951
618
500
640
827
786
932
979
687
622
734
829
502
689
923
735
917
829
948
654
602
941
529
520
881
971
843
951
667
833
659
655
820
731
901
579
675
513
500
527
600
843
581
616
966
680
772
654
795
508
644
942
782
825
716
868
592
627
919
544
844
635
952
503
551
559
832
632
537
1000
901
605
971
556
529
581
999
907
604
783
913
962
933
966
816
587
719
816
587
963
532
519
911
958
928
830
676
789
843
956
689
864
939
525
607
755
855
543
576
682
772
630
891
947
818
911
585
506
674
888
549
870
671
669
805
939
856
758
856
552
820
606
710
506
692
588
572
881
977
675
927
680
982
945
645
523
964
704
832
714
820
760
643
951
950
958
633
735
733
958
803
754
997
728
862
948
950
904
651
557
739
938
950
929
642
914
722
797
840
740
628
730
609
874
858
943
998
859
737
520
549
672
702
597
932
563
724
633
841
972
664
839
812
943
625
943
771
612
867
812
581
859
873
884
672
789
770
945
566
765
801
640
759
653
995
792
988
595
747
576
828
982
839
516
550
582
856
771
830
596
675
924
986
581
850
514
628
722
963
847
746
889
528
860
709
672
502
912
698
698
729
858
720
720
903
591
855
942
766
865
829
536
919
508
837
925
786
654
538
557
638
660
882
859
558
930
742
945
755
728
937
514
667
876
694
624
880
747
666
600
532
704
603
857
551
635
972
814
835
881
973
690
743
853
506
898
632
585
880
849
725
672
645
621
787
866
977
519
840
709
839
650
667
621
723
851
820
973
730
746
924
965
606
888
950
596
766
626
849
825
941
786
955
920
580
736
806
770
513
807
517
598
984
573
988
629
790
817
702
615
650
655
939
991
506
714
605
731
610
677
617
503
632
824
667
878
655
732
679
693
979
719
974
554
708
963
920
981
750
593
644
532
793
986
808
564
934
980
835
765
772
696
920
704
876
504
912
549
682
576
866
811
593
805
524
703
662
568
523
610
785
920
577
723
825
785
606
808
861
709
881
828
600
729
854
813
595
940
817
542
928
748
506
531
800
736
896
917
889
891
979
508
630
694
713
523
971
951
879
557
768
980
663
536
862
787
662
688
774
984
545
612
583
508
831
945
885
774
662
649
844
654
566
803
652
764
920
654
880
833
702
780
518
882
831
589
733
602
741
832
981
886
945
616
755
921
645
712
820
996
565
714
594
749
563
700
613
647
730
672
599
702
630
769
901
684
841
636
846
618
649
962
846
833
867
951
585
653
948
545
771
642
627
701
846
994
759
576
795
857
789
865
547
791
671
993
733
957
832
620
907
553
751
615
725
714
737
866
539
631
675
532
958
793
776
862
520
802
881
513
776
876
932
720
951
942
756
512
973
721
823
525
846
591
503
768
776
727
959
954
985
842
862
737
977
667
595
655
669
829
804
933
712
708
656
748
591
746
858
798
749
506
703
704
703
516
502
792
755
583
877
794
590
501
854
822
656
539
861
814
921
699
664
580
622
920
675
820
891
950
908
787
672
752
809
970
622
989
829
883
545
718
721
563
507
635
973
607
989
691
921
952
515
770
785
878
992
574
849
756
911
923
839
531
557
500
817
836
741
693
684
898
726
879
874
886
848
690
724
871
661
871
759
996
926
594
810
521
952
659
904
519
892
770
664
662
1000
761
683
649
686
582
918
550
675
987
575
831
856
696
875
622
698
889
575
524
944
913
805
976
500
591
518
693
586
675
565
900
581
556
896
806
858
512
586
633
718
946
726
903
689
522
632
596
879
779
800
959
941
608
980
853
540
854
953
658
717
830
823
590
662
594
773
617
603
823
512
948
935
857
662
758
904
619
988
531
688
666
947
781
859
516
639
573
550
844
684
948
978
947
694
953
706
996
953
670
595
546
757
846
951
842
723
635
710
731
866
795
502
609
943
670
633
969
894
535
826
644
614
984
954
611
641
612
697
551
882
924
884
975
774
685
974
632
643
784
583
986
953
745
934
593
980
829
768
852
697
919
557
708
772
757
910
775
677
582
683
665
542
833
637
900
596
697
629
979
532
944
655
925
581
871
576
930
961
931
759
917
791
528
680
501
549
887
748
598
717
667
734
622
624
798
842
858
980
886
516
922
877
811
524
995
935
840
978
505
725
924
758
507
548
843
819
612
875
597
981
850
665
690
751
924
516
605
893
933
598
822
691
854
650
643
758
757
998
704
885
932
974
529
531
664
970
888
608
528
556
991
717
963
799
883
899
804
578
999
652
664
554
770
873
810
898
823
940
965
686
826
973
754
533
845
919
645
586
659
882
520
983
690
594
690
760
813
907
504
662
907
552
535
972
951
779
550
578
906
546
896
672
614
832
630
896
992
549
766
761
672
732
930
771
846
945
846
570
696
511
782
615
886
796
712
707
852
997
794
909
836
519
554
591
798
666
786
779
563
637
764
808
917
932
599
800
971
917
655
732
797
554
890
981
917
709
998
643
687
574
848
635
665
802
544
723
961
661
501
597
649
505
502
695
866
525
513
710
920
972
945
649
727
993
745
903
661
716
986
996
510
974
665
735
709
885
581
726
764
792
870
861
693
523
629
775
870
591
862
749
718
681
701
754
812
847
609
949
792
567
991
619
734
554
749
610
610
513
721
516
701
742
852
569
849
887
602
746
565
575
908
867
607
537
541
504
522
623
533
754
603
972
998
553
596
541
694
837
957
798
764
704
925
906
738
663
548
722
801
599
611
810
561
676
780
547
943
667
811
841
523
918
736
853
567
768
549
973
695
767
881
809
729
905
829
503
880
620
844
639
955
998
642
959
634
598
530
528
531
535
881
584
565
952
775
529
705
509
877
954
503
994
809
612
589
672
557
520
775
748
726
704
993
866
577
646
927
568
884
891
745
876
647
727
778
928
532
798
594
824
513
569
956
870
818
632
586
516
982
637
673
649
762
514
878
942
578
782
543
749
864
516
722
927
817
528
830
538
601
826
929
693
893
539
604
782
967
845
697
687
514
908
597
906
579
959
581
934
829
774
702
509
947
758
620
615
837
548
549
871
783
761
799
874
501
840
885
785
535
621
698
599
785
894
974
853
931
988
666
658
987
738
581
815
565
826
568
987
515
546
597
795
634
537
532
968
672
617
652
871
838
501
689
996
522
735
584
545
872
614
536
644
584
916
744
731
585
942
675
910
614
541
777
722
818
917
619
910
784
723
639
579
650
748
621
894
998
778
815
754
877
760
667
834
982
657
771
881
738
742
845
746
626
614
667
681
849
658
997
640
589
626
933
910
932
707
578
527
613
910
954
781
869
640
960
968
550
764
788
757
670
527
570
908
932
879
554
542
820
840
703
675
883
837
592
971
602
929
757
547
970
504
639
537
652
575
716
919
877
607
947
878
604
520
751
594
554
848
846
945
640
662
830
924
916
574
855
802
870
593
928
860
945
650
960
560
822
875
867
612
871
609
821
679
865
773
803
935
576
927
813
918
525
852
656
965
736
974
755
972
679
785
849
776
981
975
789
958
631
504
874
703
683
613
605
944
574
765
610
603
525
654
538
846
781
625
567
683
543
591
934
715
831
796
761
917
933
935
570
894
682
514
654
635
554
871
994
569
932
744
514
843
819
949
904
983
907
630
676
602
948
538
642
522
638
852
961
730
747
819
925
885
503
653
708
684
825
587
524
643
748
564
575
838
873
859
594
675
892
650
672
679
790
597
887
665
710
899
555
513
909
689
871
663
619
764
699
771
587
823
988
846
909
588
550
892
883
825
730
630
529
867
992
905
596
793
513
542
558
571
869
845
828
770
586
979
867
778
897
882
512
559
788
783
851
813
967
879
996
526
996
998
615
970
732
526
729
543
905
953
889
534
745
733
810
580
694
757
798
895
674
566
705
535
624
792
843
518
682
615
842
563
860
725
742
688
754
850
760
845
511
768
895
852
519
870
629
715
702
745
983
639
615
990
592
742
874
681
731
751
725
897
553
553
934
769
545
633
538
901
912
676
941
952
941
927
844
977
710
955
856
635
997
910
576
654
660
805
932
527
676
746
799
676
730
723
707
819
588
768
720
756
547
925
763
710
929
563
858
627
617
885
708
559
783
645
972
966
612
614
791
629
735
726
832
991
829
551
568
963
803
627
674
586
771
687
781
989
962
995
664
677
965
525
958
724
840
859
641
693
741
584
636
506
609
740
924
635
501
762
971
915
755
913
601
672
848
948
850
855
716
778
841
638
632
875
755
716
1000
939
536
843
801
738
859
678
528
868
931
926
664
651
709
662
892
557
645
589
512
563
744
915
723
777
596
542
928
667
705
649
561
664
618
683
644
681
511
899
569
686
558
895
754
532
536
927
919
693
827
978
759
939
518
909
721
592
534
962
646
581
565
805
625
987
538
650
873
745
734
767
641
809
827
800
891
654
843
632
590
871
862
730
543
621
844
935
742
758
981
687
691
877
667
794
867
519
541
579
938
957
812
750
864
964
774
760
532
769
858
655
512
957
945
525
718
577
977
806
659
921
796
888
833
677
903
752
741
649
993
628
645
769
669
748
626
752
807
824
743
843
709
779
626
835
577
532
863
939
697
610
539
857
577
1000
800
776
799
738
661
950
550
586
609
910
941
671
620
698
832
561
721
639
975
997
985
775
893
673
596
608
668
856
848
895
927
864
839
842
927
784
543
625
925
585
700
686
917
754
534
764
618
964
704
914
870
811
686
798
641
995
515
698
960
761
780
716
905
788
759
681
557
620
859
502
631
887
868
537
603
705
806
563
881
702
943
783
526
916
875
558
925
692
828
667
575
527
903
647
692
999
915
545
657
620
875
928
695
929
543
636
838
581
932
762
575
794
759
676
665
537
858
861
873
603
517
735
924
676
814
685
631
502
681
601
801
554
938
915
930
556
761
619
552
909
618
934
935
615
869
523
519
768
636
788
716
802
763
841
796
716
560
566
976
588
657
888
914
791
1000
588
566
830
781
599
859
995
932
957
773
635
827
569
544
615
818
926
840
945
630
660
575
663
639
652
672
709
705
966
755
731
968
689
596
627
767
944
559
621
516
753
911
716
972
928
506
867
536
739
543
666
647
573
798
788
507
997
561
747
533
992
820
951
730
697
668
984
764
657
926
602
811
840
512
971
987
882
859
586
789
845
539
802
514
801
788
532
899
758
838
605
566
967
682
652
852
782
941
502
580
550
813
749
898
886
675
710
702
589
630
830
891
744
788
992
560
745
883
861
605
606
618
774
921
646
995
773
852
607
593
629
539
835
786
732
949
943
904
640
921
973
960
706
764
648
893
773
697
891
749
966
752
877
972
769
786
535
680
696
718
752
890
946
887
831
657
647
938
608
814
671
530
822
669
801
742
874
681
943
691
776
895
721
712
841
844
714
530
745
934
841
963
830
686
968
968
960
807
785
972
939
822
558
552
999
556
541
722
872
996
601
576
549
887
619
884
780
745
527
599
806
961
986
625
706
575
543
910
518
615
905
968
639
997
661
792
716
671
561
818
740
667
963
656
749
615
981
964
897
626
700
915
572
794
899
761
882
801
843
954
626
549
971
686
616
790
880
973
642
997
974
748
696
974
884
514
561
694
759
925
508
861
776
735
770
780
894
612
704
839
527
536
877
946
591
897
858
887
624
687
996
762
678
787
849
858
824
581
701
589
766
609
956
704
860
964
790
903
803
851
952
824
685
742
562
971
597
691
575
747
663
637
564
602
978
678
868
789
671
874
779
504
527
526
880
946
932
738
705
709
589
507
760
865
602
902
592
905
945
836
705
776
984
767
658
749
615
612
691
616
616
569
794
720
953
971
666
602
627
551
580
790
523
750
585
814
621
725
735
760
751
859
652
768
769
895
956
585
790
797
883
672
900
758
705
837
668
517
728
774
869
619
609
1000
656
719
703
821
768
921
931
625
582
551
994
885
616
818
741
571
935
605
664
617
623
784
895
970
842
985
801
510
909
977
745
822
603
693
793
685
894
970
956
915
543
980
775
684
719
860
898
523
940
729
990
987
915
629
534
659
769
858
660
824
997
595
980
533
657
796
908
500
997
577
569
784
512
817
585
773
865
931
990
897
628
614
545
921
964
685
878
723
907
595
871
733
761
781
563
512
914
978
587
983
631
807
780
680
565
935
800
821
875
881
979
931
923
636
507
525
881
507
916
860
923
988
643
563
892
922
532
705
552
634
522
612
822
753
911
501
607
965
694
889
819
600
946
972
572
636
730
521
919
920
575
817
618
735
917
546
762
797
651
853
590
812
690
853
987
804
511
953
896
508
632
590
859
828
590
981
954
856
797
798
601
632
599
636
516
806
886
732
760
644
610
636
990
596
994
766
880
712
724
531
587
637
728
755
937
733
850
685
632
984
519
794
688
747
777
953
735
521
708
521
615
685
958
703
828
891
763
826
817
769
871
786
554
731
760
993
861
933
628
660
990
568
600
716
612
832
935
927
738
586
770
909
542
936
784
701
729
784
682
506
737
635
973
851
936
786
659
797
850
518
843
664
528
675
742
907
990
665
633
752
690
678
732
869
879
684
812
725
975
673
835
997
852
919
603
805
970
662
735
595
552
564
987
987
814
708
500
830
578
957
669
839
674
828
826
800
976
524
717
944
569
538
776
981
503
731
673
721
695
559
895
512
780
832
733
548
821
931
767
553
844
625
771
746
522
780
645
752
998
522
608
620
687
622
868
627
708
588
549
724
980
571
896
500
574
948
743
534
695
639
653
936
803
888
834
581
656
944
846
675
959
657
717
677
989
533
764
514
721
960
734
673
972
550
543
557
814
713
521
714
991
550
721
704
950
866
831
893
771
519
826
886
802
514
727
888
710
798
682
571
683
957
728
894
807
659
533
866
580
830
944
772
962
524
626
948
983
510
502
769
998
752
862
639
676
724
881
746
732
533
663
866
963
814
633
840
541
559
925
907
598
957
960
635
546
511
821
674
855
965
941
720
610
522
713
877
884
752
643
699
847
568
931
750
879
782
514
583
532
653
718
546
881
671
505
553
604
604
991
928
845
807
779
957
844
532
596
851
664
853
916
538
512
952
789
542
762
683
898
766
636
648
998
623
659
787
784
708
698
707
908
570
896
874
649
981
929
882
651
754
641
871
715
551
901
584
593
699
725
939
910
756
760
520
711
961
937
681
571
659
635
936
612
645
549
917
773
789
515
714
887
914
957
795
814
833
657
568
947
641
519
839
519
813
760
673
802
610
640
821
916
632
847
838
890
671
776
909
677
777
857
670
850
827
781
520
874
948
870
518
692
598
669
646
944
896
744
889
949
554
866
919
794
936
625
989
821
800
671
900
764
587
671
614
813
559
861
549
593
583
630
939
907
785
709
651
563
881
545
886
842
971
597
709
942
626
565
883
511
908
696
808
665
645
543
516
821
838
683
997
954
859
615
715
506
667
753
948
738
768
944
625
995
768
939
530
781
646
730
941
501
863
867
942
847
828
814
983
715
782
907
514
718
628
922
831
850
952
745
834
542
590
748
828
620
740
979
729
835
857
589
567
980
777
609
827
615
664
838
611
590
659
532
687
710
763
540
631
812
746
739
757
928
908
844
845
665
508
952
602
887
702
513
648
703
888
550
826
889
763
564
572
645
825
857
747
659
819
716
858
961
875
812
951
921
571
770
777
992
915
730
860
950
747
503
851
884
849
963
964
881
683
956
571
785
692
694
935
741
742
612
903
902
983
593
838
923
805
964
798
969
793
805
574
771
816
893
962
689
976
805
594
580
937
508
591
857
930
673
736
617
745
803
888
980
786
850
800
840
791
839
518
526
826
914
728
502
573
963
771
890
712
939
531
667
550
596
573
952
754
668
759
902
681
533
632
733
929
991
928
774
777
700
538
643
994
702
946
879
669
885
843
598
627
734
521
625
705
581
615
544
502
675
704
920
638
641
733
867
844
671
591
628
870
801
965
677
560
638
515
504
683
729
519
765
613
853
684
733
852
522
823
665
808
647
973
509
607
860
722
906
610
878
998
876
614
704
743
895
912
609
699
930
503
532
527
723
529
833
641
604
990
622
996
805
500
646
936
799
694
834
565
594
620
564
1000
913
729
761
909
825
617
968
902
565
563
869
651
667
518
1000
651
808
755
698
991
664
780
684
916
536
507
748
608
538
786
735
751
687
846
537
614
574
697
987
851
814
653
959
903
521
791
989
793
717
930
759
540
551
888
703
957
672
615
559
513
531
578
689
571
557
813
640
928
786
803
983
887
735
614
957
605
928
736
782
701
759
747
582
747
677
633
718
518
996
587
949
817
730
658
958
756
902
510
612
979
932
561
516
761
975
566
715
541
959
544
504
745
711
526
783
641
681
719
791
977
703
718
546
707
565
649
617
831
897
725
602
997
602
725
528
853
715
774
800
956
994
872
686
970
784
521
705
616
784
792
746
841
915
512
520
500
782
602
661
846
590
934
770
971
798
707
624
734
883
929
746
905
661
914
990
830
830
820
965
947
769
652
735
985
767
815
836
535
670
535
696
756
905
679
752
987
519
820
539
796
765
610
723
590
737
673
867
850
696
924
703
939
982
545
819
804
816
803
515
510
816
717
654
786
645
825
883
529
965
612
881
885
594
854
779
554
745
680
649
544
660
543
666
629
609
545
832
561
662
648
508
712
501
544
933
693
521
593
729
684
646
909
712
740
984
627
1000
566
569
773
756
812
640
745
914
985
848
837
832
586
792
546
861
876
537
567
662
547
566
514
947
890
610
594
765
622
896
656
674
944
806
624
794
776
699
611
617
860
876
604
708
585
601
625
652
570
751
735
598
631
789
538
506
899
705
529
579
811
615
759
813
848
530
756
593
868
968
801
916
631
579
900
601
578
764
644
805
607
605
614
616
722
718
777
965
738
668
676
638
565
554
519
515
960
598
767
984
970
969
579
729
865
642
901
968
813
967
596
998
796
542
635
739
607
938
687
857
977
763
647
835
725
538
965
790
592
645
693
872
898
639
508
553
825
881
830
523
929
691
503
994
558
540
756
571
985
915
530
758
858
939
716
985
670
581
660
993
824
896
797
782
714
873
586
938
777
605
936
990
984
921
668
605
773
511
895
667
925
911
672
538
995
753
741
709
757
534
757
911
502
555
927
840
992
567
773
845
714
854
529
620
652
888
937
850
650
765
985
988
782
880
818
596
760
568
601
586
874
856
678
710
612
609
884
774
538
816
801
984
861
754
539
544
963
805
975
886
631
844
595
645
623
857
528
811
947
635
822
573
527
762
898
979
556
831
856
545
586
931
705
927
500
747
753
717
817
861
970
823
599
512
701
801
868
662
870
515
727
605
857
830
578
748
585
551
894
685
941
715
632
543
965
687
587
999
693
845
713
941
753
639
501
713
607
722
978
644
861
910
714
929
999
848
756
738
607
763
534
518
739
642
951
746
799
688
987
845
839
940
943
933
753
959
883
855
505
745
582
909
785
517
807
903
947
916
767
981
574
837
645
588
975
604
511
958
702
836
662
938
945
808
594
785
538
641
776
882
641
561
757
709
532
731
610
589
991
637
865
996
945
715
676
943
712
990
801
845
810
546
588
941
962
682
916
564
644
741
824
601
520
829
787
675
521
961
878
898
812
981
652
934
847
794
728
828
560
806
676
975
727
930
530
978
835
939
732
993
546
660
980
951
567
778
738
928
974
631
613
875
650
686
752
867
696
927
769
828
855
640
699
595
870
808
637
727
836
861
655
962
970
598
811
949
855
614
660
934
787
983
646
997
781
704
696
986
599
865
959
568
717
869
504
737
871
547
742
784
863
627
708
963
513
902
777
550
581
614
907
977
704
832
543
981
836
873
792
534
574
637
638
974
718
752
555
545
760
618
667
575
769
534
793
728
814
979
934
985
517
917
949
577
598
511
536
970
808
713
582
725
859
548
754
821
772
979
953
788
520
566
648
763
744
575
862
871
515
843
672
717
847
651
952
899
735
962
922
532
587
540
886
817
921
726
801
957
602
617
677
854
523
633
737
525
902
824
788
884
606
973
630
534
762
950
903
868
766
838
856
732
870
589
580
652
764
743
934
608
926
581
650
571
979
899
783
691
557
836
647
580
722
967
695
691
859
888
683
548
973
670
967
837
993
510
557
612
501
952
563
626
596
800
793
758
583
878
620
975
959
674
692
814
866
822
957
959
873
560
557
660
693
623
644
692
858
862
857
693
824
921
513
549
961
601
952
657
535
769
590
603
624
991
836
555
901
813
848
945
989
564
971
510
780
794
643
568
956
998
928
924
582
531
801
956
633
523
845
1000
763
521
767
672
861
818
660
530
726
654
793
925
707
826
596
935
771
861
514
937
714
919
866
591
734
891
938
747
878
827
888
540
878
782
959
648
527
867
624
992
562
918
921
963
731
992
726
903
587
892
939
740
512
829
530
994
647
877
780
695
783
717
512
660
831
817
607
714
977
915
578
530
579
936
532
840
686
881
555
936
739
765
599
793
684
788
543
965
684
686
922
811
845
973
575
929
582
962
571
604
597
540
648
920
694
533
767
954
768
517
889
897
631
834
976
788
778
711
847
645
987
786
563
938
989
636
818
811
730
917
851
997
988
989
704
749
894
740
966
759
964
905
687
961
815
872
838
619
862
836
829
575
590
680
944
513
761
972
913
702
901
849
617
875
549
570
753
750
949
567
889
740
783
732
550
990
967
703
909
648
857
694
571
982
570
915
772
758
959
513
819
531
770
903
550
915
739
644
830
573
799
953
677
951
731
522
657
812
806
717
618
993
732
557
614
897
924
703
598
662
903
686
679
957
799
756
648
694
689
747
822
974
617
664
858
894
927
699
518
741
839
926
923
845
551
884
949
772
610
847
895
790
848
511
1000
808
739
582
784
696
519
977
574
618
619
953
796
701
552
836
986
792
804
523
506
973
982
939
605
974
526
505
802
942
504
977
521
582
817
822
577
580
938
715
761
907
835
816
753
774
697
646
884
515
647
681
963
628
897
673
533
526
875
897
743
544
570
753
717
894
847
559
875
939
627
519
558
547
806
925
741
740
655
901
885
895
888
719
744
830
931
760
597
642
794
607
653
625
500
915
530
742
955
927
742
884
745
566
589
788
694
642
907
698
647
840
844
948
774
587
919
784
556
798
975
957
949
752
930
775
721
618
546
883
547
679
974
851
633
893
796
712
647
522
624
630
825
905
969
594
718
911
608
530
543
588
969
929
884
682
720
510
896
906
785
989
659
919
896
899
748
752
965
792
736
892
580
973
741
551
955
657
572
725
775
825
948
840
864
880
548
899
853
673
595
763
535
825
629
515
553
650
944
634
982
635
666
631
894
890
973
961
709
971
963
600
625
857
953
950
843
824
553
979
743
564
719
570
843
633
665
626
554
711
594
820
721
952
727
923
653
803
601
802
581
948
740
911
696
942
679
782
612
840
831
752
630
850
994
766
544
830
986
524
761
895
501
563
952
808
999
557
536
637
635
575
745
597
787
702
916
546
945
849
698
540
672
760
583
512
688
613
799
594
924
524
780
868
500
683
877
563
969
530
850
620
809
926
613
625
758
538
870
986
946
633
758
900
596
766
709
728
643
875
725
674
837
692
853
923
709
860
559
999
622
760
708
831
939
529
669
831
924
637
791
689
898
941
582
916
502
733
787
955
813
558
912
532
836
775
665
860
595
746
713
812
630
927
759
668
657
855
626
916
536
598
688
817
519
707
671
522
942
900
797
902
992
806
861
891
874
735
608
749
636
752
906
706
685
662
628
995
821
722
809
654
868
517
884
682
643
615
755
992
775
543
870
928
821
552
761
631
833
939
939
517
813
532
561
912
931
743
885
666
797
526
732
873
603
656
898
529
570
664
684
708
675
983
558
728
949
891
829
575
679
972
519
906
845
967
693
949
997
703
601
687
905
853
520
862
844
712
791
706
916
593
868
813
935
846
684
878
941
714
809
510
530
884
984
971
842
993
555
846
781
638
504
793
683
760
818
1000
758
857
585
673
818
816
846
770
504
745
513
749
555
520
792
902
649
592
895
591
851
716
913
877
897
797
709
735
581
643
525
843
866
617
655
557
743
729
848
901
977
553
981
550
929
994
816
765
525
629
810
573
518
609
509
552
519
716
811
711
569
599
875
629
718
997
667
870
560
772
665
816
698
912
693
614
637
515
523
971
648
808
576
998
821
737
941
867
951
575
762
778
840
565
572
943
996
616
556
908
605
947
842
529
932
617
821
553
734
535
730
892
906
988
960
631
981
577
538
761
720
993
623
718
696
770
779
623
773
545
794
778
513
565
513
871
901
734
982
884
957
746
669
655
933
708
593
805
874
680
641
660
598
501
517
553
805
812
666
588
742
644
738
559
655
792
646
511
935
969
691
547
535
778
787
866
961
788
739
936
919
516
786
811
700
939
527
764
685
565
536
774
740
806
553
592
669
993
738
758
970
593
974
781
659
755
837
761
790
567
837
802
670
615
824
875
591
608
866
640
946
818
907
633
624
543
712
674
556
820
758
945
836
542
880
537
521
760
796
672
661
662
718
664
851
981
618
593
648
952
764
963
968
876
916
526
603
837
783
557
881
838
928
503
756
706
654
756
852
823
774
804
956
548
911
682
637
557
993
700
778
893
795
697
690
894
909
937
503
614
958
945
915
863
770
722
517
813
835
733
879
571
938
514
726
740
809
721
641
623
892
749
760
690
940
720
673
626
650
875
967
589
816
632
538
971
985
500
846
799
809
930
674
611
628
724
633
668
651
786
755
850
516
997
774
804
807
817
734
552
815
696
890
822
558
882
525
786
977
908
990
866
804
590
682
583
518
651
902
827
873
760
661
533
560
682
961
713
941
850
773
764
543
807
645
740
899
983
710
720
801
849
865
900
636
965
735
884
669
757
960
997
640
796
714
758
819
548
608
581
997
952
519
677
802
639
553
777
862
964
931
603
823
795
897
743
730
779
864
857
598
857
712
980
607
693
845
582
935
545
520
692
800
631
796
954
671
525
859
990
845
745
946
875
996
738
546
791
504
945
806
880
918
852
558
711
604
627
792
564
675
580
806
836
644
731
726
501
656
791
853
710
769
993
597
611
650
824
770
967
759
957
766
582
898
973
543
640
672
919
743
512
899
906
974
802
655
967
744
916
733
904
714
543
849
722
899
681
738
505
528
745
784
793
722
791
854
970
977
749
993
950
986
890
793
638
743
851
632
536
995
875
540
853
755
643
934
930
681
508
656
675
680
643
777
678
869
737
700
889
694
700
566
669
847
822
831
820
558
708
875
933
965
986
902
517
733
533
855
823
845
769
923
526
794
713
561
620
729
775
507
684
715
834
804
972
776
663
577
905
828
553
819
601
517
695
788
782
824
531
834
941
523
906
804
808
857
651
958
637
746
883
550
641
636
880
735
949
811
554
574
688
656
618
727
691
574
965
710
538
907
769
768
879
556
948
936
539
656
586
563
744
560
692
559
833
514
886
589
555
706
568
958
932
886
968
808
671
672
652
718
987
871
781
586
900
776
748
539
898
658
673
768
883
916
858
650
620
504
544
954
549
593
513
964
618
595
989
655
752
665
546
941
517
772
718
739
575
916
624
918
522
518
666
710
646
602
705
649
557
723
860
691
783
794
970
785
989
845
729
553
551
842
704
854
784
545
849
759
808
820
935
827
600
662
941
572
872
761
992
786
779
769
600
912
727
779
983
629
747
948
716
763
926
655
617
952
844
826
531
767
664
879
831
564
730
985
900
973
692
616
979
996
946
726
633
918
894
820
772
604
553
891
546
970
701
874
557
525
811
649
978
846
755
639
618
971
955
932
653
871
856
970
922
957
821
906
534
924
996
682
678
773
893
844
818
796
565
739
804
550
536
509
692
944
631
681
907
917
653
590
572
827
940
569
886
919
586
832
939
918
513
516
801
710
900
962
653
707
933
909
919
693
989
931
818
609
796
687
755
906
511
598
504
579
636
684
640
826
550
704
637
507
975
593
999
775
860
700
523
891
541
794
671
524
521
558
800
985
851
858
1000
670
796
831
585
862
984
857
538
949
755
707
756
624
881
742
581
622
967
697
528
989
583
700
619
594
900
750
570
548
694
650
955
686
639
551
666
888
791
648
963
892
926
868
663
859
827
544
554
883
563
543
967
642
768
590
572
713
681
702
714
827
631
856
967
907
516
573
898
524
823
727
705
941
663
524
638
675
857
945
687
738
842
650
719
501
566
788
732
981
610
856
510
541
828
584
683
857
617
619
686
681
958
955
775
824
986
727
881
552
734
660
767
787
865
603
572
524
528
820
873
638
763
735
640
548
579
514
795
712
676
882
965
886
649
669
552
536
650
661
717
779
582
873
674
700
818
669
925
682
578
972
693
942
853
589
906
809
881
905
809
618
991
949
782
749
918
584
895
759
616
852
543
875
841
868
678
711
675
550
658
869
910
701
672
560
537
623
554
843
641
585
639
887
953
788
847
815
591
514
696
515
975
563
995
684
536
586
636
676
581
772
823
710
766
902
595
896
774
831
860
944
510
687
507
545
768
715
825
602
761
643
508
853
736
517
812
990
843
748
758
656
618
936
588
948
834
976
961
758
740
715
650
816
851
642
532
796
996
856
525
803
633
997
994
742
704
705
779
799
714
985
784
608
522
913
549
641
781
585
876
942
888
641
630
784
597
713
804
975
849
724
519
519
907
759
626
971
538
559
776
726
530
815
670
629
727
692
514
688
708
948
717
746
757
513
868
565
794
664
587
912
684
713
960
960
873
518
515
555
962
990
630
914
799
617
822
525
597
746
800
544
711
935
532
574
802
890
514
620
571
957
781
778
565
633
909
574
526
760
659
897
994
816
939
824
981
797
928
599
516
753
582
817
942
520
580
949
619
837
594
651
775
599
725
985
832
573
631
644
775
713
790
971
783
656
861
560
529
640
541
626
644
517
757
678
612
737
660
889
725
998
634
502
651
704
953
551
560
567
858
651
652
616
953
921
579
869
869
982
570
846
564
600
638
927
990
545
707
722
714
855
822
938
871
917
849
599
553
525
732
789
827
601
623
658
951
804
879
922
809
919
865
706
954
502
848
690
887
970
650
872
590
522
930
950
691
545
618
506
742
567
639
836
755
579
699
732
517
591
865
765
804
905
899
778
849
643
557
862
566
738
895
869
509
847
869
719
678
873
798
816
514
668
751
668
834
515
950
995
902
881
550
699
737
547
584
505
843
927
613
856
524
791
900
605
950
914
959
969
582
953
590
822
915
756
689
833
530
734
612
531
726
810
525
662
744
596
598
899
758
969
691
944
650
779
960
603
686
614
690
840
598
752
626
977
900
809
725
685
517
651
567
753
969
609
751
737
838
693
970
661
890
706
750
717
806
601
501
631
600
921
630
633
528
852
518
966
740
866
864
677
831
830
778
725
818
553
759
797
506
887
675
942
501
771
977
735
538
742
690
688
609
710
898
993
865
576
699
688
786
654
751
636
845
837
841
726
800
581
733
727
770
633
645
993
518
658
734
724
648
525
745
662
596
630
743
783
908
756
533
677
907
649
889
838
741
976
707
593
623
919
747
781
739
996
892
721
929
901
679
556
802
924
846
900
641
548
585
852
726
956
584
663
625
685
858
536
647
660
529
952
900
721
885
556
759
584
889
819
780
713
756
680
961
889
637
840
938
983
767
512
567
650
749
933
773
709
958
900
845
871
880
504
739
756
941
968
1000
792
916
560
776
976
590
993
770
521
658
619
845
565
926
741
565
573
959
987
777
500
529
794
560
933
879
831
981
681
508
983
955
862
730
985
871
586
586
695
664
593
559
648
815
721
958
728
812
806
888
695
564
511
777
922
893
726
840
770
638
573
953
587
908
602
521
748
954
537
541
535
531
823
629
827
854
817
696
671
729
830
818
821
972
803
891
625
946
881
839
595
910
656
865
887
829
647
862
888
892
759
558
929
673
681
615
915
804
983
908
856
793
721
689
751
630
921
504
611
989
685
777
874
685
914
717
940
756
950
597
607
718
750
769
970
775
895
647
744
998
518
872
903
851
989
740
962
533
780
744
510
982
572
960
913
683
569
974
659
901
688
945
752
943
773
969
617
537
948
936
599
568
535
920
798
546
777
623
932
638
584
505
662
890
936
679
989
843
610
944
822
966
966
670
762
625
555
866
529
788
914
802
953
738
559
579
851
608
539
658
605
596
828
932
503
825
774
917
558
914
635
553
653
821
985
701
816
567
513
520
767
748
613
787
786
896
891
843
590
988
715
930
973
614
740
770
610
696
524
838
917
688
590
852
919
988
546
766
664
779
567
696
874
846
894
787
859
797
817
654
811
824
800
739
695
674
574
731
764
797
674
555
638
714
523
552
829
889
933
777
846
991
840
764
715
689
766
968
568
674
780
942
702
596
935
989
542
772
573
993
997
606
766
850
636
894
644
907
521
543
703
757
718
607
780
666
703
742
577
694
839
770
875
594
929
544
852
696
603
641
723
922
642
525
742
721
933
592
977
614
919
733
972
651
937
501
668
551
811
619
970
630
979
757
992
982
603
920
782
928
915
704
698
666
772
825
662
527
591
829
789
576
796
806
873
783
943
781
694
779
642
762
670
664
964
768
943
999
593
981
868
866
548
554
580
843
888
915
697
920
859
560
918
717
524
689
575
851
916
932
984
653
805
698
694
653
880
882
595
886
834
997
601
754
738
673
936
937
509
609
641
759
514
730
693
796
914
951
837
907
898
701
964
671
528
650
580
776
759
642
546
808
710
998
891
972
769
554
780
593
755
592
860
559
833
615
802
987
941
558
780
747
945
735
718
765
804
522
555
897
909
934
588
502
981
930
733
858
850
981
949
710
704
759
887
755
859
809
995
851
743
794
972
769
579
742
858
780
887
556
572
740
791
518
822
825
664
818
951
996
920
683
647
582
719
545
936
674
734
529
535
684
624
532
745
707
659
955
712
1000
621
647
895
507
876
858
507
731
518
536
854
973
931
996
573
535
892
988
766
543
546
727
935
995
708
692
848
937
564
728
898
713
990
600
925
716
752
998
556
901
942
770
688
732
987
645
755
836
686
611
730
733
788
501
852
867
801
785
788
553
990
670
950
549
576
525
925
767
672
776
701
952
997
555
514
977
773
901
941
854
570
532
719
949
996
844
519
848
799
928
813
532
545
597
567
515
577
529
821
704
580
837
813
850
623
523
585
994
977
805
807
652
774
650
738
677
817
919
645
700
952
754
953
946
661
946
519
731
957
953
942
931
925
736
653
998
521
746
652
767
558
695
871
746
558
504
575
563
918
712
943
888
824
652
651
530
787
723
591
620
737
926
640
545
945
751
606
612
717
753
617
806
835
759
929
513
832
638
500
875
726
866
810
545
663
601
741
658
657
969
513
971
621
947
805
908
736
696
904
844
855
723
819
568
659
786
529
675
513
758
980
978
850
523
932
936
566
902
682
634
998
854
523
841
636
974
860
961
933
824
753
997
904
732
559
687
513
561
982
510
579
776
541
887
564
550
754
616
771
536
915
886
964
778
853
938
517
917
953
660
980
751
801
722
785
987
915
809
917
890
902
848
530
968
748
694
721
878
527
844
942
954
928
721
793
559
562
846
575
974
558
706
857
535
850
878
534
927
886
574
500
997
688
654
994
610
675
908
910
777
853
516
611
775
824
574
561
732
815
615
765
763
678
898
518
623
775
643
692
966
737
990
714
881
882
603
732
687
677
783
843
959
898
767
574
758
646
675
892
740
741
891
743
945
742
817
995
953
679
729
855
575
893
900
997
813
715
554
771
986
822
782
519
744
667
686
936
903
907
694
544
990
608
760
546
787
989
778
917
611
660
575
524
867
954
513
720
842
992
528
907
566
542
582
995
546
812
640
658
881
567
816
953
614
783
508
680
756
555
558
523
940
893
749
511
578
874
862
932
878
651
845
920
640
834
615
711
921
819
633
891
944
779
921
872
556
865
557
920
680
776
839
557
827
694
1000
859
775
500
539
909
954
752
770
939
842
639
972
916
711
834
872
628
558
682
665
707
651
936
867
674
989
978
507
620
992
784
734
888
852
608
662
525
520
541
812
559
665
929
971
843
858
557
610
983
759
670
672
627
665
782
726
787
991
797
633
741
908
798
768
765
744
550
874
963
605
918
614
792
763
598
570
652
792
781
602
560
869
586
746
788
826
626
731
795
711
838
593
882
586
744
652
892
605
571
998
648
613
935
971
869
746
800
567
918
591
919
732
703
599
872
998
630
742
952
610
668
603
723
507
760
529
976
966
911
726
847
735
895
998
513
686
804
907
913
718
595
943
964
886
893
948
529
603
715
834
611
990
592
934
942
548
833
918
832
974
919
808
641
512
976
691
777
626
719
868
685
992
574
986
928
973
650
936
843
993
596
521
686
717
901
698
669
751
941
662
687
798
577
790
633
919
533
683
658
875
869
782
718
748
895
809
860
714
997
527
596
992
887
829
749
937
669
835
563
682
676
759
942
840
769
501
539
504
911
849
767
806
963
673
859
539
642
519
969
659
556
889
892
935
893
846
989
525
666
811
1000
905
515
638
501
876
797
580
881
922
589
540
580
700
822
896
587
850
707
673
822
966
903
845
579
600
803
952
992
602
925
827
695
510
888
764
589
616
831
750
789
930
974
684
528
727
643
570
870
825
622
996
978
743
519
774
650
947
542
782
919
762
578
682
840
942
980
818
884
524
915
892
616
712
919
952
902
860
721
737
797
970
509
567
808
706
971
930
786
551
586
653
509
594
896
862
719
631
746
781
687
513
682
770
722
663
819
634
824
854
628
941
934
525
912
789
615
887
966
989
634
562
573
761
854
610
955
595
651
763
563
965
673
605
917
733
651
910
618
592
515
870
528
705
959
798
631
974
758
727
793
506
771
829
556
570
586
751
999
517
728
741
561
879
767
653
792
532
776
643
739
872
948
570
791
720
710
648
547
524
886
596
657
554
541
800
538
883
701
729
512
781
744
870
713
976
673
829
965
1000
964
599
722
854
658
653
594
789
921
566
525
960
718
505
765
789
892
612
507
979
840
720
844
753
833
869
528
696
888
965
970
822
743
693
973
783
627
562
938
854
969
722
794
890
639
814
517
810
702
776
938
525
838
603
893
676
631
737
771
702
890
590
891
728
915
933
611
888
702
865
692
500
652
889
792
964
588
770
967
699
626
812
687
724
585
844
526
812
705
604
752
792
824
523
942
618
580
646
761
932
648
791
681
586
522
549
692
968
837
563
720
881
534
588
757
734
990
543
650
882
621
536
893
710
663
688
786
557
512
979
643
740
771
838
840
558
979
624
590
837
934
816
607
796
801
792
728
670
827
876
669
996
505
776
524
766
903
876
652
635
720
878
843
658
909
911
917
797
515
890
591
915
898
708
825
725
925
656
518
501
926
778
749
671
678
714
956
532
590
925
765
998
808
844
876
915
861
515
856
600
700
777
975
686
788
856
561
546
771
606
759
741
536
561
931
575
893
982
869
849
530
928
968
567
648
816
557
897
906
765
956
644
542
508
886
731
960
882
558
774
859
786
700
963
598
814
575
703
845
794
656
930
889
599
500
566
837
770
951
834
606
502
519
816
807
712
606
938
885
980
690
775
951
908
875
953
904
987
835
594
549
808
855
758
804
508
588
523
512
596
825
723
539
916
862
921
617
875
851
650
663
815
553
926
929
581
933
877
575
599
688
701
920
528
811
724
677
879
777
636
686
728
985
940
576
736
802
938
758
989
950
833
729
837
947
911
639
570
748
722
595
638
539
861
521
510
803
513
587
780
520
979
923
578
739
828
886
787
541
543
941
547
738
972
903
640
931
553
901
523
715
629
888
961
985
792
840
564
863
516
509
674
508
775
813
732
564
947
766
777
745
681
599
924
619
592
731
641
709
952
628
515
832
713
945
877
880
550
895
852
705
628
820
555
584
600
758
605
738
501
796
737
700
620
560
817
900
732
743
895
595
716
638
988
923
926
858
998
849
819
849
530
929
596
634
932
578
585
838
773
543
724
759
918
636
764
907
726
615
658
554
900
619
724
783
990
732
771
809
845
877
792
723
924
635
593
895
619
541
625
628
857
869
859
650
921
721
551
785
754
766
666
547
914
731
943
605
998
655
774
553
569
506
988
697
544
650
996
817
794
578
912
696
856
507
557
816
557
868
890
671
562
885
681
775
847
583
779
901
783
980
509
602
592
615
606
961
707
892
846
983
602
999
850
520
742
557
735
829
847
608
616
714
899
984
948
627
817
911
535
719
743
752
533
607
988
624
979
525
964
848
943
860
949
566
518
918
871
515
740
646
789
698
667
996
718
619
982
664
548
964
515
584
563
509
815
855
807
916
944
790
609
905
513
529
843
658
931
725
960
622
634
646
825
872
641
961
720
615
698
986
591
555
746
919
631
535
719
553
790
723
731
784
930
710
838
727
925
974
832
687
688
875
765
736
513
588
685
733
690
787
613
513
926
607
934
756
657
736
508
959
550
943
764
948
581
982
617
904
507
868
817
699
685
915
646
773
748
724
691
994
861
697
941
622
912
519
685
818
520
993
681
804
959
726
627
597
817
711
935
918
797
522
935
826
555
685
974
848
506
619
878
684
662
946
699
538
666
671
560
745
957
932
814
988
605
702
919
922
869
898
553
598
936
829
916
825
528
962
693
784
956
910
898
643
933
782
813
562
536
630
696
620
652
849
649
718
631
509
748
625
829
982
925
872
875
596
533
634
864
900
792
563
539
751
830
644
821
726
734
565
853
948
606
673
746
790
663
723
678
712
547
618
540
751
860
752
876
793
896
799
768
674
567
791
833
590
604
713
793
522
816
901
839
943
779
723
959
845
893
880
596
939
837
904
550
542
507
998
1000
709
728
625
797
552
900
577
790
781
698
789
518
629
559
505
977
759
979
552
562
987
916
949
924
581
593
778
922
553
844
519
835
715
669
690
857
653
559
840
701
902
861
626
796
613
732
855
506
570
831
921
708
531
747
642
511
947
580
794
563
911
541
691
712
884
641
664
949
906
906
747
570
544
518
589
761
679
615
567
624
889
845
608
606
770
637
744
958
962
718
547
581
964
721
818
899
845
795
722
603
772
570
618
834
754
701
606
525
1000
1000
754
540
501
637
854
997
802
834
675
565
970
985
519
828
569
627
617
534
573
511
816
939
840
774
592
836
831
788
724
962
799
581
524
545
645
872
608
660
608
908
723
519
749
593
843
800
588
655
839
775
525
812
659
752
677
893
783
889
658
755
680
711
909
709
637
904
720
824
921
572
970
988
756
638
616
629
584
975
819
919
806
845
579
753
671
698
826
583
926
596
684
891
957
822
941
956
708
742
977
768
940
702
631
892
916
676
685
830
789
831
530
883
660
570
924
840
931
744
606
902
704
719
974
572
667
749
645
562
791
681
768
590
528
600
674
517
505
764
599
755
666
743
924
543
574
533
716
929
789
559
990
803
526
967
959
873
633
996
582
718
549
791
830
769
907
577
551
557
754
606
850
1000
556
587
909
573
900
694
654
659
661
984
654
829
909
792
661
628
508
912
727
953
732
541
759
739
565
888
697
946
787
882
849
822
942
981
666
910
694
512
993
729
867
756
916
936
531
818
873
626
730
534
837
778
955
564
680
941
717
544
578
698
582
916
974
609
720
601
921
680
706
867
523
649
622
782
795
952
621
676
895
637
525
659
983
974
802
505
898
732
500
662
898
984
613
823
737
870
730
893
586
846
883
842
970
867
893
866
935
753
611
856
586
608
891
703
672
798
686
955
871
889
517
654
516
937
527
576
949
731
833
589
872
521
864
802
561
735
607
811
926
876
530
700
636
504
538
680
562
738
906
654
832
692
783
961
542
739
793
972
673
673
880
921
782
848
514
953
518
963
790
680
850
852
653
984
847
562
786
906
769
627
840
526
775
651
554
755
537
585
949
761
663
869
745
567
727
700
686
836
831
932
979
664
754
874
873
572
742
577
788
818
790
635
853
566
830
825
594
688
902
698
905
853
903
719
812
806
993
859
582
552
867
583
898
685
832
562
640
605
946
868
936
607
897
691
691
653
741
766
791
623
785
811
534
517
997
630
664
706
581
864
513
632
940
786
884
708
953
537
984
744
953
825
587
879
812
598
642
872
955
696
615
712
693
671
878
723
902
998
825
867
789
702
797
823
607
653
803
504
864
691
622
848
872
812
580
680
951
915
675
739
700
765
979
901
775
876
823
943
711
631
597
844
574
573
727
901
864
523
603
732
681
921
562
953
829
862
756
802
555
524
959
876
727
668
890
574
981
635
997
916
928
877
503
798
949
768
520
562
577
942
532
837
560
971
802
936
761
518
920
517
760
966
747
536
946
540
928
779
577
873
501
570
984
863
759
754
805
739
880
560
734
951
846
920
613
736
640
619
800
896
995
617
900
556
721
948
788
654
980
720
602
797
967
571
806
696
938
806
720
842
950
996
525
917
987
545
511
609
762
657
945
718
562
659
604
664
605
787
648
935
684
557
744
672
664
899
544
744
739
863
974
599
661
638
575
543
970
599
910
607
521
921
958
739
905
979
540
770
896
801
593
570
701
873
505
679
911
665
629
611
908
543
656
761
775
596
751
777
879
513
772
710
823
530
517
697
975
980
971
591
750
704
614
636
514
505
956
666
909
746
674
791
928
921
574
685
917
593
881
674
895
825
726
598
699
686
921
965
706
856
946
921
830
877
964
574
985
903
592
831
781
777
666
973
652
785
783
864
554
956
592
770
569
697
809
949
556
741
647
563
951
564
860
661
511
992
950
685
864
695
674
791
784
939
721
920
928
568
541
816
519
997
946
712
955
621
647
579
677
921
694
755
664
540
763
659
897
959
934
766
950
744
939
769
920
904
800
659
502
977
767
796
675
956
980
976
803
827
778
700
545
827
742
630
824
806
910
764
918
975
716
716
951
679
617
941
688
538
640
568
980
656
629
817
841
975
839
561
615
630
781
584
532
970
680
971
709
857
684
750
677
985
749
763
826
623
784
755
863
571
949
629
829
917
837
720
783
763
721
936
788
889
517
645
758
893
709
808
908
904
538
543
883
576
784
689
927
500
850
936
614
552
805
535
531
957
925
773
827
999
674
571
941
591
806
687
936
921
735
503
644
550
679
843
963
733
581
541
544
702
502
940
918
914
944
634
631
975
767
705
844
979
537
656
763
819
661
717
945
774
510
680
862
937
886
877
772
640
586
856
912
574
702
806
614
982
568
853
816
660
631
909
955
604
789
891
870
991
903
742
942
785
715
937
558
688
912
614
985
547
769
746
637
564
672
716
836
949
934
967
789
911
631
815
748
977
855
877
678
817
592
966
820
947
577
521
935
919
654
540
704
834
734
632
978
835
753
998
698
963
921
613
598
977
633
717
716
872
597
752
538
771
676
942
515
524
773
837
694
516
545
891
769
815
860
633
841
783
820
832
777
718
877
920
711
703
589
767
930
836
632
530
667
679
745
707
501
686
808
802
559
985
646
774
896
762
917
582
527
770
674
833
867
506
777
810
519
621
516
790
921
538
735
973
531
733
675
937
816
803
587
869
679
950
599
883
897
959
623
828
971
571
991
647
854
769
854
950
658
602
822
731
892
819
533
641
620
978
741
647
871
949
961
629
994
862
862
932
551
714
834
823
894
797
933
964
552
727
741
994
788
989
546
893
637
649
834
769
909
983
796
609
595
902
701
672
827
800
878
715
822
898
656
526
590
930
753
630
514
928
536
807
535
917
820
652
805
737
904
698
614
537
823
585
846
504
519
519
850
624
602
744
571
957
675
999
603
904
670
648
963
945
821
817
848
589
870
665
939
692
829
503
897
984
514
800
799
745
568
641
741
834
572
605
839
811
828
977
997
621
853
620
668
767
633
561
720
904
921
673
632
712
599
771
974
649
907
946
882
834
601
557
862
921
524
560
744
650
896
688
616
667
899
771
921
653
965
953
568
942
846
790
669
559
733
649
898
925
543
545
731
548
606
933
998
597
864
640
969
539
630
729
981
689
592
937
884
986
961
750
992
695
665
732
889
538
944
985
668
637
637
839
984
525
954
958
671
926
665
794
556
553
992
854
695
676
936
654
596
538
958
560
758
569
544
823
808
541
846
681
814
791
901
797
610
695
894
570
776
534
795
687
701
859
714
522
764
612
963
721
795
832
500
809
503
734
708
848
696
719
955
548
985
680
509
791
636
639
531
737
925
861
958
635
957
554
663
716
665
605
720
703
525
680
873
859
594
728
819
848
885
631
932
762
624
856
981
858
731
533
578
842
609
627
745
938
965
934
699
668
527
611
860
626
767
912
611
961
800
751
500
753
838
514
574
759
509
962
949
672
695
744
989
918
759
850
828
572
724
633
598
546
583
871
867
811
749
803
541
712
778
657
828
945
632
855
705
908
860
771
836
932
906
506
517
865
640
658
829
502
831
932
637
884
992
777
538
762
860
897
897
846
505
963
697
781
984
985
560
848
894
930
886
740
977
835
500
813
807
614
634
657
874
803
577
740
519
598
687
572
932
687
802
515
646
922
831
751
767
591
553
833
657
689
882
572
869
505
563
674
746
673
995
637
629
981
624
589
953
939
685
959
566
706
731
569
588
810
598
710
581
644
992
842
748
564
755
811
851
815
756
954
808
920
613
537
860
629
758
857
673
600
997
539
863
517
904
954
927
857
976
837
650
783
885
786
827
643
608
834
738
979
804
890
748
721
569
676
610
903
510
865
561
737
889
713
998
789
511
573
944
723
755
754
794
624
759
714
529
814
990
740
716
510
836
628
649
617
723
956
959
958
653
995
825
727
903
681
831
720
872
765
786
648
868
710
511
725
980
916
632
871
882
641
786
968
587
978
975
551
834
517
936
732
620
664
584
972
518
729
794
813
732
577
996
773
925
622
602
869
894
696
712
773
968
681
991
949
627
515
816
842
885
768
695
889
930
676
692
828
748
844
703
797
994
957
606
842
742
834
835
632
870
881
532
933
515
629
556
829
635
939
801
931
902
871
639
934
525
596
978
510
709
577
715
957
994
530
548
510
711
924
812
657
850
573
508
531
604
766
836
902
787
764
783
634
824
720
775
647
774
695
965
546
635
844
514
716
982
939
560
782
942
822
787
520
788
914
561
540
566
706
880
700
518
833
767
931
962
688
625
562
793
849
725
540
923
663
670
726
598
811
577
787
534
876
600
571
602
663
663
997
818
701
686
579
839
618
500
856
546
766
930
522
576
804
747
762
667
987
692
760
786
668
902
698
770
937
589
589
884
740
512
914
743
729
518
996
763
683
920
908
944
756
997
623
674
654
929
758
927
785
791
905
754
506
751
649
695
878
812
624
546
794
517
541
630
538
578
906
546
768
928
802
694
669
637
861
576
718
503
547
507
732
934
863
612
905
627
792
969
762
961
752
717
799
834
863
660
834
757
627
798
576
793
502
596
957
684
670
922
542
919
936
961
757
620
863
731
674
960
950
628
846
540
730
672
503
517
849
934
598
889
718
734
683
614
684
553
568
830
765
567
735
941
990
711
803
841
896
832
514
770
866
999
744
565
619
881
776
799
742
908
720
641
905
526
535
639
766
758
756
732
778
645
886
923
769
891
992
564
843
698
921
689
822
584
576
812
902
545
571
772
668
557
818
632
763
857
943
655
835
568
895
679
635
940
875
963
705
624
752
888
697
560
735
894
847
907
875
830
673
546
827
956
653
579
799
925
687
681
690
709
780
712
925
571
935
920
942
527
724
814
603
502
620
561
564
912
531
646
677
723
887
621
597
846
832
983
808
604
585
612
690
632
812
673
875
658
985
576
916
559
891
664
565
840
909
913
689
621
979
815
945
521
716
619
982
941
922
767
611
818
647
825
717
998
733
546
800
875
820
544
563
983
941
880
544
700
714
705
963
746
993
579
509
885
625
947
764
791
705
506
761
929
678
686
814
957
656
824
517
594
906
939
617
649
916
854
783
838
711
860
847
781
655
869
524
950
801
761
929
545
558
636
552
816
950
524
810
565
579
958
930
956
885
663
943
697
516
995
672
567
987
959
813
995
544
620
657
588
704
827
734
945
898
856
757
925
725
655
705
541
636
749
808
842
570
643
921
662
671
778
896
908
648
703
906
781
772
744
634
562
890
854
975
928
560
548
575
668
541
892
658
678
516
545
588
974
825
877
797
670
600
649
588
693
708
861
892
822
829
644
727
763
587
831
899
695
784
899
643
574
890
584
544
885
941
565
750
537
642
917
861
503
778
553
848
563
795
676
988
553
981
694
517
775
629
659
560
789
842
601
713
717
803
829
699
648
1000
797
616
555
761
581
698
576
587
556
984
573
804
638
973
916
505
938
505
982
807
732
880
801
900
879
640
839
898
830
933
915
939
929
758
953
801
925
789
898
665
638
666
764
905
858
620
694
700
584
908
851
854
529
870
810
606
784
514
662
577
548
727
561
953
965
635
768
764
848
585
983
919
696
598
803
529
791
827
948
926
507
745
571
786
629
941
880
784
853
909
942
931
787
889
980
624
530
657
828
504
612
971
676
565
858
658
771
808
624
893
958
854
948
941
940
989
701
1000
874
574
641
853
645
941
741
839
671
725
689
809
990
857
900
554
792
842
658
692
934
717
663
720
950
861
742
803
881
741
833
812
991
603
889
628
906
694
958
643
728
844
884
715
960
599
642
684
525
693
713
847
865
825
861
532
783
532
641
844
607
593
653
984
539
927
598
985
966
768
697
918
515
593
561
882
524
583
989
521
604
720
888
919
638
531
848
645
973
858
909
737
841
892
638
623
727
901
500
780
594
558
916
776
797
831
888
579
781
859
535
904
806
514
657
974
755
507
725
831
570
539
911
569
592
537
754
661
937
999
550
702
941
883
957
566
507
731
570
977
920
722
609
948
608
875
740
744
727
618
929
508
500
979
971
921
902
519
908
554
630
909
713
689
993
866
761
749
507
855
890
711
884
848
884
805
874
693
892
536
927
856
961
885
800
533
876
809
913
566
970
841
627
621
596
756
617
728
553
651
554
942
726
568
947
817
573
821
820
719
803
733
626
914
829
847
678
960
613
822
981
553
623
695
551
632
633
668
564
804
726
588
632
505
582
723
942
850
930
901
772
578
629
611
683
564
738
775
989
643
550
911
806
632
987
514
610
917
842
984
672
792
579
728
520
800
594
966
950
757
528
676
693
565
882
943
988
837
761
664
827
713
557
732
842
522
889
943
668
681
895
706
629
818
828
936
533
842
738
694
736
666
826
609
621
933
916
531
942
727
566
631
753
512
955
752
927
782
732
648
567
505
941
962
581
870
963
992
683
608
738
728
779
673
500
779
570
971
533
514
680
767
596
978
796
896
986
508
764
767
979
990
618
988
596
611
834
753
896
695
839
510
862
577
779
531
729
765
599
630
910
897
914
589
960
769
614
957
834
765
859
991
794
610
549
504
681
556
755
580
701
655
513
785
684
993
973
553
680
624
532
993
917
983
934
992
580
986
506
689
543
968
510
923
658
523
827
955
971
618
610
567
986
566
600
552
574
802
572
925
505
949
995
932
692
985
823
975
945
500
763
803
788
567
578
501
937
627
847
665
618
523
704
763
527
938
530
715
995
616
957
537
528
644
954
749
544
922
666
746
669
875
609
985
855
984
659
614
938
517
551
532
669
976
918
751
899
703
685
761
509
525
978
696
590
854
797
968
715
645
825
606
556
525
871
929
904
587
502
949
631
553
855
999
870
946
807
535
847
528
967
604
514
693
817
558
955
891
903
835
536
580
967
624
601
959
722
929
857
586
538
737
559
683
682
862
659
826
616
799
801
548
732
577
550
901
846
888
763
653
599
898
716
552
570
941
881
960
604
734
987
910
946
696
586
634
900
856
892
707
526
959
501
634
765
758
511
506
900
933
687
662
936
634
779
851
611
639
624
755
820
798
807
591
703
939
973
670
757
862
911
798
713
826
510
693
563
621
650
980
513
885
692
588
823
664
942
790
508
551
912
601
963
858
933
852
645
925
587
861
949
780
703
937
536
757
728
551
586
653
787
806
558
969
514
576
617
943
516
799
723
580
997
770
532
670
830
888
547
505
607
766
778
531
987
544
685
611
615
914
767
903
650
523
873
904
858
598
621
756
682
652
903
980
510
541
977
660
667
841
678
813
683
549
726
879
542
788
970
926
952
862
637
967
921
965
747
807
835
802
709
856
644
618
711
835
949
568
593
844
762
861
930
700
667
502
691
880
531
967
937
919
521
952
998
512
709
648
676
537
587
867
908
893
565
724
846
809
773
704
889
506
724
503
654
802
651
526
880
867
569
913
683
713
559
969
712
975
868
509
997
514
978
941
682
505
955
611
930
896
743
574
851
623
509
969
643
896
988
956
799
953
878
659
913
680
861
562
743
850
677
916
1000
880
861
502
536
803
880
716
984
540
686
685
522
526
574
780
928
919
996
659
725
956
677
890
845
840
751
659
958
695
700
553
699
735
753
591
504
553
716
857
637
636
673
910
845
832
602
766
611
893
933
895
884
751
560
948
636
583
912
996
894
988
910
902
849
890
923
509
922
619
791
637
697
675
900
968
957
728
874
732
898
762
655
992
820
513
781
505
721
868
975
769
969
634
952
811
706
970
849
611
950
694
987
503
595
826
693
889
893
976
765
668
505
530
835
606
655
537
805
573
502
877
872
713
755
921
983
809
640
663
879
858
980
917
749
529
805
612
695
908
503
763
741
504
790
964
557
528
891
578
905
932
916
632
614
592
896
770
508
558
838
746
629
899
533
756
795
532
967
877
817
899
999
952
813
646
819
816
951
725
900
700
898
674
723
985
823
562
814
969
773
858
835
592
724
526
726
915
847
504
717
881
839
837
758
800
582
965
654
901
609
950
542
960
855
738
953
842
843
548
810
780
888
629
669
653
631
582
747
631
857
867
623
950
834
983
531
597
649
926
999
707
536
676
930
627
907
734
753
698
841
667
829
901
976
569
662
567
725
719
838
985
571
825
820
660
940
500
620
774
624
614
553
692
588
833
859
665
658
638
549
659
590
742
877
702
821
853
814
738
577
757
887
804
624
916
538
558
876
510
654
906
859
773
914
847
530
939
867
776
568
642
723
560
763
644
878
531
685
987
622
813
998
606
872
855
937
785
690
773
782
644
899
953
952
588
682
684
604
673
677
936
964
632
659
801
713
902
736
532
886
528
720
599
811
687
985
782
599
875
561
968
718
597
706
633
877
930
847
986
554
887
825
1000
882
778
553
774
707
848
843
790
603
852
894
580
754
718
630
536
609
904
742
801
558
671
728
571
939
588
725
620
662
801
577
923
682
575
796
702
844
561
725
620
748
991
708
763
605
554
554
534
616
994
981
755
819
716
640
727
691
631
907
945
734
960
984
507
919
933
693
727
641
908
931
552
985
596
703
677
544
591
912
690
872
576
576
731
589
870
525
956
803
729
664
685
660
603
505
626
919
579
963
998
595
908
666
661
781
731
516
968
945
931
831
815
874
787
962
911
801
832
961
866
771
715
711
978
902
975
789
562
846
609
897
874
875
559
592
608
924
636
786
798
638
757
966
905
953
565
511
669
596
689
865
614
818
530
532
709
508
560
970
717
955
802
595
523
791
917
996
660
525
613
840
556
885
770
626
827
929
652
508
695
863
880
815
814
883
560
977
588
982
713
703
966
673
848
859
914
740
768
896
613
942
799
798
987
791
745
534
613
813
613
661
660
745
880
844
552
641
984
989
633
620
657
654
981
751
664
980
757
728
794
915
694
773
774
850
887
692
602
625
937
600
540
546
981
885
802
969
805
870
834
538
618
981
867
700
612
885
896
608
716
895
661
710
552
778
966
962
856
959
539
789
977
772
717
841
912
992
848
673
963
874
635
556
992
679
955
935
721
545
766
593
860
502
563
599
579
775
853
774
787
542
511
658
718
648
827
673
905
945
902
691
620
722
627
941
893
767
963
820
805
638
728
930
858
792
662
841
560
536
763
997
579
685
795
721
539
852
764
868
807
541
945
601
673
786
714
509
863
981
671
873
591
853
697
860
752
790
745
804
977
924
676
637
784
633
670
637
856
839
599
742
653
661
521
689
938
835
607
830
982
628
914
804
685
624
508
841
561
925
599
516
689
743
559
754
530
596
817
875
955
987
661
713
728
672
882
787
624
704
955
759
958
936
542
869
759
522
666
751
605
577
988
557
893
952
838
832
937
759
769
553
669
529
602
816
825
819
764
538
720
783
753
960
678
587
945
705
740
751
800
609
761
614
893
987
696
638
565
659
693
922
856
881
850
972
612
732
951
537
621
791
763
644
726
519
861
880
761
801
939
821
847
547
989
646
711
817
904
672
771
895
874
713
936
547
762
896
516
817
850
623
711
773
503
953
936
810
788
639
600
609
704
624
621
859
908
522
976
893
957
816
800
641
668
574
932
539
624
582
866
809
632
939
617
956
705
823
630
844
827
837
633
654
700
821
793
789
896
771
744
620
948
882
680
532
986
941
599
625
700
568
798
799
757
588
748
862
775
686
635
924
931
574
918
738
656
802
740
781
626
721
820
598
647
548
523
720
593
615
728
851
774
734
591
713
868
857
727
767
546
954
837
551
957
572
899
618
761
916
840
966
764
905
756
617
936
866
818
701
660
625
619
841
945
505
690
860
781
920
541
648
622
700
739
708
746
720
751
950
959
681
848
537
816
944
919
694
611
735
527
520
710
684
725
989
875
949
973
598
973
525
811
830
577
752
679
903
636
635
909
711
604
850
710
755
806
871
875
749
859
841
607
641
781
956
504
632
790
701
519
614
820
969
674
654
773
560
509
503
917
626
676
844
889
664
962
608
970
704
763
977
693
785
806
849
749
635
943
981
815
693
605
571
988
917
615
567
863
543
821
802
628
658
864
945
737
525
703
913
716
867
717
633
611
614
714
571
933
829
934
786
576
614
598
581
633
594
627
636
694
688
997
561
508
847
958
932
953
564
871
789
789
986
742
551
589
819
822
693
964
904
911
541
869
607
502
740
842
602
761
791
531
701
984
592
643
900
586
865
761
568
850
607
885
689
780
590
630
854
986
888
589
733
991
652
786
773
949
526
767
854
505
848
517
520
641
853
913
753
529
820
915
850
643
874
559
591
991
649
646
536
916
584
582
795
635
773
946
635
821
1000
648
695
519
898
907
842
683
645
948
686
841
738
880
990
984
640
597
513
881
904
968
814
692
583
970
864
840
943
641
554
886
819
735
701
524
597
521
678
986
651
627
603
560
543
867
844
556
683
977
713
528
850
881
962
905
957
573
529
667
981
576
933
612
747
893
759
991
794
775
622
784
634
816
903
525
500
661
733
916
519
839
703
575
641
683
668
536
543
581
921
509
723
601
924
611
632
753
887
712
592
896
810
615
969
872
736
541
682
632
904
958
670
952
607
519
884
834
691
712
701
512
925
652
778
998
872
990
782
635
986
869
886
593
842
956
971
943
795
505
854
529
609
639
961
952
596
682
943
887
790
734
653
632
538
822
581
949
721
674
962
561
540
955
844
684
569
534
997
645
529
893
978
770
680
556
613
866
953
767
701
656
799
525
696
503
654
767
811
651
541
917
781
592
527
588
553
963
671
622
575
958
703
609
733
601
904
639
503
884
710
971
529
626
573
936
569
836
784
851
734
861
843
945
549
709
701
863
568
963
832
518
994
678
711
840
552
867
811
537
988
969
986
586
511
792
763
521
554
917
543
500
905
835
780
867
866
667
565
652
516
672
681
873
605
914
710
671
969
632
519
554
968
656
730
513
990
781
940
847
632
522
687
790
554
697
593
514
502
709
909
875
709
687
729
502
677
982
869
676
592
660
843
729
795
886
576
978
519
937
602
822
984
828
789
812
522
899
561
880
581
672
826
542
600
547
948
948
823
510
580
916
882
762
732
655
750
900
574
920
620
801
564
936
871
562
535
707
790
581
591
842
765
975
904
834
649
752
881
566
977
635
830
773
637
549
896
853
889
925
709
665
804
836
781
881
530
862
608
665
606
969
642
734
506
855
830
785
538
826
508
858
547
845
610
726
618
744
546
838
744
717
849
828
680
919
567
720
873
583
944
967
934
716
945
755
709
994
779
893
628
971
833
751
785
513
579
980
901
902
995
974
762
612
925
624
723
603
649
650
604
980
979
917
758
601
806
668
795
960
545
756
954
959
778
862
546
769
852
661
811
908
516
567
655
755
727
960
663
931
663
981
929
924
796
809
779
829
512
933
806
798
870
801
672
734
915
913
563
559
629
990
598
908
756
507
500
682
898
648
862
952
862
581
575
671
907
716
725
866
863
893
652
982
975
542
975
857
626
899
542
581
759
859
771
811
954
961
733
629
977
643
599
576
807
671
944
987
943
990
630
969
910
852
903
568
951
848
693
508
747
537
868
608
770
848
902
608
632
675
988
740
914
698
700
640
542
550
968
736
684
745
955
505
1000
556
669
546
963
704
992
998
704
713
839
776
828
601
628
907
767
846
917
729
715
572
926
920
841
801
880
743
801
572
618
897
511
805
729
682
900
802
724
629
792
872
601
840
625
903
751
902
705
729
545
553
522
696
710
720
648
951
899
654
830
739
635
709
567
681
850
504
687
869
684
784
901
885
711
890
778
664
694
808
928
876
573
812
679
758
864
609
971
705
696
938
880
808
515
546
909
844
937
524
625
742
812
669
541
812
830
801
988
612
937
507
843
694
931
836
918
784
622
959
704
569
689
955
670
840
674
503
983
742
875
839
788
515
570
923
976
509
548
983
543
679
583
969
919
720
991
858
603
929
795
602
634
934
634
683
776
741
530
898
662
519
675
560
893
666
633
540
515
669
541
972
752
665
897
589
836
839
910
997
702
954
953
876
672
505
551
556
805
706
604
605
568
741
746
588
766
743
536
692
790
1000
971
590
511
746
821
904
575
981
995
948
931
920
638
652
657
662
600
974
743
789
779
981
693
619
602
637
598
525
706
594
592
865
990
721
516
589
634
969
558
925
985
641
895
636
627
753
851
854
543
849
515
903
767
747
979
835
639
761
921
974
637
748
834
899
835
674
573
758
801
948
505
760
925
832
621
789
956
998
719
878
602
642
521
684
930
841
982
851
640
711
624
504
636
660
725
695
706
906
919
782
929
567
887
579
948
589
999
539
912
689
609
757
615
576
717
736
884
607
793
697
640
564
539
632
647
908
577
862
620
913
560
581
680
504
611
600
983
573
947
792
647
939
958
986
548
628
795
894
591
571
626
898
606
703
745
863
522
807
504
544
514
844
556
730
990
592
879
698
530
537
556
755
966
616
997
627
702
936
983
562
656
526
573
576
638
847
680
695
595
553
704
823
506
856
501
500
543
722
584
884
953
593
791
668
901
621
897
657
877
620
556
879
824
899
909
783
872
561
885
822
994
511
755
531
838
774
888
957
804
920
685
517
519
548
579
983
947
949
654
505
697
691
921
693
730
725
876
968
687
888
834
818
503
803
903
596
933
976
965
707
900
991
956
944
821
545
869
516
768
704
670
847
961
946
574
650
963
614
853
505
560
794
875
583
967
854
500
948
542
695
726
592
907
620
662
913
663
538
798
606
763
822
996
946
544
928
863
742
949
878
559
657
554
606
553
978
992
710
723
926
662
809
619
666
894
635
734
502
958
960
927
630
712
540
865
842
797
580
524
910
715
852
896
522
682
560
762
593
708
927
761
706
825
704
998
682
970
821
901
617
907
773
760
859
847
884
602
981
977
533
997
603
779
692
729
786
703
743
860
751
560
724
761
819
935
770
905
798
737
1000
994
743
770
828
821
712
564
554
671
774
672
553
921
531
822
709
580
814
799
940
855
988
598
502
691
782
723
840
844
629
508
904
990
694
964
551
929
905
743
701
701
660
600
512
557
802
502
976
768
580
867
645
715
696
802
783
768
833
698
786
767
758
883
753
893
593
687
841
507
764
991
597
629
675
729
811
735
773
672
637
767
508
975
580
747
726
962
617
681
552
694
923
635
727
738
985
570
729
631
703
729
958
549
750
504
680
877
516
737
848
713
621
803
860
590
692
848
728
843
634
929
870
747
637
934
766
826
549
725
858
963
895
860
914
826
864
984
912
828
562
663
585
949
958
635
875
869
629
659
785
589
956
616
716
513
694
722
745
576
794
672
872
954
870
653
552
838
688
615
982
812
550
842
543
738
767
511
870
785
842
747
677
945
967
897
591
885
550
989
805
774
624
948
742
627
940
749
519
989
815
871
544
963
829
681
502
925
553
609
597
740
868
875
645
705
612
700
736
802
668
508
614
985
865
595
534
937
827
618
979
608
547
517
673
738
746
924
594
581
863
981
975
904
505
808
679
925
926
583
799
801
549
934
668
938
824
792
593
951
658
524
818
992
790
685
768
706
649
984
943
669
900
674
985
972
845
905
922
932
880
734
773
827
944
757
697
616
995
730
577
918
680
506
680
526
905
976
665
814
966
555
980
728
545
640
885
698
617
666
754
672
893
910
895
804
860
628
697
573
547
653
534
598
530
538
726
985
597
603
715
588
548
741
811
629
512
654
661
919
991
654
518
854
796
568
933
995
550
891
670
557
994
988
606
770
624
919
696
660
721
816
853
807
508
554
594
970
977
964
906
518
866
805
695
886
623
721
902
677
923
979
939
877
511
815
660
695
512
526
717
505
579
856
819
711
531
561
666
995
925
861
580
693
597
561
968
506
624
584
533
651
655
914
899
980
677
687
911
769
569
523
898
536
756
582
626
688
794
900
707
889
698
509
863
840
776
949
568
962
755
592
689
630
508
779
613
578
507
794
706
866
771
788
689
817
807
973
582
846
777
677
759
563
854
640
747
647
650
571
949
530
576
540
841
694
752
860
962
706
726
820
928
788
581
762
768
561
790
703
972
698
886
840
556
888
937
974
708
781
629
697
976
896
620
638
718
648
690
984
735
926
733
560
522
811
988
552
962
944
549
757
594
860
674
869
884
500
625
971
692
926
863
954
756
525
812
682
807
966
879
979
870
503
613
787
985
748
778
993
835
554
820
557
923
625
941
899
903
889
633
517
786
875
528
646
977
944
551
865
658
554
995
755
905
781
983
916
666
813
616
738
794
902
730
785
729
811
724
723
999
675
577
968
913
806
873
853
772
585
817
607
774
701
937
583
859
649
883
550
798
662
711
977
634
994
701
887
811
805
875
716
659
857
708
958
731
525
804
707
844
592
777
528
765
706
734
765
881
899
655
684
516
771
877
510
859
583
518
719
846
725
595
632
607
814
865
623
683
655
816
808
778
576
996
900
763
726
811
528
630
695
814
538
651
693
665
786
757
563
551
876
661
756
798
993
509
543
574
714
660
789
758
857
825
886
988
915
724
655
863
659
582
691
934
608
527
780
849
749
931
748
626
906
777
673
751
501
817
513
715
973
914
554
854
754
977
600
592
595
779
997
655
545
938
999
900
507
671
963
546
680
684
759
656
607
525
833
975
863
687
742
909
655
635
844
832
774
532
944
520
669
512
562
800
977
760
761
839
533
727
572
905
749
614
720
912
772
639
533
562
632
943
789
529
988
1000
557
638
649
707
510
943
807
807
943
608
501
745
508
628
618
746
807
730
720
981
822
502
727
830
911
742
615
991
762
665
807
815
727
782
783
982
745
863
670
977
597
860
565
717
749
551
779
627
970
781
737
600
885
598
846
866
719
665
513
884
840
758
984
951
955
832
935
787
674
645
606
987
919
526
741
881
578
940
862
589
821
647
722
534
858
889
671
806
518
618
630
917
998
855
506
547
648
623
927
845
952
787
881
711
613
733
692
599
834
892
879
828
975
538
542
880
519
705
986
699
592
968
991
671
866
761
802
704
804
533
878
943
931
613
551
662
630
886
813
939
785
637
700
867
857
653
667
714
582
582
700
670
832
659
902
695
737
746
880
528
678
844
547
843
668
953
994
623
808
535
587
765
989
515
645
848
734
706
712
707
704
777
975
893
919
654
961
654
770
593
949
973
815
750
611
748
810
774
968
790
761
915
815
827
589
983
616
508
960
579
846
514
861
842
640
914
668
993
876
768
710
569
573
633
943
981
749
527
684
778
603
547
714
570
642
934
802
862
887
766
996
634
929
601
838
908
605
641
610
634
773
562
903
971
853
896
973
635
828
592
669
733
988
879
604
636
581
897
816
559
744
638
740
925
774
534
795
842
858
798
631
531
509
711
792
570
900
695
541
889
729
784
879
560
927
653
891
618
552
926
582
685
648
983
902
561
991
823
673
873
811
731
678
790
912
578
837
963
885
603
510
785
954
801
516
608
847
903
851
552
653
989
1000
578
892
518
728
908
605
952
998
692
751
723
818
508
714
561
697
807
604
641
654
802
848
692
674
962
609
692
877
630
822
884
504
575
950
625
729
558
851
546
786
825
674
768
853
692
624
916
619
762
611
829
784
846
603
599
928
682
875
769
883
872
852
608
837
762
849
841
642
772
899
816
786
935
617
610
684
770
723
689
840
658
505
935
523
965
820
672
605
770
538
750
670
680
826
812
780
976
836
988
590
758
991
693
538
649
745
828
974
590
616
846
703
969
915
985
985
860
879
605
834
647
881
525
512
962
1000
508
826
502
934
508
536
731
807
887
615
902
932
686
908
743
628
601
500
708
576
787
573
806
905
566
565
897
527
631
903
967
979
676
587
721
757
711
797
806
536
794
889
834
747
908
739
858
708
999
762
592
715
796
993
807
985
980
797
840
610
669
798
974
580
767
732
810
687
623
902
1000
504
783
768
886
746
921
933
991
676
843
835
865
896
868
559
842
754
659
664
730
793
674
838
734
985
794
997
715
518
538
708
935
718
981
867
688
751
888
745
995
997
577
946
610
625
949
759
624
587
722
679
949
534
502
858
534
646
924
910
618
809
528
603
929
588
573
683
896
980
551
564
801
946
833
615
926
772
836
836
525
902
741
511
538
800
963
983
882
916
625
615
642
558
991
817
966
569
852
824
661
836
906
533
813
755
834
752
893
512
749
921
647
797
879
687
768
970
769
645
535
731
722
572
655
595
782
619
819
780
556
765
827
739
740
589
528
856
959
581
892
736
764
612
696
612
668
878
811
704
536
946
794
646
937
713
969
549
696
701
627
760
755
866
812
692
817
870
513
609
967
505
824
567
999
665
714
903
745
986
674
513
877
968
641
988
695
910
804
716
557
596
879
736
756
847
572
979
624
784
963
645
870
714
717
998
606
754
935
608
723
680
767
734
846
780
933
568
846
731
948
669
828
958
664
790
626
780
513
652
908
556
806
997
610
665
560
591
906
909
679
852
872
634
535
905
739
802
877
894
944
653
707
887
937
602
637
640
589
576
802
925
770
729
505
552
561
762
725
745
756
844
665
646
828
878
914
692
763
857
925
941
986
577
536
579
520
992
641
989
965
724
742
556
863
724
661
713
653
803
882
735
709
573
554
765
567
723
795
819
588
808
760
928
820
714
529
703
600
924
726
963
632
626
876
578
850
586
806
690
821
741
887
851
915
681
701
566
646
830
874
955
594
869
951
542
809
693
679
596
886
893
904
753
772
598
979
799
732
571
849
944
624
996
532
616
850
501
765
908
512
755
616
529
579
869
935
650
783
870
724
894
880
884
883
616
636
756
924
728
670
853
896
679
533
593
709
883
911
674
729
562
767
784
978
610
979
986
599
697
959
804
510
823
500
635
707
899
770
501
665
923
700
959
842
916
822
810
950
812
781
675
677
750
670
954
894
708
720
907
969
964
619
851
737
681
607
905
882
794
647
627
719
966
677
777
547
502
646
808
886
539
597
959
941
710
771
725
759
699
625
619
694
799
821
932
981
551
617
647
696
700
696
588
875
717
567
658
783
956
827
576
794
659
786
600
698
709
803
795
719
848
828
938
912
974
521
881
690
932
980
684
777
679
594
796
714
802
579
908
510
795
792
890
510
881
681
568
886
501
691
610
748
627
589
577
660
804
735
537
822
735
670
839
522
601
965
572
706
801
605
914
564
775
738
951
788
726
898
981
734
744
847
882
637
971
815
549
818
668
923
622
685
873
859
876
805
726
702
857
725
671
686
692
855
737
727
722
578
984
576
957
873
655
688
925
975
735
989
996
820
905
728
924
513
621
501
679
689
609
902
750
598
694
994
742
669
830
664
715
791
997
724
843
846
827
855
534
797
515
560
689
626
557
568
676
745
984
1000
521
788
594
707
553
770
716
538
753
537
502
563
545
555
931
712
710
990
695
756
736
682
539
648
734
585
882
976
679
997
613
763
726
957
979
995
576
607
523
584
704
761
738
881
538
616
507
997
548
758
593
968
793
777
928
551
802
983
642
991
888
946
893
776
863
913
670
672
720
591
988
747
523
753
792
944
570
858
712
987
715
717
889
928
511
515
502
705
525
796
587
556
565
643
548
696
560
850
614
873
747
659
692
995
648
628
939
640
770
732
784
764
558
696
707
839
919
972
545
671
513
657
752
700
787
867
592
812
720
636
874
850
785
566
730
842
631
756
969
619
589
888
846
988
551
843
681
627
803
559
897
530
626
720
776
569
661
747
524
682
552
606
740
716
826
830
823
604
867
606
665
785
748
508
985
946
518
895
596
974
788
680
969
828
932
727
849
696
535
859
741
889
657
702
827
673
521
891
879
582
980
559
997
809
551
994
851
741
631
514
727
657
631
735
727
885
824
761
657
555
838
528
547
524
875
944
601
902
741
572
763
949
512
826
756
643
869
870
789
636
773
807
597
809
768
878
944
578
559
941
701
651
569
602
721
989
807
877
860
647
603
755
519
926
1000
974
546
518
823
641
579
953
979
646
807
735
749
661
934
991
730
550
646
530
610
532
572
685
522
803
725
702
623
561
759
984
748
539
617
600
721
865
641
580
838
636
602
578
880
964
907
901
598
551
782
681
781
794
697
627
947
898
868
798
878
572
660
746
533
947
948
998
904
980
730
863
972
865
714
644
957
664
979
749
809
733
630
866
584
691
711
520
925
907
621
807
772
868
581
813
878
687
940
634
628
649
567
861
876
956
696
501
642
784
547
723
748
939
591
510
873
997
580
572
526
947
853
668
779
781
742
500
966
943
612
896
898
730
690
642
962
576
635
764
793
772
614
908
896
863
591
891
643
725
636
610
954
994
593
608
602
833
766
965
842
533
748
831
711
819
651
946
751
552
659
900
886
699
942
761
833
617
549
822
628
930
686
520
668
729
880
571
899
718
909
553
992
990
669
634
576
533
500
811
918
930
715
769
684
710
700
577
781
826
575
724
806
501
831
580
627
622
728
513
919
504
939
534
611
694
980
778
522
601
964
621
534
603
774
618
780
733
626
880
829
729
661
808
980
883
639
881
800
505
695
543
907
742
906
884
598
921
916
688
809
679
663
617
902
920
699
652
949
523
638
985
736
983
776
884
665
764
715
619
807
683
550
577
983
654
980
893
733
636
673
899
610
845
659
625
819
650
824
531
524
691
755
508
784
803
772
753
941
500
997
982
532
734
760
794
675
727
661
714
692
790
961
762
648
999
1000
644
716
571
910
594
834
698
872
599
774
541
970
887
571
685
531
871
627
891
888
876
589
839
534
572
918
847
878
501
721
710
694
593
792
514
928
506
796
969
799
606
973
623
553
613
785
948
527
974
841
741
757
991
850
589
788
921
554
827
830
881
676
835
839
928
528
720
614
584
502
515
909
513
710
934
781
917
528
803
778
588
523
788
890
829
552
994
824
547
866
602
611
750
946
990
725
817
930
959
598
703
764
905
539
667
760
590
887
944
522
978
759
510
855
957
609
729
572
693
503
762
504
566
509
887
988
709
905
867
801
854
772
513
918
851
851
797
993
538
690
787
841
629
726
940
849
599
788
583
759
685
605
621
924
923
964
699
676
728
777
611
655
651
952
558
864
673
701
710
904
849
821
989
697
546
928
684
530
804
902
601
945
898
767
605
521
629
772
726
858
799
955
672
970
568
543
737
822
866
752
990
905
749
798
922
828
873
619
593
648
889
534
565
922
680
838
549
775
826
774
558
675
553
640
974
518
916
768
891
547
854
999
735
764
802
672
581
606
677
704
514
535
644
683
798
541
750
860
506
632
854
823
633
876
730
580
591
645
506
562
817
781
761
815
855
931
820
683
598
701
705
675
805
560
892
633
884
964
821
865
746
847
987
546
507
884
976
831
601
832
970
883
769
744
774
989
894
901
821
782
630
724
978
986
550
509
766
527
825
753
668
981
946
754
671
786
828
893
795
652
750
697
862
691
874
985
981
755
872
958
707
926
956
676
856
500
902
613
568
686
879
740
777
762
926
671
582
695
776
914
617
921
539
599
600
839
718
601
912
699
825
586
528
500
904
657
924
673
809
873
944
829
979
872
730
989
863
817
898
829
569
620
745
964
936
707
637
659
686
790
718
532
682
923
999
854
638
820
731
541
910
724
795
738
784
548
841
546
628
708
660
771
551
870
681
774
533
922
686
511
593
830
655
556
820
684
671
593
863
641
691
802
621
553
720
546
916
925
661
687
570
982
899
517
821
643
884
922
544
861
558
763
650
983
560
957
595
783
632
835
607
697
547
852
645
522
870
648
521
746
527
590
551
532
883
884
508
856
937
942
646
693
635
822
835
507
511
625
749
500
971
711
868
944
823
893
748
862
642
576
698
758
998
886
803
825
876
647
981
668
703
953
798
707
843
869
705
839
884
892
749
571
857
893
566
756
613
706
623
909
687
885
824
748
947
830
580
943
541
800
952
620
900
553
534
730
702
892
690
588
637
913
925
528
964
957
885
820
560
693
948
750
813
906
516
551
564
634
882
605
801
956
634
947
688
671
511
678
655
638
793
924
843
632
887
937
554
925
900
670
747
563
782
939
521
566
878
781
817
550
834
512
537
722
709
930
650
584
905
979
551
666
965
959
955
619
963
835
595
838
995
565
585
601
882
826
829
822
632
582
845
655
672
954
935
693
535
944
720
758
804
835
626
925
994
884
569
570
899
671
785
729
780
956
846
929
730
872
720
901
841
993
542
688
820
577
568
818
592
756
970
819
539
801
693
705
676
883
772
504
787
727
643
703
606
856
593
758
840
591
910
785
853
536
968
948
687
967
746
682
780
647
879
939
805
532
950
623
549
633
992
956
626
511
505
820
762
680
701
822
1000
740
945
918
784
697
785
671
572
581
601
721
685
664
814
941
652
576
712
624
651
729
851
505
860
640
731
619
615
675
877
1000
817
915
661
637
846
511
642
938
598
588
749
774
845
855
836
805
671
840
840
728
931
605
723
860
542
694
792
792
877
932
994
646
742
503
892
751
953
921
715
819
709
525
679
514
540
541
647
883
777
767
554
769
828
872
802
847
707
578
673
581
742
987
741
565
587
865
937
687
737
947
521
734
735
734
985
582
763
771
702
878
779
616
524
925
844
569
841
846
764
728
784
686
931
562
913
878
921
769
788
947
730
720
880
868
999
857
503
670
895
725
535
524
630
557
635
634
730
982
915
908
766
550
722
677
739
686
969
602
839
865
987
968
725
952
976
697
547
920
613
528
934
759
839
817
896
605
861
882
656
573
739
661
760
874
744
726
967
594
526
981
583
676
547
566
598
640
511
696
720
983
590
935
921
877
507
767
658
772
921
508
883
844
987
937
783
653
670
640
506
685
870
838
997
694
841
594
623
976
501
962
789
854
539
756
721
799
755
546
822
884
516
916
669
650
609
503
875
830
960
948
778
638
871
528
601
525
879
575
852
605
845
670
948
518
832
871
630
713
649
827
641
687
622
670
627
957
945
990
636
880
991
918
699
891
640
506
810
532
742
927
560
832
618
701
563
854
880
681
523
689
919
732
718
938
690
925
537
851
634
936
925
579
729
812
776
971
750
681
869
524
859
550
670
870
560
983
532
593
591
849
515
633
902
500
871
658
674
699
539
688
997
677
685
809
676
732
884
833
730
632
563
803
991
742
767
748
613
674
987
923
574
509
767
718
647
879
622
985
623
672
796
604
906
504
603
646
808
735
874
648
985
820
755
864
539
779
991
677
573
528
843
679
825
638
584
847
555
743
901
587
672
871
854
968
583
860
871
518
815
819
604
582
981
923
507
849
582
960
897
800
940
537
994
700
870
516
538
962
989
794
927
951
763
714
516
732
803
728
577
674
555
918
592
951
818
710
867
751
803
742
953
873
843
896
605
559
936
846
927
913
676
929
703
860
895
977
873
666
959
804
586
838
705
754
893
938
544
941
882
565
936
915
517
643
821
636
705
646
583
853
857
866
647
973
618
578
564
979
654
927
783
661
775
874
902
992
826
694
737
651
829
614
729
536
564
877
618
956
900
959
628
645
727
528
557
890
815
705
824
911
721
506
551
520
801
833
966
914
550
590
557
954
579
874
943
701
770
835
674
799
784
970
574
538
741
528
629
748
551
680
666
710
684
880
801
936
535
706
800
764
785
530
767
664
855
543
958
972
933
568
849
825
640
962
510
554
703
923
863
741
547
849
980
893
992
811
745
530
774
614
677
705
858
761
910
971
951
581
570
692
633
582
578
783
519
729
909
582
755
923
793
509
783
874
901
682
547
985
623
528
990
753
538
597
867
523
982
648
641
960
725
526
721
904
963
826
528
942
832
991
762
973
882
842
798
508
524
981
847
543
657
921
905
977
602
868
705
853
589
524
739
910
517
729
916
828
930
700
973
760
956
942
653
571
652
832
714
748
949
850
991
696
873
554
834
936
588
788
875
850
677
824
953
680
981
728
916
504
601
515
879
712
849
847
893
612
627
944
659
997
947
770
618
869
946
891
516
813
729
648
749
678
838
673
803
913
943
845
928
984
602
753
730
711
738
862
726
694
653
882
939
771
662
938
674
552
755
583
746
596
506
762
740
916
863
811
1000
994
618
925
998
828
541
680
967
945
642
943
664
655
817
617
999
602
827
950
937
840
775
823
818
621
625
534
713
843
980
896
868
991
775
651
782
774
727
958
887
771
505
656
673
544
818
825
780
675
550
695
766
920
843
645
732
554
931
735
593
890
519
636
800
915
623
764
522
550
983
819
544
863
654
920
997
665
817
633
837
577
906
833
973
575
558
929
909
515
888
702
737
814
509
973
979
926
549
763
808
530
817
799
518
663
596
982
927
1000
725
775
525
943
558
994
570
583
677
831
944
555
605
877
870
904
991
859
629
988
811
762
873
511
978
925
625
812
924
662
868
639
826
938
698
808
595
953
501
753
904
980
643
987
565
973
504
816
723
713
981
620
696
592
575
606
846
942
918
882
608
822
704
795
540
722
873
626
599
545
536
538
770
653
741
706
760
740
588
981
606
719
878
565
901
935
583
912
925
686
682
564
834
989
862
851
771
977
1000
886
622
716
947
618
877
714
787
886
921
752
605
687
792
798
747
758
648
722
809
606
694
774
580
998
891
736
958
540
723
849
693
599
712
539
722
699
985
890
988
882
635
891
875
954
718
829
968
873
863
671
923
888
528
538
559
556
737
983
522
630
790
947
512
553
842
632
848
733
887
704
591
924
974
976
777
573
610
725
673
741
838
935
942
802
827
933
851
848
951
847
952
612
710
542
699
872
607
543
599
568
787
837
582
542
561
849
606
611
877
565
726
730
971
930
768
544
629
566
756
551
810
766
946
652
902
661
646
777
644
619
880
685
804
821
883
874
532
630
998
697
701
513
640
757
550
654
767
693
594
961
513
799
794
635
573
830
987
569
713
614
616
692
921
908
668
957
929
864
948
954
638
604
628
777
792
947
787
605
950
983
698
928
702
733
993
885
554
504
656
512
657
632
720
802
648
923
595
571
868
979
967
638
510
556
974
529
984
804
658
847
760
535
680
932
966
730
606
795
676
579
676
885
933
761
851
851
748
849
726
736
990
604
515
657
884
609
598
647
695
527
577
785
533
797
856
824
614
946
874
598
523
885
856
795
598
941
505
836
988
924
561
916
843
632
601
552
769
510
909
762
936
776
567
942
703
951
783
818
683
612
915
959
524
998
649
870
801
678
535
736
680
642
956
853
516
615
569
538
957
815
688
873
700
692
824
810
607
595
873
575
602
854
793
739
629
733
542
954
891
800
680
600
615
661
554
691
744
547
993
681
961
890
882
845
711
947
719
526
929
877
695
833
682
572
927
762
729
919
939
760
839
577
942
938
799
753
776
799
618
948
631
752
632
925
627
572
644
826
503
782
912
576
988
882
743
995
757
513
846
557
768
714
836
631
699
569
822
738
750
559
752
656
941
982
882
661
515
628
897
803
988
988
612
595
861
561
843
620
911
845
595
975
702
983
775
966
555
925
762
772
884
931
952
913
813
533
588
823
761
753
572
516
900
942
786
861
616
600
503
649
655
645
632
538
956
503
890
696
595
844
521
551
818
951
789
940
821
829
856
832
996
719
891
531
574
635
983
685
592
729
730
759
975
768
693
570
990
731
659
741
679
589
786
907
554
601
678
983
813
747
978
905
738
893
598
812
865
965
592
848
634
643
766
502
521
606
638
783
789
617
875
620
711
634
739
940
709
554
607
848
521
555
968
863
763
701
755
653
993
963
972
597
772
750
958
945
519
803
928
549
945
649
655
887
815
863
935
545
658
951
926
718
964
888
768
852
542
893
660
684
675
626
970
544
962
527
702
842
766
531
733
945
771
648
843
730
910
576
741
649
541
748
630
878
748
688
509
649
778
543
856
672
763
708
513
569
892
927
857
981
728
558
750
984
756
899
676
948
584
868
567
769
847
950
801
641
607
969
788
711
935
746
780
973
885
754
939
852
717
728
917
949
528
542
879
905
592
576
789
811
775
882
881
914
509
750
526
980
822
848
758
574
882
510
571
747
827
805
737
882
902
691
951
901
609
674
924
572
731
573
531
626
923
652
755
911
654
638
650
945
618
573
665
621
774
501
704
628
955
936
831
635
576
712
724
929
640
530
985
927
986
782
626
669
914
666
679
502
558
527
863
639
629
875
941
971
950
847
593
886
935
879
780
926
858
640
708
903
744
657
872
517
861
818
709
653
549
670
641
799
765
547
905
850
906
514
648
664
974
816
798
541
585
539
551
736
802
592
861
834
614
746
759
788
854
896
576
593
589
628
985
914
912
697
637
540
712
831
703
607
681
890
611
601
973
515
824
709
700
546
985
871
859
652
548
991
737
756
529
602
906
993
744
668
934
528
956
789
556
777
683
573
624
676
807
721
586
974
716
773
636
610
908
582
788
949
555
567
548
721
567
778
813
604
578
592
878
745
745
999
983
615
760
939
746
514
724
713
633
519
546
602
947
991
501
856
711
731
833
994
855
623
627
834
675
666
903
524
669
964
815
614
971
996
534
655
877
817
516
529
589
706
759
885
639
815
609
820
705
892
754
602
764
978
543
999
868
756
875
537
916
863
632
566
772
520
818
950
914
593
835
784
721
793
917
765
741
999
596
845
826
752
840
608
745
504
791
681
500
841
714
871
575
962
578
505
878
671
916
918
835
945
578
724
739
657
586
605
893
845
810
983
852
702
521
627
932
837
515
938
624
939
738
951
725
632
946
764
778
636
819
724
508
785
936
920
774
806
791
533
660
804
970
610
536
989
722
999
773
897
797
630
718
573
871
504
726
535
922
758
984
769
758
507
762
513
903
999
606
819
782
581
621
528
624
970
947
759
553
505
772
864
790
758
825
740
894
731
687
531
516
754
506
547
815
610
744
578
520
739
601
687
818
559
709
861
837
796
896
863
581
504
540
516
968
580
764
787
996
648
738
894
818
681
867
970
685
578
799
980
983
523
935
992
633
887
569
664
509
794
630
898
510
516
583
810
724
813
717
938
511
510
875
723
829
699
567
575
681
610
839
938
858
904
976
871
725
816
964
888
732
778
668
826
664
505
536
525
871
775
586
656
678
586
604
762
798
528
768
915
691
831
644
961
732
515
898
904
790
818
927
900
690
874
854
580
815
664
551
871
831
791
814
952
988
768
908
503
543
959
844
978
802
906
781
629
925
776
677
904
719
589
684
688
934
707
545
973
695
943
830
901
526
709
588
821
808
826
570
919
866
763
633
863
692
757
621
921
811
948
564
851
878
927
912
615
893
695
806
809
807
753
817
639
684
906
672
646
868
729
897
780
896
727
774
799
799
910
867
707
698
874
891
720
996
872
597
887
959
776
684
591
564
718
571
638
507
966
903
501
894
630
745
672
522
809
897
867
527
699
859
735
551
950
840
934
806
815
989
788
517
764
649
698
511
831
842
596
986
729
800
841
702
571
941
668
525
985
737
841
776
714
535
923
550
759
736
788
560
846
863
834
551
994
596
650
589
921
551
620
947
735
856
687
792
922
735
566
970
523
949
592
513
843
706
980
566
712
959
669
595
630
946
933
752
547
987
812
543
807
561
941
891
764
536
502
554
785
501
907
826
847
838
759
545
727
775
861
816
972
946
712
793
863
764
968
643
532
715
654
690
852
731
616
684
913
936
729
615
802
616
940
602
758
983
640
578
683
586
746
995
680
819
596
563
921
896
797
927
518
864
705
760
719
589
785
660
626
622
768
764
616
832
538
854
599
914
854
845
937
687
904
636
659
656
890
511
566
517
515
820
715
505
575
727
849
740
545
724
801
784
946
744
608
689
655
515
744
617
593
993
545
899
657
683
944
971
653
892
908
972
702
777
938
695
810
968
764
861
837
988
729
575
522
631
803
727
670
751
985
770
546
868
702
549
798
883
549
833
655
965
698
931
659
837
569
540
549
800
536
807
601
667
505
894
795
932
837
982
537
874
712
629
721
727
567
913
910
774
651
631
575
927
505
693
557
897
516
557
716
700
858
826
730
597
681
952
672
903
785
915
871
634
941
962
672
817
780
775
974
659
816
998
526
512
562
844
967
587
575
735
781
662
918
795
680
650
598
883
921
946
656
659
674
500
601
517
582
546
695
724
780
818
679
886
699
574
581
954
885
810
514
592
744
943
624
923
838
612
706
604
914
749
635
670
680
919
726
614
950
925
854
663
541
519
958
984
724
623
797
760
735
964
885
727
591
785
852
585
781
946
513
631
626
696
971
845
762
806
946
645
870
949
711
731
965
614
812
886
918
713
819
517
674
791
635
829
625
502
753
988
802
663
596
896
833
774
745
931
994
628
581
823
939
634
612
827
792
913
840
678
804
603
538
619
994
583
795
944
829
956
647
600
694
789
510
674
865
786
845
677
828
501
837
945
789
822
751
533
873
747
890
633
985
607
965
515
806
520
843
552
750
941
738
872
960
658
970
834
893
643
654
813
616
782
973
560
894
988
681
955
661
946
964
891
755
581
866
729
844
511
612
754
525
931
605
691
578
802
792
985
764
525
712
770
557
881
988
996
781
997
872
536
883
835
921
948
962
795
833
598
743
624
548
836
943
537
735
815
892
527
964
500
975
945
595
572
650
790
641
616
640
825
901
512
741
588
502
756
821
702
827
513
704
579
654
790
756
515
985
975
796
708
707
803
599
786
813
715
838
749
531
696
906
802
824
820
622
781
857
672
972
869
938
760
670
561
980
745
671
545
963
659
908
693
566
827
656
829
700
651
647
712
601
822
637
759
535
748
636
701
852
814
711
899
796
513
615
970
594
607
858
802
824
528
927
594
863
633
570
573
674
534
939
627
516
659
524
536
624
686
539
553
676
627
958
880
982
684
887
507
965
926
842
664
869
874
550
749
571
656
849
967
935
817
523
924
526
958
756
649
619
650
927
693
912
745
718
560
691
810
510
755
662
871
813
996
813
727
703
601
635
665
774
812
571
634
764
762
535
645
690
776
542
594
685
500
864
888
759
636
803
904
508
857
975
882
711
737
905
611
521
740
827
746
628
613
531
870
967
970
593
613
680
780
779
674
507
789
617
956
992
824
825
553
812
523
534
977
980
795
983
958
783
909
885
1000
885
881
931
793
965
694
677
803
800
781
680
671
980
712
947
964
638
642
852
580
914
731
590
607
585
752
502
881
578
646
669
931
814
780
787
990
899
872
557
567
994
954
644
995
677
946
747
729
685
981
917
627
672
991
760
830
679
907
766
746
700
523
651
936
805
963
654
716
524
761
848
550
586
982
525
843
508
842
562
601
759
618
576
918
574
877
891
982
514
575
686
505
674
568
919
620
501
962
920
886
553
507
533
815
668
585
583
928
750
988
944
897
771
600
839
745
704
592
886
772
888
509
794
732
558
641
827
609
876
629
914
615
571
544
820
533
934
524
909
515
601
776
994
892
669
868
520
656
975
716
876
831
784
662
782
877
927
964
680
596
700
829
756
504
755
733
967
957
711
500
785
934
797
850
762
946
856
762
557
764
687
593
752
628
884
767
689
1000
708
727
950
871
930
802
941
579
912
713
504
550
862
591
645
798
858
585
997
886
753
649
596
606
861
772
933
749
596
983
769
702
668
901
569
839
901
560
893
785
666
943
715
545
528
697
740
697
569
782
734
894
532
719
647
774
946
941
939
605
693
759
864
864
758
671
814
752
533
936
808
937
529
838
500
706
871
608
980
916
595
573
978
899
924
784
723
585
847
726
707
838
958
660
827
908
773
516
917
694
841
730
564
889
922
960
654
983
663
687
547
845
619
877
589
807
935
835
907
813
921
632
924
881
746
939
789
786
778
623
681
999
914
963
697
828
931
540
613
688
706
998
975
598
760
754
921
950
794
518
620
813
545
809
669
831
909
785
539
708
947
697
595
904
988
757
643
678
578
583
549
538
699
701
989
967
661
960
648
737
535
846
877
548
830
720
783
884
517
962
577
998
608
734
615
821
621
681
787
863
947
739
706
896
681
807
707
889
697
692
764
777
503
746
632
592
619
513
767
933
761
674
575
758
956
897
972
765
965
985
755
661
926
993
786
1000
898
608
557
649
610
743
966
576
623
932
536
561
762
797
966
988
719
822
907
740
646
721
725
943
614
806
928
644
660
947
889
787
870
550
885
964
849
677
924
771
790
630
862
508
994
674
804
720
542
632
547
667
980
838
589
945
901
858
630
558
859
617
544
529
810
959
969
585
945
518
528
539
712
909
545
982
658
802
731
613
695
575
741
775
627
536
832
642
745
503
678
939
762
622
925
775
570
865
539
560
904
575
791
708
937
622
922
963
660
596
624
691
600
707
701
722
573
620
787
837
929
637
705
607
949
866
602
776
815
698
715
570
818
912
960
946
915
777
770
608
923
551
733
757
844
590
917
770
891
502
812
825
655
662
974
968
705
788
624
709
619
533
963
758
992
557
525
753
977
852
651
835
796
628
574
638
782
817
910
605
871
689
700
910
773
609
548
741
572
664
635
648
937
818
552
823
546
694
990
871
885
788
591
946
636
698
971
914
560
608
885
727
752
540
748
963
996
817
752
790
535
610
554
633
902
678
540
902
812
881
950
658
501
772
679
785
746
982
756
699
900
566
665
624
872
772
816
868
944
585
723
880
562
884
786
780
797
772
986
649
985
884
665
725
780
950
940
669
686
522
987
574
553
507
571
916
726
584
780
859
967
926
629
917
569
772
664
508
675
741
750
842
570
871
927
992
705
922
879
649
813
668
634
634
792
951
727
910
948
611
664
659
943
960
793
865
576
550
889
783
787
685
746
857
898
737
754
602
811
622
835
852
912
745
714
960
620
546
502
894
548
800
745
743
580
513
866
714
881
790
939
902
849
972
828
959
710
519
790
927
900
633
892
953
732
744
893
879
626
548
757
509
815
758
597
633
821
994
895
690
963
641
841
903
672
590
597
870
527
582
632
858
520
649
879
894
592
527
693
842
790
632
897
758
764
686
817
734
541
709
632
802
624
682
911
508
765
634
859
857
873
624
722
570
584
502
561
683
653
534
981
975
922
810
958
659
765
897
786
857
503
500
980
934
802
964
764
891
603
683
747
824
815
961
637
576
854
983
640
609
563
596
952
558
661
603
809
758
543
598
531
816
939
754
891
674
1000
994
922
626
753
770
977
978
556
959
524
893
776
911
550
687
655
906
948
879
822
967
676
974
774
548
969
543
514
919
904
612
765
771
501
504
947
778
941
896
684
542
663
983
663
926
915
736
559
602
958
690
657
790
811
658
766
983
804
516
884
625
811
833
939
681
901
580
925
622
820
830
851
969
883
999
662
678
683
676
578
816
999
570
631
793
729
773
543
582
639
842
790
636
719
761
615
819
647
741
709
776
925
705
683
749
606
711
771
666
639
784
574
723
726
863
626
858
696
929
710
554
512
968
648
895
719
548
712
770
750
739
636
963
875
709
711
963
953
543
509
602
580
718
586
796
706
908
723
563
969
635
951
797
913
875
808
858
605
753
988
710
528
853
787
893
561
560
598
896
935
801
502
669
629
802
521
501
810
963
827
643
540
651
887
795
932
791
602
828
968
796
878
824
722
777
625
639
943
608
591
505
564
759
702
911
867
993
566
747
621
970
863
590
558
792
955
625
656
991
638
778
558
992
735
611
726
963
740
893
846
940
984
693
585
656
735
701
761
515
623
942
646
830
987
563
765
533
674
977
905
884
719
696
854
538
917
935
625
549
530
743
526
787
757
920
904
650
701
510
593
896
584
500
736
966
947
879
936
778
786
667
816
757
845
536
618
944
831
940
983
922
852
598
727
543
950
648
513
999
607
616
922
780
972
889
748
712
845
897
663
954
619
580
829
921
796
685
552
716
918
685
788
937
642
737
762
931
894
980
589
767
625
896
542
927
817
664
684
930
898
585
810
688
620
757
561
855
604
717
603
928
845
880
897
922
904
773
752
617
638
693
503
835
517
906
787
694
622
618
592
597
675
712
635
861
675
554
640
979
559
747
769
854
815
957
528
988
928
953
587
683
871
675
952
606
596
683
871
561
925
617
780
537
593
892
690
805
649
913
754
891
657
612
736
642
851
777
874
842
966
714
557
805
860
742
727
775
595
840
642
507
951
653
872
529
588
835
830
754
601
507
650
844
731
632
902
690
600
799
816
927
705
753
576
573
706
667
893
905
652
892
729
1000
759
626
838
794
740
759
863
526
612
619
880
784
718
538
871
621
736
708
694
623
702
629
809
540
800
825
989
704
812
939
741
659
606
703
524
761
824
633
820
676
815
690
902
756
878
785
984
771
983
909
768
577
954
669
788
556
702
513
535
596
697
764
928
888
931
959
919
679
556
598
805
575
635
713
834
935
631
644
558
609
515
712
533
991
892
962
692
622
681
915
788
630
810
823
885
685
564
889
982
573
516
995
770
949
896
538
800
551
504
740
798
557
622
953
651
539
606
698
659
559
640
626
630
775
598
901
725
857
638
731
924
853
729
637
860
510
713
884
722
584
539
696
588
728
655
710
757
540
749
745
569
829
596
760
629
671
995
794
646
769
545
995
886
909
776
669
851
645
924
571
575
942
614
660
819
505
619
736
963
559
853
897
979
789
500
617
746
687
932
878
735
633
893
947
866
513
771
984
643
722
993
968
964
760
753
698
532
771
973
708
509
658
867
711
645
727
523
576
762
571
615
571
522
617
766
619
598
911
695
968
562
573
702
893
710
539
537
740
650
674
885
883
951
622
602
757
513
818
984
557
749
659
613
786
903
623
589
778
824
533
937
959
691
772
613
601
727
592
570
838
761
550
881
819
891
864
655
651
851
891
685
771
788
535
759
912
794
608
862
817
699
589
660
782
879
925
842
919
703
956
777
680
644
868
915
664
648
941
692
884
667
942
509
909
590
688
985
683
875
794
825
669
878
871
942
771
634
839
976
505
559
787
658
979
752
788
734
823
911
775
746
728
868
534
953
685
803
829
932
949
733
503
549
855
804
897
817
718
876
684
547
641
970
666
538
730
606
963
832
606
894
815
948
929
900
803
924
616
742
566
900
853
959
552
611
653
562
980
545
528
863
770
509
629
649
503
807
800
868
644
540
970
553
663
646
633
836
655
567
777
932
730
523
903
505
752
931
869
857
584
755
661
630
866
906
500
586
595
717
659
634
678
754
889
517
936
977
784
922
684
607
717
990
586
974
716
982
767
761
569
900
891
552
665
918
866
714
976
748
613
787
665
871
735
756
594
809
780
651
645
998
855
524
678
888
999
651
996
597
660
904
754
950
543
895
915
962
701
644
518
783
753
769
683
630
835
991
575
830
639
934
531
592
930
832
846
672
910
530
806
710
909
589
743
711
660
925
775
986
860
993
508
727
662
788
948
796
981
919
726
525
992
752
780
680
618
678
591
612
538
523
932
772
589
513
666
945
900
874
587
997
956
722
869
782
599
833
907
668
821
565
829
510
605
806
579
503
743
821
536
730
865
661
910
589
662
730
512
899
801
929
619
941
915
644
623
568
844
743
857
905
961
847
958
844
542
602
786
587
611
743
764
823
520
510
734
823
980
700
708
764
889
510
834
640
592
828
929
764
765
525
951
656
738
954
529
610
731
806
947
559
884
525
562
764
879
663
506
734
542
721
900
532
519
584
957
625
560
680
690
827
758
936
686
738
576
933
802
838
814
592
674
874
544
951
841
787
736
677
602
945
864
859
507
587
960
721
853
504
711
682
781
601
625
500
525
764
545
573
948
547
611
977
764
707
757
886
561
573
910
834
815
870
957
759
696
544
508
855
850
912
683
794
748
952
570
984
894
964
516
747
737
886
563
558
834
654
761
648
660
563
826
916
909
513
777
597
827
922
872
916
814
808
895
831
893
597
665
911
997
536
639
517
573
714
676
619
968
518
725
900
648
695
793
709
751
675
818
934
783
844
575
719
502
997
985
521
676
864
820
799
755
566
521
975
634
774
800
766
681
765
783
766
580
651
851
818
724
812
695
817
592
545
734
569
665
501
571
666
857
800
511
756
555
894
616
940
567
924
529
566
525
968
693
645
697
606
885
506
783
762
657
634
512
570
771
937
985
837
554
966
783
809
879
531
997
998
616
814
512
866
581
966
656
850
575
736
993
891
655
857
753
624
675
537
869
763
734
623
981
718
735
981
633
917
949
872
510
517
514
669
725
622
832
653
899
719
848
626
559
970
508
757
700
802
721
936
556
872
639
641
675
894
930
767
890
559
806
761
509
634
537
955
748
917
564
825
681
907
683
834
731
582
931
850
611
994
631
531
861
851
856
862
619
728
841
557
983
539
537
567
656
916
858
542
875
957
792
834
535
638
543
690
774
639
801
818
935
890
578
835
710
766
896
819
978
971
730
552
726
981
542
594
604
864
988
901
634
918
781
903
989
537
523
952
752
851
932
845
663
530
737
549
606
984
840
544
762
997
554
811
964
852
946
776
880
746
927
621
537
760
521
678
641
887
601
948
554
553
546
674
706
867
683
818
867
870
559
617
846
612
794
575
716
929
676
578
526
811
888
611
712
812
599
521
626
993
601
946
520
754
607
937
997
740
735
987
654
976
950
725
502
662
906
763
765
767
843
780
840
858
519
960
943
881
747
892
836
612
562
697
527
587
742
677
890
812
838
873
703
652
673
661
730
597
646
573
662
528
616
928
611
719
537
860
580
686
763
652
698
979
998
539
828
967
715
842
639
703
594
710
679
549
652
944
592
532
873
697
952
560
991
996
602
575
660
799
970
780
591
974
656
677
514
854
655
574
825
669
528
527
590
563
914
563
857
562
528
513
575
540
540
818
862
637
536
641
694
684
626
808
698
694
876
950
523
1000
893
752
911
736
683
708
799
640
829
859
621
620
805
780
757
975
642
605
584
539
998
894
748
839
638
664
802
792
572
712
724
837
622
841
625
927
857
754
865
992
522
722
953
938
635
503
768
794
836
660
909
703
570
814
922
613
514
675
548
993
825
631
784
609
953
506
934
929
719
778
764
901
522
810
944
663
778
568
508
877
681
927
795
520
807
965
749
815
570
695
668
836
867
593
887
931
816
776
552
792
621
981
766
753
668
875
752
502
599
622
734
716
940
887
598
662
531
652
676
906
860
572
508
552
905
581
662
779
602
598
745
700
847
690
620
597
875
598
657
595
656
909
602
576
577
777
987
758
953
675
863
822
764
671
552
890
702
594
887
605
972
587
694
870
792
925
635
987
562
954
582
838
842
540
749
859
983
761
687
890
530
517
957
626
1000
800
910
790
789
672
901
640
740
860
901
616
617
976
609
575
699
751
869
902
907
985
610
751
513
621
511
720
759
589
808
517
997
611
581
582
560
812
736
512
640
847
877
666
821
994
634
878
796
788
867
699
727
889
553
885
690
581
960
754
888
612
617
581
918
617
644
573
723
670
512
883
534
594
724
570
714
571
709
957
783
915
618
740
643
669
584
810
566
677
792
662
624
885
563
740
868
753
923
955
746
538
792
745
852
787
772
764
978
748
717
810
925
825
523
684
698
555
861
962
979
666
903
669
938
843
979
754
545
544
728
961
920
606
927
990
665
976
914
514
815
503
892
722
764
583
925
923
576
667
910
642
900
776
698
997
599
741
959
994
982
939
671
981
584
721
782
999
906
586
850
976
568
610
651
772
811
699
721
527
804
882
516
731
552
955
696
860
704
528
684
760
942
663
864
575
504
892
921
540
978
740
968
793
703
681
614
700
946
510
727
662
781
639
843
819
830
553
627
780
531
796
668
517
502
501
993
839
876
659
512
651
539
969
804
814
674
766
969
735
511
990
918
787
858
648
540
866
532
686
859
739
688
587
739
855
523
651
618
539
949
973
673
529
632
512
791
907
999
789
751
661
705
923
926
905
523
669
714
944
726
804
868
564
573
929
603
767
955
920
828
584
918
803
790
796
928
525
772
801
555
760
640
861
915
525
1000
755
513
851
863
897
530
841
848
827
984
594
786
769
553
562
720
647
810
627
959
578
832
524
925
896
667
667
586
759
791
972
984
605
711
850
907
588
949
732
730
679
904
681
694
604
925
630
696
903
754
772
745
594
690
866
950
960
992
509
725
690
954
925
994
969
661
959
515
947
721
516
959
933
876
639
975
567
581
854
893
779
707
937
627
609
538
572
532
945
575
801
899
758
726
741
805
544
681
556
625
975
719
556
890
670
899
555
653
827
590
678
881
689
825
945
945
664
800
755
629
727
856
665
644
747
615
924
992
885
682
624
861
515
784
599
878
806
760
773
780
771
744
771
571
512
871
638
546
700
561
612
974
627
792
613
937
523
578
612
571
573
581
509
532
846
970
720
643
503
506
830
576
785
628
628
854
694
723
961
740
543
920
792
850
822
767
749
772
943
950
769
534
604
941
965
797
593
902
544
718
746
570
854
633
791
658
700
558
597
752
841
632
816
848
666
601
977
668
999
952
658
673
561
822
945
636
745
807
684
605
713
644
939
785
904
550
642
978
812
926
875
964
805
892
861
968
585
649
694
944
856
852
870
706
994
966
977
738
538
605
615
509
995
538
639
870
738
777
846
689
651
579
626
524
683
831
670
590
617
878
792
829
685
891
767
631
779
878
545
648
556
899
843
753
598
718
655
540
629
556
772
591
613
699
809
630
508
652
686
530
597
829
740
688
835
827
730
857
964
818
598
551
795
912
573
632
614
555
981
712
760
878
961
984
673
769
633
959
718
736
945
922
928
989
674
903
867
630
868
942
947
853
512
686
557
596
658
940
873
861
860
952
945
754
609
837
800
830
686
937
779
586
715
646
952
696
758
967
937
903
533
668
835
539
598
732
961
771
702
543
793
794
678
741
596
541
734
763
965
501
590
602
611
528
881
673
971
781
679
914
722
943
692
858
947
566
957
878
673
661
531
629
651
774
640
850
994
843
814
526
753
533
885
672
738
950
508
726
665
941
969
708
946
964
754
705
809
879
669
548
932
819
939
683
990
671
820
511
655
831
809
811
612
617
745
597
795
910
796
965
800
662
893
602
900
995
698
794
722
619
556
507
562
767
619
958
986
780
709
890
553
500
874
931
735
955
942
882
748
615
572
893
993
911
520
701
861
868
939
570
595
833
929
587
752
505
746
521
563
630
994
602
513
880
574
733
886
650
552
923
602
916
623
663
987
938
924
572
650
604
759
525
792
982
976
904
703
911
676
567
707
811
978
840
558
570
943
638
555
821
663
676
658
762
764
966
900
911
524
754
829
580
725
860
505
881
772
517
887
831
815
968
670
957
579
802
826
797
820
994
813
689
635
692
974
779
646
858
569
695
627
589
564
565
700
718
576
659
904
763
676
716
631
774
912
936
839
570
795
840
771
914
733
924
944
602
850
879
560
532
921
577
671
887
829
745
622
690
536
754
763
828
600
522
823
700
963
908
686
530
813
683
868
997
672
601
656
600
555
777
667
579
694
594
794
783
607
872
796
917
881
954
510
768
706
913
537
969
747
981
963
655
585
705
630
828
832
619
633
509
832
999
820
578
694
642
632
610
538
830
880
619
592
897
714
744
639
938
701
516
756
832
639
923
726
812
727
648
836
977
533
522
508
899
967
534
855
814
775
631
871
644
548
935
926
880
798
977
717
722
993
730
502
662
831
746
627
505
657
827
509
811
764
843
711
929
872
769
682
955
741
902
732
709
810
576
530
690
636
818
603
980
859
907
941
649
788
655
531
959
598
946
529
833
977
779
743
975
806
788
917
764
706
584
500
707
577
666
988
770
897
772
528
649
928
523
882
897
521
716
560
662
627
543
529
626
767
861
765
946
992
612
520
872
943
848
1000
986
623
610
706
869
999
530
966
690
610
668
857
661
796
594
595
939
910
654
556
667
814
841
724
687
983
850
665
603
824
977
830
688
962
813
549
526
553
918
762
524
526
732
978
632
970
902
948
630
784
978
584
743
703
605
681
848
996
534
834
549
588
506
905
632
998
626
789
906
955
586
826
631
844
591
540
685
875
891
761
532
825
580
986
803
548
886
970
645
529
795
843
966
752
885
991
590
806
521
960
925
985
530
586
840
867
736
616
783
790
611
542
979
775
627
822
980
987
796
975
794
998
529
651
867
793
772
591
583
728
886
829
516
716
640
962
906
886
641
989
577
658
527
632
578
600
759
552
846
818
566
982
774
699
764
530
597
543
610
933
736
710
708
934
950
834
713
745
784
749
626
656
762
870
810
738
751
855
917
852
855
659
777
888
670
703
905
848
985
645
671
551
797
897
862
690
851
776
502
635
625
788
730
805
973
955
749
540
800
812
642
509
607
792
797
623
940
796
698
725
978
890
642
520
979
643
992
993
641
554
656
879
802
631
643
767
832
535
823
858
849
774
743
835
798
621
675
705
759
734
738
577
756
523
778
926
699
846
918
610
565
513
871
673
616
503
698
859
713
751
852
740
688
940
649
928
830
572
940
694
698
500
890
887
695
866
753
966
993
880
666
723
805
882
997
506
921
622
701
710
527
661
683
972
766
626
663
997
720
636
749
656
687
559
914
628
680
918
504
740
924
761
653
649
623
856
826
875
951
862
754
921
835
829
587
827
563
887
699
949
573
669
984
544
568
850
527
502
901
986
764
946
865
648
677
531
911
919
916
823
857
782
541
838
916
763
963
656
618
670
949
907
503
823
740
762
958
718
572
630
981
661
759
764
754
923
767
510
989
765
980
693
877
700
709
893
879
693
651
549
693
521
695
593
645
803
891
592
667
838
849
975
936
877
767
924
512
607
656
713
914
573
979
597
938
584
804
759
987
619
575
786
802
527
664
549
975
748
663
568
878
913
512
955
700
513
518
522
681
775
621
713
698
567
608
960
802
724
771
847
963
970
754
865
625
922
525
803
918
942
924
526
771
866
601
508
800
793
892
576
944
589
551
553
653
786
511
513
566
925
955
942
545
532
999
586
536
800
842
567
765
907
507
567
602
714
556
862
547
680
934
605
974
907
660
855
649
913
945
671
800
556
902
618
659
901
723
708
867
535
901
705
972
889
752
680
529
590
599
685
970
613
646
616
948
814
675
949
873
619
922
714
695
623
528
937
715
898
725
932
523
614
986
832
999
808
758
724
738
951
910
724
589
615
886
848
612
685
658
859
997
703
830
785
989
699
911
805
631
899
501
599
935
814
876
697
625
951
857
800
879
771
914
891
760
699
605
973
668
680
880
876
954
914
807
831
876
872
794
550
665
1000
801
591
744
630
992
517
889
776
857
868
748
854
935
659
888
797
512
834
588
963
948
828
569
698
535
745
670
709
557
814
866
763
992
538
613
625
715
917
660
927
998
829
841
923
713
635
657
866
669
841
626
517
834
548
926
778
629
932
601
790
585
892
836
923
673
615
641
589
995
821
888
688
599
660
958
559
863
606
832
744
727
948
521
913
611
788
847
971
592
826
921
830
707
896
977
859
600
936
730
945
564
881
502
884
763
968
695
666
596
749
660
718
764
673
958
997
700
573
752
972
636
767
666
695
926
750
907
798
571
708
804
758
704
733
611
537
968
877
544
699
575
910
852
873
506
831
709
796
596
966
889
829
962
808
618
928
619
696
570
714
641
620
894
524
534
647
789
954
743
649
517
871
630
925
922
960
770
621
903
794
955
578
861
752
706
599
845
995
584
503
792
717
672
680
563
919
994
947
767
677
610
994
980
767
716
567
872
984
785
858
845
733
696
935
959
734
570
947
926
856
762
794
803
784
880
827
894
759
681
516
713
942
693
619
861
741
593
856
858
835
638
838
502
640
748
519
581
874
961
635
563
522
763
539
828
961
757
650
644
999
997
819
805
565
967
862
524
916
558
524
742
539
724
940
716
805
766
959
769
883
699
571
728
968
786
925
536
806
989
733
738
678
580
870
866
967
951
827
955
816
967
923
663
769
938
764
607
969
888
839
590
999
820
921
724
573
796
929
799
1000
529
878
837
945
791
604
502
935
513
979
716
821
592
505
874
998
984
725
681
800
777
993
933
785
582
766
939
713
753
658
945
687
774
864
599
730
903
638
889
916
960
746
753
542
784
517
765
612
513
712
512
842
951
668
741
514
927
847
896
972
732
773
879
988
565
516
603
645
609
874
644
943
888
985
799
980
864
719
920
573
535
585
515
688
701
793
848
681
719
770
852
985
645
564
562
704
867
962
845
877
598
520
565
598
836
835
893
800
584
818
845
661
811
837
607
759
858
987
653
591
926
685
672
767
880
726
653
895
767
677
948
873
637
684
981
1000
678
923
794
560
706
997
907
819
632
976
637
844
563
627
618
517
540
680
522
979
702
788
658
724
774
654
631
594
869
989
837
664
615
766
869
974
893
659
793
747
659
711
635
517
657
511
801
993
637
599
617
656
528
650
724
721
869
662
705
718
837
674
731
895
733
685
595
898
529
975
805
782
781
784
612
608
823
595
617
842
699
853
875
675
861
847
871
970
500
964
850
610
652
582
532
747
919
513
790
905
630
950
639
743
805
887
640
899
547
638
870
520
548
757
809
636
679
877
903
758
918
878
687
682
612
641
549
503
679
863
579
569
806
501
823
752
725
631
896
746
502
962
667
586
719
799
949
544
534
966
758
608
650
794
858
846
644
809
870
851
516
786
925
808
979
777
612
625
791
637
543
779
767
538
924
911
842
553
694
714
961
773
681
755
705
971
794
632
871
737
523
968
819
899
737
670
619
828
884
850
887
913
541
935
684
632
541
988
580
852
893
781
706
779
959
983
553
536
645
1000
865
804
583
649
910
925
784
893
736
720
556
973
762
520
638
638
865
732
950
791
748
886
922
709
689
946
676
569
536
770
885
528
605
826
586
793
598
561
915
771
720
671
590
738
917
535
942
550
510
653
936
948
797
851
791
930
868
893
508
745
556
811
957
806
931
887
566
739
986
878
721
595
810
560
681
760
597
656
886
648
729
578
657
535
712
503
753
511
750
917
966
547
931
654
956
906
641
997
628
601
713
607
614
891
978
551
990
993
813
826
694
858
687
685
919
540
552
776
842
955
518
960
838
751
639
544
830
592
875
664
951
628
633
997
591
735
752
882
520
717
548
547
838
613
683
538
917
778
918
580
853
799
741
584
663
511
671
506
860
511
714
872
985
968
944
565
653
604
597
511
968
524
754
578
551
814
584
789
932
546
515
717
753
822
867
978
888
788
883
513
999
526
847
776
676
598
972
917
544
608
952
593
943
778
793
586
576
882
852
534
609
922
884
569
911
522
961
875
748
582
873
675
646
849
859
620
746
636
938
903
817
688
853
983
563
803
552
509
702
800
921
971
536
993
533
726
844
808
537
504
973
679
851
769
705
522
873
682
624
765
859
670
689
960
595
759
588
710
707
581
585
750
785
642
929
724
950
721
767
975
678
670
543
660
891
697
946
795
557
752
869
887
664
643
793
565
847
734
829
693
764
505
808
577
725
737
828
928
547
695
998
929
814
747
901
907
930
636
590
856
965
760
937
563
588
623
564
893
626
541
655
760
715
826
774
862
726
510
969
551
664
965
694
859
704
644
887
864
909
742
653
616
718
940
717
509
731
778
682
502
680
992
563
637
586
700
769
834
816
831
758
810
910
975
797
620
731
619
514
708
927
533
776
881
586
931
960
774
918
973
653
529
573
827
512
647
568
914
647
964
890
807
953
950
812
538
863
830
621
821
634
818
742
535
579
872
646
504
847
689
699
744
884
680
718
922
606
632
508
591
922
934
649
809
711
859
589
965
767
866
561
506
794
974
716
937
948
656
773
924
698
589
764
524
635
879
915
692
548
882
504
710
836
669
809
513
868
887
726
935
844
747
813
815
614
710
802
964
762
757
829
505
547
843
985
560
713
990
852
927
569
807
767
850
948
670
751
640
673
780
827
887
608
678
762
799
650
682
573
523
998
641
519
678
539
884
623
698
537
850
844
793
841
741
577
695
834
540
985
510
543
856
831
571
964
672
726
659
694
651
803
985
651
582
828
732
823
699
696
919
680
517
562
784
869
881
842
696
999
649
873
604
556
717
502
622
693
946
851
671
729
855
930
855
859
835
898
602
816
620
945
640
985
557
503
843
639
959
758
956
679
866
649
522
869
622
754
928
995
833
690
875
624
776
727
892
626
624
594
560
575
818
682
693
995
673
636
501
988
800
684
796
545
935
968
963
713
983
954
611
969
626
854
905
608
855
910
772
852
951
801
500
870
652
902
744
978
618
748
855
577
801
539
528
677
599
937
593
678
997
784
971
680
671
751
874
626
775
874
613
857
845
571
919
654
574
751
620
694
950
718
518
610
721
670
996
906
779
655
906
991
513
806
612
536
945
651
905
686
664
749
573
751
598
903
686
742
523
597
885
833
610
773
783
965
756
553
879
663
611
783
879
817
935
827
566
567
842
736
657
790
743
743
908
720
865
607
608
514
510
604
785
706
839
586
898
804
575
923
879
941
981
796
905
565
992
884
764
535
961
815
752
520
764
810
705
702
847
739
697
651
761
828
746
842
735
679
705
873
524
892
530
728
981
644
871
827
716
591
946
953
866
516
767
563
788
572
877
867
915
986
578
704
889
887
819
844
861
874
670
587
826
665
747
858
555
555
714
565
767
525
577
707
835
655
503
567
785
976
523
812
841
544
711
988
891
725
641
703
767
888
709
560
857
935
718
655
785
929
872
964
943
896
993
863
502
927
637
595
802
508
952
808
769
740
754
944
692
598
512
657
851
580
608
831
566
713
841
576
715
760
692
670
977
735
532
545
931
998
646
991
618
507
753
929
746
531
656
780
570
851
734
675
590
692
624
729
982
807
561
951
677
602
795
856
506
891
778
535
953
664
994
501
844
940
697
734
950
693
543
911
566
623
741
846
968
502
951
749
667
567
550
813
857
594
832
734
819
935
796
778
767
813
761
565
997
908
819
608
559
920
915
881
961
797
630
678
586
659
572
983
568
888
766
540
768
799
941
821
964
699
995
651
997
938
633
781
520
604
682
940
986
554
892
635
901
917
954
989
531
508
610
954
865
749
842
947
721
789
966
580
837
882
833
899
898
939
726
933
709
990
799
604
734
631
955
838
667
850
922
628
529
940
546
830
763
697
994
708
896
870
525
720
625
684
661
776
990
846
946
913
650
833
891
657
813
751
548
858
748
957
638
836
509
693
747
765
607
830
997
892
631
825
731
629
697
782
683
609
853
963
573
555
671
733
597
516
533
909
575
832
962
895
677
835
786
828
819
863
755
943
798
900
751
747
994
604
659
532
866
892
609
578
910
698
711
661
601
859
967
610
854
899
887
817
725
958
609
658
965
623
819
726
588
620
907
866
915
776
754
902
664
817
553
723
671
966
949
924
538
737
798
776
730
810
573
543
727
823
666
727
693
999
862
974
983
647
732
852
591
748
541
776
562
559
942
953
949
604
970
608
654
679
618
560
555
961
760
535
640
985
508
746
548
702
526
820
834
625
928
613
890
1000
585
783
794
559
697
972
634
724
838
674
923
581
521
972
976
559
504
792
545
609
920
687
821
981
752
518
909
589
954
641
553
525
506
728
582
513
796
860
753
892
748
794
742
992
714
670
615
728
763
673
919
897
737
764
749
899
696
979
623
695
883
928
616
612
773
854
975
788
934
736
524
667
849
643
768
601
582
747
611
949
754
650
960
716
838
699
646
635
706
951
932
615
816
721
983
556
965
744
538
671
640
972
693
697
597
823
668
912
927
626
928
834
501
760
961
890
558
879
577
856
618
529
565
760
510
513
835
507
862
761
857
800
531
886
679
871
534
778
861
591
608
788
932
785
928
537
681
889
644
931
668
733
754
863
842
702
965
730
852
959
800
688
841
846
578
819
689
862
538
656
919
827
653
568
673
757
967
716
662
768
957
997
578
686
760
790
768
559
999
556
717
917
605
869
818
514
574
517
551
869
557
978
861
675
891
927
767
624
798
926
611
779
542
697
871
885
866
980
992
789
525
580
840
609
996
715
948
833
857
598
759
591
941
628
704
885
728
551
815
612
879
955
562
681
747
566
893
541
734
656
568
931
933
879
939
774
768
811
502
906
565
763
820
669
596
920
959
950
834
903
983
610
997
998
732
686
959
646
935
777
815
825
729
829
885
756
530
586
799
587
599
976
721
808
545
732
861
835
980
848
763
526
921
667
651
723
769
896
775
945
784
627
961
755
729
697
612
697
560
576
588
955
687
503
898
905
666
656
815
639
820
852
876
629
589
656
866
809
653
589
612
548
874
955
727
599
807
705
642
977
511
557
602
914
547
742
930
626
787
698
598
847
500
976
815
775
971
681
536
951
836
936
528
572
722
672
771
523
747
992
622
566
932
515
701
769
716
615
973
560
913
659
992
972
988
917
601
856
510
705
956
807
690
511
503
983
914
980
734
839
562
561
648
905
905
954
944
501
899
625
505
977
998
793
689
572
832
851
596
744
766
601
546
842
831
894
581
658
590
576
674
516
660
635
827
933
722
509
815
684
640
729
627
631
807
587
723
805
996
778
913
593
531
598
677
662
673
640
759
590
992
713
683
908
544
573
961
689
694
531
556
532
678
765
629
589
886
559
568
582
923
550
601
643
714
983
857
752
706
663
799
507
739
965
686
854
834
985
907
959
699
634
767
746
681
705
835
996
618
967
773
999
934
576
780
535
522
999
898
806
624
671
714
766
599
502
600
711
735
961
938
856
947
926
943
625
615
505
744
666
664
605
650
640
643
874
783
502
541
774
997
760
612
569
695
871
655
863
780
503
955
719
709
970
516
668
890
859
511
730
813
923
995
693
786
630
596
512
751
764
544
886
724
969
730
868
521
920
977
689
923
814
892
644
537
639
841
590
795
917
983
991
567
551
939
961
592
748
538
788
738
585
930
828
999
543
848
937
850
768
1000
744
786
610
657
812
704
688
922
700
949
516
661
974
726
767
751
625
678
526
510
843
774
507
988
760
996
893
893
754
685
667
985
809
925
573
771
577
843
846
576
791
928
673
765
770
696
841
531
503
848
809
891
514
840
717
997
796
757
514
988
770
859
723
934
924
844
908
923
538
884
680
998
519
971
501
651
710
599
966
984
758
573
663
933
679
767
898
591
930
653
868
777
620
612
880
599
777
627
845
773
852
600
974
520
578
997
622
683
937
534
551
788
741
749
700
778
857
886
606
580
660
595
795
904
523
954
609
698
859
729
854
564
898
617
906
737
657
871
646
667
983
917
508
841
967
679
954
889
996
800
586
958
852
952
801
869
637
607
765
991
812
901
707
579
749
927
759
843
541
815
670
904
973
701
702
901
888
962
884
564
846
827
787
868
678
971
732
965
726
728
802
984
536
625
524
796
852
671
567
923
823
546
867
693
775
886
687
725
525
756
913
860
774
543
820
619
802
572
885
972
613
971
521
537
573
746
917
624
719
799
578
735
706
790
831
602
561
958
837
843
787
826
777
761
982
634
621
771
878
562
876
513
632
693
786
958
850
723
770
765
791
797
766
734
890
599
929
515
506
564
795
513
992
996
975
791
582
818
638
623
672
826
924
527
549
740
966
814
987
821
920
938
776
875
775
517
657
688
960
904
947
834
725
759
720
719
835
744
511
953
948
872
767
603
900
632
509
587
895
553
593
605
577
563
857
919
772
866
862
527
718
767
871
739
657
864
513
946
588
668
524
964
619
650
562
514
915
923
795
780
986
742
731
516
757
891
880
953
502
658
556
596
731
926
550
605
930
682
548
869
679
789
646
545
869
580
838
546
878
793
989
907
618
520
937
548
792
553
731
547
695
782
672
598
703
708
659
628
503
967
762
870
591
830
837
806
552
574
673
720
971
660
653
501
568
782
842
639
916
744
713
624
887
747
601
844
948
507
877
912
675
939
959
892
819
717
893
684
539
593
776
527
999
977
996
948
711
979
722
747
904
599
840
695
565
513
756
982
560
818
567
987
542
690
699
784
578
694
848
942
704
704
631
972
831
581
712
969
787
566
831
916
923
765
588
651
753
890
771
680
852
612
506
664
592
963
740
711
990
560
816
625
713
983
956
713
601
632
786
827
514
850
559
601
972
959
642
506
919
948
955
500
653
661
947
652
866
954
995
729
675
871
770
570
544
807
636
514
722
771
985
850
506
537
597
718
971
587
556
953
909
654
781
860
503
789
741
776
805
625
707
586
776
657
711
653
690
921
864
779
977
572
534
701
907
836
728
644
628
747
982
556
878
657
584
689
641
973
694
821
549
940
524
547
996
897
956
968
992
503
961
864
804
672
897
624
528
909
896
963
909
962
991
977
774
694
608
694
961
541
751
993
743
797
671
684
861
915
803
867
848
763
899
744
548
897
711
575
953
756
879
619
781
697
897
513
568
585
571
828
859
888
796
988
946
527
963
735
608
507
955
609
599
688
902
979
897
521
600
652
540
630
534
553
781
875
644
900
967
963
856
522
961
894
629
552
729
953
989
654
568
667
839
526
779
843
738
728
738
872
706
685
549
749
920
943
620
783
894
831
741
708
1000
978
923
512
520
681
539
593
749
923
552
540
680
906
993
648
593
519
688
560
758
931
801
839
991
676
705
696
836
955
975
776
658
587
929
803
511
755
684
505
656
553
981
881
944
725
846
532
756
535
683
659
892
700
928
984
501
851
581
949
536
943
940
952
521
776
789
633
948
580
672
823
842
875
599
597
871
532
782
738
634
919
537
855
561
633
852
816
934
747
736
675
746
673
848
625
679
768
998
596
642
616
793
593
993
515
981
732
855
844
613
652
525
879
571
954
752
639
890
919
713
658
793
702
802
599
602
901
664
734
901
630
895
674
706
749
781
880
803
849
631
866
988
871
623
784
528
781
875
703
666
680
650
893
976
966
741
537
976
737
594
947
916
963
521
794
583
1000
844
964
705
916
740
630
884
713
725
518
713
566
988
723
536
904
960
730
662
544
752
846
695
632
965
953
740
935
608
675
753
503
681
507
708
895
801
946
602
608
545
682
681
961
520
826
770
634
602
838
789
935
847
637
559
978
823
870
816
894
516
570
580
670
849
933
585
597
644
703
544
777
755
882
903
505
516
698
666
972
907
831
910
903
743
621
790
652
514
804
736
851
632
914
506
699
543
827
636
764
576
538
816
795
971
886
970
813
981
507
898
860
514
911
894
708
700
570
807
591
973
931
904
819
893
591
574
635
683
543
978
588
852
674
743
848
709
856
506
692
556
985
644
587
773
914
726
574
721
590
864
587
709
840
863
562
818
616
586
856
601
556
509
698
830
938
533
836
690
672
922
874
631
887
650
519
586
770
758
971
1000
602
735
824
618
973
976
520
998
558
535
815
882
907
690
521
574
551
620
597
733
774
621
838
940
677
995
669
520
885
676
534
575
519
503
915
839
688
929
969
783
646
585
737
699
723
882
914
534
526
530
747
548
731
537
815
714
925
856
742
672
827
831
951
824
671
773
827
924
783
868
552
524
523
919
548
599
536
950
695
918
695
548
502
846
983
905
864
962
607
720
706
654
949
653
730
743
725
931
902
990
656
966
662
738
768
804
657
878
869
737
742
718
699
671
843
626
724
586
714
857
851
518
932
747
610
526
757
695
850
840
830
801
983
746
893
993
985
575
945
553
760
889
815
872
952
874
508
736
901
577
582
549
844
667
983
533
543
637
632
616
769
629
767
634
802
863
766
997
851
888
515
637
931
864
780
714
592
608
791
725
752
970
600
940
505
604
900
754
998
974
652
785
988
792
780
649
906
916
662
934
590
769
801
902
916
774
638
808
552
571
892
518
815
961
898
990
539
736
901
522
730
943
506
861
632
694
978
684
956
917
981
701
691
963
785
802
878
812
757
956
658
797
739
552
811
785
824
949
581
568
515
663
798
662
868
668
751
621
884
610
552
791
939
844
750
896
727
965
905
973
844
656
797
794
774
644
601
873
578
983
594
502
726
604
637
653
728
655
740
882
942
957
958
988
576
841
963
711
641
521
933
582
619
816
661
973
798
508
959
808
961
649
503
919
608
607
765
821
596
993
789
514
793
772
978
898
517
848
661
952
538
918
793
666
769
704
981
617
697
903
546
921
854
994
660
540
939
955
678
802
992
971
551
619
846
571
743
759
710
661
615
885
686
925
899
573
962
943
511
623
710
919
871
903
932
972
551
571
665
969
948
731
532
700
720
728
721
553
747
744
980
864
533
506
745
726
512
832
735
732
537
664
644
694
980
938
948
770
995
625
933
837
812
773
739
875
929
909
735
622
885
981
757
942
839
911
965
686
743
700
888
949
771
626
919
662
631
552
801
948
916
641
931
966
823
767
765
851
886
598
783
636
564
966
507
674
516
947
605
768
687
772
815
586
986
926
558
654
610
768
813
663
545
996
703
606
582
574
574
765
643
554
686
627
634
869
951
693
713
862
840
757
565
659
524
909
737
965
608
518
813
566
794
971
629
915
930
789
554
710
629
764
505
549
637
771
664
640
850
567
537
938
970
559
531
737
691
547
764
929
610
757
822
600
716
969
520
959
934
894
794
680
875
605
583
707
767
782
909
960
664
919
535
696
704
514
616
602
812
770
645
623
781
831
941
839
526
685
695
786
508
653
795
535
937
1000
604
808
917
554
799
889
886
603
806
877
639
598
614
764
742
663
739
548
829
924
720
920
803
775
713
522
515
940
820
503
733
971
662
768
699
945
713
737
934
764
882
813
560
520
936
509
822
893
597
904
939
958
905
738
668
829
943
604
905
516
987
866
629
590
586
869
684
934
861
704
520
877
693
940
954
909
505
584
907
659
597
847
813
847
822
997
794
829
634
531
639
743
622
564
652
693
573
947
614
547
950
611
708
904
859
902
549
567
552
896
765
533
680
808
531
861
812
949
899
596
615
957
655
965
896
951
883
817
618
929
730
875
981
627
791
652
851
753
993
657
702
874
600
709
919
656
538
635
771
755
587
778
986
658
652
749
595
1000
951
630
967
870
514
1000
944
703
737
501
680
509
720
522
604
614
774
778
901
879
838
660
727
602
974
718
574
808
850
591
844
639
623
900
675
992
685
625
563
550
787
712
681
869
905
825
532
702
628
817
521
804
894
843
968
514
881
852
842
621
902
891
734
853
644
587
598
667
896
923
563
794
786
774
714
944
863
963
996
804
715
804
621
784
610
773
549
568
692
825
793
906
945
539
798
923
632
935
614
675
741
769
890
830
868
689
786
780
757
683
547
520
632
707
900
792
945
929
744
622
743
670
997
926
721
910
631
685
890
634
533
671
599
759
686
524
679
635
687
571
747
916
872
580
709
848
686
985
560
593
920
618
563
817
915
782
999
679
981
522
670
911
805
575
881
739
784
778
816
661
988
592
679
573
963
945
672
633
622
507
616
713
967
761
890
710
695
862
692
816
562
579
573
745
708
814
857
773
513
896
853
945
590
520
934
689
680
545
689
828
888
516
935
618
682
744
760
959
937
691
822
647
504
500
719
962
942
949
809
778
503
804
667
842
692
519
814
778
852
920
502
745
777
800
982
705
560
592
781
856
937
942
515
608
603
1000
930
574
736
741
575
529
523
994
933
516
608
905
601
995
533
779
712
598
817
592
774
792
694
520
931
913
951
658
587
998
778
622
884
586
788
616
904
527
726
653
751
753
601
694
723
585
742
673
861
932
590
614
780
891
840
590
533
689
819
661
964
882
939
791
632
674
948
702
841
698
942
745
873
805
539
514
791
862
807
775
649
569
794
967
708
978
665
924
973
698
937
616
839
989
723
531
933
785
883
591
535
844
613
516
768
814
801
510
782
505
589
738
516
903
614
967
818
642
704
903
677
969
512
918
972
675
910
625
572
747
572
962
522
776
613
841
792
935
888
610
641
596
626
697
850
972
889
823
764
627
845
798
822
992
779
715
775
738
914
881
732
898
579
893
790
589
805
534
946
750
747
876
577
747
604
757
808
866
645
992
834
586
537
677
690
607
557
532
932
953
958
807
941
753
769
990
529
675
636
735
854
788
902
825
841
716
571
824
829
901
611
632
660
773
632
1000
834
955
667
717
600
868
724
991
598
512
591
700
624
648
843
948
836
955
657
830
727
602
814
987
929
515
662
612
778
917
849
774
988
899
946
785
706
661
811
874
630
584
878
719
843
931
550
623
715
724
617
500
953
742
692
832
868
927
542
889
510
776
913
750
596
645
641
809
725
935
515
877
923
750
545
838
826
881
961
595
511
530
673
834
987
801
809
536
965
753
915
525
989
713
826
862
792
970
636
730
894
875
887
744
771
847
975
865
525
743
825
692
510
575
643
708
924
812
854
972
577
721
657
824
751
531
944
738
523
791
725
780
639
743
545
929
761
939
504
993
542
790
682
901
932
880
978
836
778
697
555
859
880
957
938
690
935
647
743
621
645
779
570
613
970
584
945
985
988
748
891
622
848
743
885
520
831
727
950
833
966
777
958
834
837
603
711
777
569
711
568
917
847
980
597
961
574
776
831
972
961
623
550
611
624
632
797
569
686
753
885
999
513
705
931
922
951
857
570
565
597
759
624
503
940
580
966
688
675
856
503
513
674
934
792
973
756
567
880
692
876
830
546
805
641
865
606
987
887
641
971
691
748
726
613
505
926
933
705
833
953
980
972
786
953
503
674
728
591
710
682
897
621
767
685
673
797
563
552
579
689
644
839
538
791
794
800
844
699
947
952
990
931
648
738
822
597
809
707
840
876
719
797
594
919
570
809
620
670
660
706
580
920
599
860
998
691
988
802
860
768
656
536
556
618
850
515
955
520
717
799
746
534
799
664
667
514
998
663
627
874
590
894
762
577
796
873
674
987
614
783
543
603
867
667
693
562
683
949
510
578
705
742
749
711
974
854
796
809
751
964
799
969
887
691
980
822
924
770
817
903
549
887
598
587
528
918
910
523
575
787
856
783
966
623
568
794
646
824
899
644
629
981
984
876
548
634
856
535
739
820
516
810
755
505
793
604
687
733
884
894
735
914
928
946
987
1000
735
504
932
828
727
595
516
508
811
610
992
928
565
901
962
663
902
688
708
626
952
603
636
789
842
651
892
873
850
650
919
765
613
781
755
867
548
654
779
521
758
582
775
579
502
819
854
719
963
914
537
691
779
587
608
695
864
956
944
612
758
644
790
535
649
591
641
927
848
831
807
528
967
539
834
564
612
524
875
596
940
506
589
661
524
749
621
670
551
536
647
874
945
834
728
989
859
824
736
864
553
732
586
972
527
641
991
585
699
602
941
724
974
645
945
592
976
809
810
835
710
872
524
865
793
924
501
661
512
981
684
720
691
940
786
920
617
909
929
564
596
892
984
923
849
856
802
891
523
858
614
923
911
994
727
833
943
761
937
837
627
832
910
714
1000
800
815
521
938
639
948
500
963
775
698
767
668
658
920
723
561
827
652
959
626
1000
596
662
722
985
519
715
603
604
510
974
582
530
689
994
967
766
931
765
659
554
941
942
519
567
677
780
787
566
697
729
527
907
521
558
543
691
783
966
882
753
944
639
876
804
994
723
934
693
1000
928
825
682
723
934
738
946
536
503
937
806
617
981
504
666
558
728
540
646
703
622
592
867
633
938
638
665
675
934
675
998
798
863
801
601
895
898
786
805
748
803
943
920
616
686
552
587
920
953
954
656
883
764
596
714
869
735
516
775
751
715
975
616
752
672
560
756
700
610
624
607
523
739
633
592
751
586
907
853
895
608
732
845
577
703
658
894
574
690
877
595
891
667
724
668
846
741
888
975
841
960
581
647
516
778
663
596
866
605
860
795
580
709
948
904
761
558
976
641
808
908
873
771
874
847
549
608
823
540
709
969
855
708
544
953
680
715
881
535
790
655
919
647
867
791
661
879
875
938
701
895
608
720
821
889
874
617
579
827
744
987
859
678
922
625
859
841
868
532
902
896
745
691
606
687
800
718
584
782
985
586
541
768
917
614
743
998
985
685
546
689
518
910
705
676
568
831
530
945
728
638
770
865
738
766
538
719
706
738
605
975
945
518
950
666
822
857
958
610
633
956
597
758
558
766
965
790
661
927
997
834
820
688
545
903
702
540
817
976
648
976
866
641
939
512
557
919
727
710
690
627
791
943
825
522
698
752
629
865
592
834
519
782
596
973
742
660
885
954
549
717
679
647
891
867
998
597
520
824
624
610
867
814
722
995
652
999
757
657
780
929
934
935
864
887
516
941
782
977
815
638
556
928
739
509
777
973
588
709
920
823
898
843
801
949
791
969
957
931
765
850
556
960
661
916
922
722
815
809
843
601
774
960
540
839
703
772
954
783
642
605
793
727
522
957
585
513
887
573
706
939
943
975
559
551
598
990
819
981
956
896
937
656
944
964
677
592
915
782
523
709
692
751
537
694
951
721
692
816
561
854
651
522
656
530
598
876
504
576
595
819
663
743
656
691
540
649
879
977
946
958
808
532
977
608
538
871
582
678
724
850
894
532
693
827
997
789
878
996
608
955
831
716
629
581
552
973
728
532
529
695
840
799
944
937
879
997
928
859
523
603
681
635
693
901
929
808
612
931
989
819
522
679
762
986
920
613
552
783
681
709
893
527
652
624
703
690
741
969
683
521
551
800
776
512
919
787
826
815
683
897
711
692
653
524
512
862
691
535
766
728
955
872
704
619
525
758
534
977
691
612
812
742
562
923
573
748
710
940
785
710
563
838
817
985
882
836
569
788
800
521
693
979
729
692
920
905
781
703
669
797
644
982
740
731
511
743
526
809
796
627
717
749
687
787
540
892
728
579
892
832
713
943
901
632
725
827
764
898
739
558
682
736
989
950
666
782
807
543
845
795
851
848
900
613
925
644
708
768
579
505
739
747
550
731
939
603
575
549
991
742
625
691
782
705
679
817
641
621
979
739
801
782
724
704
777
690
613
903
704
757
935
535
523
932
538
872
857
933
768
894
915
846
668
875
588
828
616
639
672
762
752
960
622
737
938
661
900
932
526
740
598
568
848
534
604
534
725
816
920
981
606
717
533
698
809
727
715
875
777
954
607
634
916
752
710
639
592
907
711
735
684
543
744
710
899
662
609
785
536
957
585
848
943
741
837
567
854
772
598
608
781
574
988
868
919
752
667
621
732
954
589
552
662
742
611
563
917
899
828
943
860
742
654
730
710
883
915
652
520
837
906
879
879
826
697
901
947
882
858
843
581
517
744
818
665
758
753
823
632
893
842
516
949
712
653
514
617
944
555
950
747
585
778
675
636
815
642
661
807
752
873
622
590
807
839
790
994
779
679
877
523
803
755
955
560
555
837
596
783
966
581
627
797
940
727
653
822
501
949
712
654
798
593
926
948
928
855
876
942
966
983
948
824
703
745
574
759
988
605
779
953
900
764
516
861
672
796
901
641
759
611
676
582
889
692
694
882
767
989
961
824
811
919
566
778
955
636
700
861
900
842
912
941
778
912
543
639
818
611
898
875
986
684
621
886
657
942
945
997
736
987
815
934
780
506
885
983
871
784
538
803
708
790
602
864
676
656
921
771
919
747
851
888
768
690
942
834
865
674
642
610
893
851
634
500
890
619
862
543
980
625
975
781
515
654
979
676
708
539
957
542
627
720
990
639
876
735
912
995
667
630
618
599
944
544
981
547
921
632
829
792
628
679
817
546
649
996
923
813
517
603
767
675
561
797
585
691
831
588
792
614
960
879
627
836
705
663
758
998
746
730
919
780
517
600
648
970
735
619
541
950
763
960
853
744
926
959
665
937
510
859
924
762
731
529
589
773
925
877
830
733
667
814
997
665
959
908
869
614
997
515
535
841
935
704
632
684
573
997
762
548
587
996
876
556
709
678
576
702
967
562
568
532
716
887
873
851
641
930
676
551
961
818
536
580
716
669
519
698
559
849
610
822
783
515
864
630
816
644
918
652
926
934
728
915
749
851
859
919
931
801
782
898
613
806
982
853
658
623
567
513
706
631
805
563
601
745
894
935
522
667
755
600
914
876
781
663
723
803
744
693
907
870
607
940
993
518
771
546
974
920
742
528
853
739
511
732
554
863
779
531
833
559
635
708
739
592
922
941
521
937
629
782
713
618
700
922
873
720
864
748
567
954
718
775
592
607
557
945
793
894
549
557
506
859
561
678
557
775
687
690
809
811
956
616
513
790
643
774
860
956
866
835
603
754
853
982
938
970
806
831
996
632
691
920
515
757
801
645
780
832
597
830
588
613
694
907
636
559
617
657
676
559
594
952
784
879
564
838
704
538
527
572
948
576
656
855
605
581
582
588
562
763
934
606
948
532
976
691
692
770
533
916
776
581
793
622
799
656
640
710
526
868
736
895
853
708
788
956
746
976
611
830
651
943
769
823
524
645
740
736
674
611
504
654
902
957
532
933
892
916
753
739
998
823
647
540
841
755
819
743
841
746
549
914
570
912
574
600
865
895
761
816
611
904
869
657
730
654
890
765
1000
744
686
740
742
779
918
864
678
848
516
593
568
790
979
990
880
542
646
721
754
709
761
562
518
877
842
900
613
645
890
531
866
595
981
912
589
760
644
847
558
783
845
933
921
932
555
944
768
914
570
604
721
646
630
619
781
900
926
698
787
806
755
699
948
619
810
621
567
734
826
707
796
847
862
625
751
731
872
961
978
551
821
709
729
837
788
551
947
578
936
933
954
666
896
689
730
586
807
912
620
928
738
664
836
556
896
585
900
623
871
620
949
868
588
696
783
980
928
717
856
545
629
883
840
931
938
602
599
508
794
520
773
951
630
506
621
752
913
579
841
871
543
712
750
871
940
827
817
995
950
797
667
614
909
867
837
891
771
612
865
638
685
716
522
743
914
728
522
741
934
909
674
888
900
738
966
956
596
549
631
568
943
685
516
616
926
674
894
793
525
640
840
771
981
879
783
549
695
873
846
771
820
851
932
979
794
700
823
662
926
902
788
655
926
988
860
522
524
829
762
953
536
742
592
941
896
803
792
828
926
970
886
528
890
701
745
868
630
790
901
592
835
732
918
816
926
823
657
656
526
853
904
579
888
631
605
849
962
632
933
529
675
528
949
727
713
704
686
781
682
976
930
515
714
781
870
914
660
549
696
776
614
761
550
962
733
884
946
697
527
526
791
863
997
554
776
595
554
539
780
794
967
999
638
859
625
614
511
554
511
783
920
699
655
617
551
802
766
883
819
505
703
714
751
509
994
573
702
976
861
996
919
902
785
813
629
548
623
633
735
890
769
827
859
553
681
574
822
533
643
704
732
993
556
753
816
755
939
748
928
839
715
806
735
905
787
751
932
793
904
925
989
999
935
936
650
979
960
545
991
575
565
823
792
573
820
528
725
745
626
926
951
829
757
924
808
882
540
564
824
968
874
823
945
956
986
631
681
523
710
933
550
969
591
686
522
633
592
645
865
573
906
627
510
864
595
550
667
698
915
704
932
550
789
933
868
732
946
913
758
933
935
665
908
569
846
532
648
622
591
664
708
952
985
647
500
777
952
700
798
624
507
705
711
647
636
672
966
530
740
971
815
759
933
920
736
776
946
878
925
730
930
805
847
572
693
710
950
874
791
664
838
940
963
724
952
990
613
642
960
530
827
604
935
905
723
880
564
553
608
912
991
528
953
925
968
953
625
837
508
694
800
883
575
910
653
934
604
867
506
785
794
714
729
960
800
710
777
772
886
855
682
840
747
617
633
606
573
683
813
551
881
572
928
851
963
810
789
717
812
776
683
854
847
654
826
798
536
875
741
628
893
744
910
975
748
857
918
909
817
614
982
595
900
601
508
689
844
543
641
659
587
697
888
780
961
789
608
607
942
765
564
675
893
714
992
932
634
852
523
839
511
949
617
875
533
695
806
655
903
988
968
880
803
674
831
510
600
762
559
947
554
911
895
550
940
927
553
788
999
909
791
913
537
984
833
814
632
929
659
621
809
710
664
921
625
861
947
612
505
784
944
984
968
861
774
957
731
540
905
962
701
742
725
745
887
836
719
887
677
874
586
870
953
545
865
969
762
768
736
597
810
751
858
982
643
977
848
917
921
543
746
752
970
630
645
828
517
874
691
632
880
617
518
868
954
558
660
585
739
786
721
945
858
830
783
827
929
791
839
707
991
554
554
756
527
915
920
677
965
750
704
653
993
558
621
789
843
914
574
548
902
695
664
702
521
773
814
850
999
824
652
691
873
768
765
916
504
944
735
649
929
763
567
634
943
698
815
570
735
546
899
964
931
536
595
899
810
898
650
816
910
650
869
737
525
780
736
738
528
696
543
649
725
544
556
924
594
752
526
701
748
686
868
995
747
600
768
838
773
503
531
685
571
518
903
527
707
962
801
725
524
846
891
796
895
587
719
857
780
519
552
502
648
535
550
840
869
861
649
846
867
938
705
500
579
558
833
760
882
546
608
876
570
585
805
500
868
793
913
831
789
970
954
590
914
534
822
847
568
609
670
661
635
609
905
662
534
596
710
574
601
633
516
672
664
724
516
858
685
898
669
725
982
644
534
607
902
717
849
904
754
739
689
548
939
566
851
596
831
932
833
689
816
511
894
630
737
818
526
927
607
858
673
749
839
960
853
696
629
751
511
999
537
831
673
663
897
624
541
795
561
942
797
646
645
908
821
610
900
774
890
874
536
921
922
862
780
957
603
647
741
583
799
512
569
920
949
963
565
643
981
877
619
855
784
541
806
728
740
746
684
606
695
904
650
860
647
775
867
789
501
787
505
827
634
724
809
818
937
914
803
838
835
586
849
792
657
830
689
787
640
670
966
563
841
601
723
950
501
962
808
708
543
509
885
917
585
682
821
501
501
614
674
635
542
795
995
969
541
713
728
758
725
645
980
585
890
973
665
830
708
644
732
671
900
904
570
907
701
519
590
777
591
584
594
918
975
587
579
692
822
815
963
576
972
755
887
662
825
772
731
861
864
607
546
941
734
568
518
545
951
528
935
822
739
965
900
672
809
748
657
525
800
945
773
879
571
970
947
713
713
847
811
805
911
752
746
728
649
864
551
771
956
702
696
618
593
538
580
828
779
532
592
811
640
947
665
681
684
518
686
662
549
551
729
828
587
642
710
793
806
647
850
969
899
949
744
561
897
727
949
748
658
796
668
984
832
502
901
557
824
798
696
519
715
611
748
672
991
663
569
781
849
872
832
742
790
624
717
602
883
764
876
518
639
984
808
711
552
647
534
758
517
594
763
662
944
527
672
855
515
558
716
614
832
916
602
535
820
502
966
770
909
775
715
916
914
595
693
905
514
518
923
827
785
839
545
884
555
958
779
530
693
684
814
528
602
919
635
860
883
887
707
561
962
873
698
920
503
773
627
905
610
811
571
737
936
805
619
720
615
882
766
891
948
517
779
855
991
880
868
572
687
930
875
883
806
920
766
632
867
710
961
804
885
552
570
702
621
941
979
559
631
834
529
562
504
819
800
549
604
827
612
566
643
729
881
683
616
565
993
528
914
545
594
918
664
504
615
578
578
891
684
880
589
969
556
679
826
511
932
800
726
991
618
826
702
587
938
823
677
811
908
747
749
836
887
687
955
534
649
945
590
784
561
595
537
510
581
595
964
505
672
515
603
661
649
711
794
650
970
738
860
602
567
901
780
743
802
950
681
666
913
852
678
812
622
565
693
959
957
889
501
991
995
847
828
696
967
761
752
502
747
643
637
542
533
579
846
848
627
964
505
726
773
725
591
683
768
805
924
744
633
1000
513
621
564
610
720
767
843
808
745
558
920
963
751
786
524
878
704
770
835
949
911
988
859
957
926
822
511
857
796
813
788
650
619
567
556
662
521
747
509
546
986
959
950
878
576
708
790
718
519
816
567
556
785
967
740
767
549
933
791
811
529
857
696
651
977
887
809
635
504
662
599
936
971
757
769
920
902
953
725
695
735
502
677
906
927
677
526
618
917
600
842
523
585
594
546
764
892
599
997
719
711
719
789
655
819
927
866
525
969
820
716
928
702
776
846
922
927
909
892
744
532
939
577
652
655
584
542
563
799
880
731
873
959
839
903
830
880
894
866
649
591
614
633
878
937
741
806
650
879
651
738
964
634
845
509
581
649
576
993
882
1000
874
747
524
737
887
717
978
518
794
677
862
728
603
754
775
805
725
952
796
633
933
658
731
682
786
577
709
536
578
967
693
717
549
703
587
583
765
816
502
936
752
704
601
935
632
967
616
671
543
734
914
562
554
662
553
963
904
937
757
724
575
827
605
630
699
734
996
765
525
926
575
947
823
869
583
652
603
986
885
552
665
752
575
999
779
854
617
726
896
579
944
585
999
656
954
941
606
1000
556
662
511
658
501
781
674
994
993
795
934
691
988
867
784
841
656
670
925
700
731
704
575
845
975
786
827
927
747
730
889
892
580
730
622
749
923
673
738
626
866
755
570
545
624
790
592
935
670
879
784
856
916
967
785
705
547
891
855
900
754
693
839
941
720
804
756
788
644
864
530
601
872
762
713
921
999
551
754
745
606
629
509
900
970
773
705
954
981
528
875
642
859
546
707
764
895
931
801
859
616
922
757
959
708
551
597
758
669
995
565
971
903
773
619
599
732
621
538
769
810
909
776
730
982
646
797
601
712
705
878
941
501
808
740
663
730
686
779
743
532
732
798
605
810
599
591
693
959
998
915
607
831
629
761
610
652
755
614
585
957
977
916
613
667
665
747
647
796
653
528
566
879
521
668
514
533
701
520
936
590
800
815
688
505
529
766
851
585
935
986
941
875
774
731
781
641
745
747
599
687
972
580
720
520
792
914
870
547
980
714
748
994
600
508
583
757
938
634
508
972
816
505
866
667
988
906
691
564
868
847
680
645
935
831
937
854
802
540
975
932
801
750
503
716
872
695
984
613
821
889
705
728
779
921
671
806
555
798
839
500
875
697
678
952
924
626
537
717
889
579
635
665
616
588
903
900
705
950
574
968
616
895
778
829
741
888
702
594
784
869
650
979
899
532
632
654
936
750
537
591
908
747
855
785
771
865
720
865
713
854
527
565
945
517
869
931
698
580
593
555
816
796
687
554
680
687
779
753
919
596
650
995
661
663
796
659
593
874
805
882
968
978
953
890
939
570
897
749
881
661
593
609
615
651
741
765
610
669
592
712
536
516
658
574
772
568
720
729
678
844
664
741
977
635
671
502
1000
829
662
796
597
534
762
755
643
582
887
626
539
791
651
688
574
645
898
918
883
900
766
541
714
675
858
946
902
598
906
833
934
507
626
980
527
808
622
903
832
771
931
637
863
519
543
781
712
846
554
797
666
989
793
601
530
940
720
522
680
851
948
684
749
736
839
690
529
584
635
780
642
813
776
852
571
736
531
851
946
753
601
566
878
640
628
673
685
712
607
995
598
801
648
525
578
945
738
684
546
929
629
994
860
931
965
947
807
647
881
838
763
917
787
735
677
917
724
835
544
832
780
744
724
988
918
522
530
615
795
646
712
842
594
599
788
769
548
827
910
800
904
814
833
856
730
804
889
862
973
701
754
812
949
817
514
812
974
558
868
803
733
896
877
579
919
626
701
710
599
623
753
923
927
602
593
857
616
674
623
600
829
661
711
863
608
710
929
924
664
536
656
900
653
603
672
816
911
687
652
850
819
698
643
740
970
916
851
992
996
625
567
517
941
727
625
898
716
887
678
593
560
637
856
611
686
645
658
986
844
617
795
590
706
713
581
596
737
758
935
943
681
666
736
955
963
523
999
996
565
962
751
663
623
569
553
568
705
826
632
808
615
735
531
886
826
625
690
586
569
959
963
795
954
764
821
948
766
665
838
756
935
531
910
509
510
520
675
508
710
680
799
944
986
689
754
617
569
707
851
757
672
638
880
825
756
598
968
677
787
560
737
626
772
524
984
588
848
818
968
675
902
993
697
742
516
909
889
861
544
581
985
974
540
623
738
665
881
794
770
706
549
542
814
664
699
878
939
528
622
991
655
505
573
943
622
672
896
781
691
644
807
770
644
937
563
843
590
817
969
900
662
878
777
628
935
696
669
863
687
848
809
976
611
733
663
785
505
697
690
849
989
912
698
819
639
538
750
788
927
596
545
736
874
633
770
933
568
724
518
953
965
847
962
690
688
960
883
632
1000
940
660
575
514
601
780
634
693
734
704
505
982
552
937
670
544
594
507
792
890
719
770
909
943
756
928
502
822
580
581
520
659
651
840
534
601
690
727
813
528
731
602
693
690
572
979
716
916
971
721
980
525
709
595
756
858
710
842
695
769
662
736
511
721
809
635
559
895
727
888
671
651
527
938
738
692
674
701
837
880
739
977
991
702
557
889
946
754
522
867
640
715
928
552
704
855
935
852
691
580
755
526
972
895
952
832
711
519
608
762
897
561
962
990
733
903
714
705
545
503
665
914
555
1000
783
940
668
802
907
521
973
611
668
984
829
826
815
554
670
622
505
693
946
702
869
878
512
653
798
662
715
975
528
562
531
666
773
542
738
601
977
911
605
941
704
745
989
541
636
855
573
819
655
918
542
638
508
899
652
825
727
532
667
847
923
969
829
633
923
873
555
745
845
693
563
622
632
815
617
591
829
620
549
888
741
735
987
597
887
924
775
810
534
502
984
945
975
758
595
614
518
904
801
817
516
804
653
780
903
742
604
648
576
979
500
889
613
977
669
686
922
709
512
552
960
652
871
693
644
672
985
966
953
642
699
829
501
935
703
525
743
948
802
818
539
829
662
584
685
703
590
696
788
506
578
544
917
606
938
712
662
626
831
617
874
556
511
835
543
716
825
730
676
555
540
601
875
965
830
650
811
789
655
965
590
567
664
623
688
754
852
884
524
591
620
643
672
502
517
598
691
684
606
646
599
837
684
962
662
801
811
816
582
653
816
625
844
739
944
582
685
743
779
843
972
588
993
563
815
649
703
952
887
957
620
571
939
682
833
696
657
836
858
855
510
815
986
776
604
540
994
723
943
921
769
517
771
844
531
740
825
876
924
779
692
955
742
808
643
952
511
797
647
676
851
663
882
737
808
637
846
634
954
585
883
999
761
986
836
932
862
549
573
797
582
933
767
624
629
691
953
714
893
593
517
905
682
522
779
590
961
565
764
629
654
897
550
914
901
623
539
800
854
763
996
774
901
719
929
768
589
923
515
876
1000
791
808
689
835
906
665
957
728
645
852
565
504
566
862
936
656
602
922
539
875
692
991
876
550
905
995
930
604
758
502
967
955
664
554
806
556
597
647
689
550
772
808
502
835
968
914
687
944
674
931
860
506
502
999
761
608
657
500
955
618
946
899
828
598
608
943
575
988
573
760
927
657
674
697
636
900
605
642
703
723
781
661
633
504
546
716
796
764
729
930
788
645
801
962
936
842
844
578
827
774
781
859
501
883
815
863
921
893
947
757
786
656
702
967
763
796
949
896
847
555
881
823
969
841
716
885
752
884
564
626
663
822
698
788
958
892
963
588
587
960
913
666
770
920
850
945
924
611
957
683
804
894
731
776
746
935
957
910
885
786
752
860
836
694
656
599
566
512
763
930
904
927
889
637
508
673
866
596
915
538
975
680
866
535
853
710
708
857
721
839
753
803
623
655
864
900
696
562
799
738
623
502
803
928
622
886
756
722
524
885
751
517
635
807
508
995
558
938
633
690
590
970
683
896
657
533
992
637
772
664
605
840
713
678
562
953
921
544
975
680
851
819
664
850
765
850
990
993
939
806
724
530
933
664
956
929
941
804
530
742
533
891
946
514
913
756
774
955
869
601
668
712
818
744
593
541
665
783
774
573
598
664
840
998
526
718
744
714
984
649
841
803
682
765
763
654
706
802
651
664
1000
790
772
860
526
829
512
556
909
705
733
528
995
1000
578
797
564
570
589
996
791
826
921
708
899
948
686
771
677
626
575
853
983
934
815
896
804
923
604
759
547
716
783
531
731
822
721
821
585
650
835
733
723
843
824
984
537
764
954
503
953
598
576
594
757
611
786
972
671
811
730
701
913
795
820
636
795
514
581
536
787
711
869
950
890
577
794
775
841
950
909
687
774
679
866
559
637
950
943
656
841
760
577
752
715
968
809
879
854
829
827
778
922
697
988
871
549
892
795
510
504
820
834
589
607
872
999
914
751
732
785
939
862
583
695
584
799
912
860
930
819
792
882
944
701
967
767
866
562
785
928
716
919
892
569
918
771
650
511
816
777
819
598
700
679
867
934
724
828
968
616
746
893
727
820
524
985
934
618
997
807
820
625
855
939
893
977
545
606
781
999
887
775
678
866
970
606
660
508
618
801
826
759
828
934
756
666
550
712
750
553
539
615
615
945
576
523
645
857
736
786
532
614
515
545
823
655
622
704
524
769
797
618
674
805
566
667
973
570
811
909
834
656
782
603
533
908
958
530
783
691
585
711
553
506
779
609
559
518
955
989
897
504
628
502
534
655
639
588
807
884
686
828
767
790
797
884
558
706
963
758
999
798
829
775
896
673
738
876
779
656
761
799
710
539
544
873
520
575
627
628
908
872
950
898
916
558
637
991
837
579
794
527
535
546
883
979
584
541
993
824
714
758
638
713
775
577
866
719
595
586
858
666
772
806
987
831
720
953
962
682
893
611
704
878
722
781
648
768
765
550
961
792
857
735
559
812
824
807
835
677
888
552
887
625
740
563
977
956
575
634
677
734
935
644
815
788
627
728
821
595
814
661
595
655
626
510
767
633
867
878
630
539
825
813
570
746
857
686
558
895
850
882
713
950
713
605
632
759
675
836
793
901
808
899
825
626
958
809
861
634
900
889
907
591
650
762
723
530
743
525
974
805
502
814
923
752
857
502
951
645
908
970
957
937
989
884
728
613
645
569
580
959
821
502
584
600
851
633
585
614
685
595
763
526
902
711
772
537
680
944
780
746
517
920
905
606
973
748
979
693
518
694
873
879
789
861
835
613
818
757
835
696
784
501
980
694
619
891
662
521
926
976
521
732
527
955
549
577
855
674
943
971
644
989
818
900
763
658
951
826
684
911
972
881
794
844
704
993
792
883
703
829
593
537
554
819
603
984
840
694
855
518
806
944
715
534
907
918
997
661
970
893
588
778
970
502
733
551
964
702
945
885
943
585
870
838
605
575
636
974
980
592
942
722
994
897
760
927
649
673
933
504
724
802
856
600
631
979
929
581
872
674
834
590
746
806
878
951
569
517
516
704
568
547
567
562
591
527
878
509
802
923
536
501
684
887
715
709
542
955
754
977
602
965
854
790
834
515
813
908
809
631
768
618
701
578
720
919
830
610
639
694
656
744
675
874
629
999
784
783
551
592
527
642
940
845
558
602
667
783
524
505
778
663
854
902
703
548
996
937
736
946
569
996
1000
959
752
872
648
867
664
1000
879
653
762
747
937
639
573
868
582
827
737
687
966
963
578
946
863
659
677
863
765
802
955
638
886
952
946
722
971
587
820
720
700
987
963
668
753
896
613
534
931
728
556
710
829
879
825
890
811
753
567
817
901
677
771
872
840
670
736
831
938
688
843
945
684
624
826
822
945
976
659
953
908
927
538
937
660
930
595
598
819
720
925
875
552
779
553
640
909
964
778
709
656
974
650
909
622
653
750
880
973
753
744
639
960
851
587
871
556
726
547
653
970
732
597
821
990
818
771
797
797
899
840
647
864
806
861
803
810
859
783
961
889
964
882
685
734
705
621
577
646
565
665
983
834
857
964
695
933
733
739
563
786
914
980
949
900
874
878
594
719
750
789
865
632
516
509
891
777
994
648
631
509
649
831
862
596
846
755
951
555
882
607
891
960
804
854
702
940
660
985
796
658
809
599
729
917
919
636
956
838
513
539
815
648
855
669
998
593
997
998
506
608
950
739
645
529
802
637
772
707
723
896
579
734
759
764
575
832
905
912
660
655
619
618
754
914
703
520
895
758
809
512
851
689
744
991
507
689
855
835
879
805
804
555
592
503
760
926
606
972
879
637
681
926
969
768
786
679
748
840
567
846
947
554
503
709
962
848
825
589
651
810
902
863
938
666
920
511
646
770
513
760
876
780
638
841
903
989
883
816
603
853
577
673
683
604
625
524
794
614
832
684
973
659
596
707
660
889
772
823
531
988
926
527
530
813
849
979
608
647
600
538
906
593
734
545
641
785
505
751
717
816
883
794
507
633
601
912
962
925
915
550
818
880
527
563
812
679
836
860
934
772
877
745
663
863
869
839
521
578
745
742
913
573
869
673
859
978
737
572
794
790
589
734
770
916
970
837
979
771
677
868
765
710
613
971
562
661
882
597
699
824
770
672
803
951
531
674
752
525
958
773
536
733
925
745
676
720
891
891
996
753
766
595
637
534
555
658
907
843
936
648
677
870
528
758
747
583
974
586
610
950
859
872
742
665
787
763
863
606
741
624
931
978
661
543
649
973
572
688
571
877
547
614
731
679
796
684
952
646
681
827
550
776
829
760
715
509
558
643
906
711
787
937
887
968
887
640
908
614
809
774
848
869
693
972
918
760
505
909
785
811
547
895
893
678
834
885
839
954
675
954
543
849
775
820
585
691
932
938
762
837
941
853
588
898
767
571
779
791
752
722
912
579
544
704
539
649
960
602
768
579
940
852
838
694
878
543
679
930
779
756
810
604
732
653
769
790
865
939
617
876
623
800
883
662
501
980
749
790
699
910
753
877
638
533
833
586
940
830
933
890
686
808
953
738
753
712
523
955
746
630
525
723
668
878
687
946
783
828
958
677
628
980
817
516
919
517
602
725
611
985
859
709
799
823
932
543
649
823
749
594
874
997
904
588
873
671
559
939
662
902
792
770
997
581
748
877
895
651
990
636
629
940
672
516
527
794
724
623
814
755
886
976
773
988
723
596
606
934
556
676
723
757
820
905
590
657
967
701
883
858
530
830
943
713
955
757
707
794
902
968
664
874
935
577
957
550
562
586
675
950
819
709
542
636
970
586
655
712
944
633
523
656
571
513
738
640
670
748
818
593
805
897
970
772
554
682
911
756
934
638
553
532
917
982
732
832
886
801
982
518
572
575
708
582
873
912
502
850
844
648
900
715
968
966
594
525
713
574
538
851
953
999
682
879
544
626
562
609
920
995
786
624
560
988
899
708
504
658
962
962
878
696
883
560
562
540
585
872
540
728
836
806
733
623
781
690
754
946
950
884
925
800
759
765
516
780
760
950
923
504
727
757
554
794
944
677
846
681
765
848
517
928
614
726
507
740
988
847
982
753
887
991
663
718
664
546
574
755
788
640
850
993
552
841
885
783
809
740
716
886
559
514
821
813
875
590
851
819
892
517
592
717
778
970
601
940
590
928
818
959
743
646
665
540
750
750
549
740
947
591
896
750
699
672
853
817
874
790
962
635
716
622
688
972
964
891
763
734
521
626
563
875
505
818
809
613
710
793
505
950
762
524
698
720
849
957
874
942
805
768
763
773
618
739
952
675
567
579
911
738
741
833
804
944
679
529
731
780
675
939
512
790
502
583
944
518
700
892
876
1000
982
859
725
984
572
647
759
577
813
901
503
663
710
969
539
673
897
704
581
911
974
590
801
860
571
721
878
500
835
926
884
837
610
824
974
511
542
791
830
986
772
665
765
996
559
764
708
751
709
967
826
761
617
899
576
799
578
771
950
567
511
608
651
576
938
820
856
656
599
794
506
553
817
712
999
853
753
974
659
527
971
788
547
775
900
587
799
655
577
705
666
821
998
933
919
556
760
636
831
749
947
682
831
551
743
828
782
943
570
588
788
780
999
628
810
631
909
574
511
632
895
996
569
608
839
690
967
975
613
922
921
756
530
833
897
773
505
980
710
695
654
992
540
981
744
822
997
582
509
815
667
624
709
939
500
583
872
704
868
861
570
808
995
623
615
670
527
727
671
741
865
521
670
502
698
844
548
866
955
711
591
824
843
876
671
746
611
824
691
994
828
629
937
654
732
613
672
852
823
579
787
660
973
561
951
580
852
560
810
529
681
590
610
668
913
783
759
690
639
817
871
896
807
945
927
863
876
740
574
761
701
550
847
992
870
557
811
526
904
816
734
889
532
936
674
519
514
619
755
991
860
962
958
972
553
957
854
853
590
541
943
599
504
795
649
679
819
827
711
978
724
641
590
878
540
580
593
584
910
697
833
985
688
594
805
855
588
919
825
982
979
958
634
568
705
757
551
778
532
856
614
523
715
959
622
996
554
589
693
698
632
862
922
570
887
681
777
854
766
626
938
623
980
818
663
538
677
990
949
576
732
768
892
836
722
996
616
561
908
888
973
810
942
859
862
877
768
786
676
601
535
660
966
952
821
718
511
505
690
932
754
541
915
750
591
517
727
545
694
718
600
818
527
859
978
724
549
605
803
944
539
893
707
819
817
752
648
553
734
778
633
615
742
922
703
624
501
671
973
795
865
845
755
753
868
974
822
883
831
636
832
727
976
966
964
752
921
950
941
538
680
814
891
784
902
756
749
978
739
884
717
949
513
971
845
968
657
599
847
825
513
695
816
591
526
561
538
584
848
820
595
546
914
605
861
884
777
836
506
521
548
896
976
741
941
707
655
810
662
540
857
826
561
978
863
826
733
931
695
619
909
939
705
933
941
894
737
919
842
990
928
854
816
689
929
951
810
857
563
767
963
659
821
808
519
661
786
646
803
833
831
701
541
766
726
915
805
921
698
558
622
675
991
731
906
908
527
897
849
523
832
946
914
904
876
943
675
564
897
868
505
817
997
536
783
945
524
654
679
966
790
881
614
713
887
969
596
899
762
930
999
745
719
899
723
968
772
984
691
890
958
727
865
836
919
704
695
752
966
720
944
940
705
818
795
768
659
807
841
846
629
577
925
703
649
906
966
783
837
653
632
712
789
652
515
964
856
517
793
791
955
960
860
890
867
718
751
908
704
716
933
994
920
657
805
720
754
744
782
881
944
905
771
574
584
664
876
629
870
929
825
820
740
965
813
722
725
975
679
901
640
778
984
938
542
901
739
813
562
938
702
923
801
922
951
642
735
832
805
774
613
769
779
819
557
595
918
841
546
793
902
744
875
999
609
506
596
893
603
553
800
990
911
637
990
757
978
899
611
805
992
952
826
645
862
900
779
811
918
635
595
822
586
836
779
810
965
839
809
727
887
591
630
831
883
644
986
655
910
679
811
803
656
866
856
864
774
806
726
830
655
976
704
840
650
562
727
667
961
917
941
779
730
904
816
916
984
563
984
678
780
735
870
854
596
606
794
552
733
969
750
845
771
533
963
536
652
623
657
994
885
592
681
583
915
738
626
802
914
819
611
531
891
933
789
693
520
904
844
753
689
791
739
783
955
985
537
768
857
552
877
871
632
571
598
627
505
628
856
981
906
640
990
873
932
927
902
769
902
800
680
581
844
875
628
966
681
845
859
765
553
877
878
583
839
762
724
736
976
809
565
604
852
745
565
807
843
932
925
835
650
503
736
721
981
979
799
616
664
824
685
761
644
880
963
774
920
594
950
615
992
900
524
792
836
920
846
967
769
519
731
870
739
802
993
966
502
523
617
754
853
909
707
750
809
622
863
860
827
568
997
615
579
621
626
856
681
507
585
970
691
645
999
870
527
685
594
627
792
740
740
772
767
673
592
568
733
966
779
901
718
682
583
523
604
781
856
819
979
577
860
869
680
921
681
839
511
892
535
906
526
552
884
513
905
793
863
583
671
898
873
560
592
748
709
592
875
771
902
870
973
608
708
869
726
626
794
954
834
670
780
650
906
838
572
679
1000
851
543
951
659
825
940
804
658
617
809
961
838
875
907
897
844
815
830
792
776
756
879
508
549
943
561
632
688
915
876
993
894
503
929
658
758
925
579
891
905
766
880
827
887
744
751
622
541
509
623
679
569
665
979
552
774
533
898
965
646
915
623
531
860
640
718
759
909
788
971
660
801
867
940
805
534
603
790
617
595
948
815
745
805
873
832
1000
969
761
879
765
606
713
851
804
786
982
754
529
673
561
857
924
632
902
607
663
719
668
917
899
775
757
583
693
992
735
620
875
531
990
615
811
525
923
965
930
955
698
887
946
595
508
592
972
519
702
707
760
793
648
585
889
519
723
586
518
814
606
701
754
991
752
680
664
755
855
603
722
892
997
771
896
618
579
512
671
615
872
790
964
871
590
576
649
960
572
636
528
673
574
637
620
923
859
675
820
668
927
899
680
886
624
867
556
877
792
578
930
725
537
592
500
871
699
516
666
940
676
872
616
993
972
822
982
775
626
941
546
965
837
627
862
540
724
705
865
990
870
619
723
759
873
969
702
967
651
857
572
785
821
702
786
820
772
712
658
613
551
992
874
956
741
714
705
770
751
867
696
856
998
639
815
721
815
576
961
788
915
511
893
601
757
907
766
502
580
962
681
920
898
609
787
726
885
779
913
692
907
714
658
883
692
621
821
969
983
596
847
671
590
844
962
867
619
538
876
901
894
508
860
688
705
670
605
769
783
590
678
527
588
992
777
739
685
933
908
560
585
1000
987
607
991
589
932
767
756
702
843
706
852
537
532
753
642
833
828
788
812
926
903
633
596
598
548
723
811
675
953
812
747
836
630
836
763
981
607
859
739
967
924
616
553
734
693
642
806
500
632
506
858
516
767
678
654
988
716
583
846
556
785
905
798
715
935
764
627
718
669
827
673
871
704
677
846
574
981
686
746
952
776
555
591
892
886
623
664
658
668
888
609
921
724
683
525
628
508
631
999
652
620
845
637
895
784
835
544
631
780
739
797
565
638
907
857
642
755
605
740
681
887
547
636
952
652
963
809
591
980
501
645
799
635
775
853
603
786
893
946
931
648
831
748
628
984
853
519
824
913
858
503
905
671
909
945
858
952
867
624
665
953
538
908
1000
675
618
818
802
774
536
927
610
924
755
904
963
822
868
563
990
514
609
681
574
952
701
586
810
555
861
543
833
747
552
815
763
708
699
902
748
950
811
915
649
774
773
707
579
879
713
973
652
800
587
693
677
749
667
974
757
801
722
892
739
796
700
667
708
853
926
833
696
843
819
608
967
623
584
976
642
761
896
944
890
926
979
998
567
978
642
833
923
803
845
988
934
974
511
899
835
514
674
847
902
895
855
702
543
594
704
849
827
846
640
789
960
563
991
854
826
808
766
507
785
572
973
945
978
630
581
871
992
728
806
651
701
864
840
801
699
863
562
867
663
540
733
634
884
681
712
978
775
967
884
650
542
789
867
689
796
951
502
938
796
634
724
700
582
840
771
907
597
586
979
577
632
823
945
953
738
658
696
738
872
781
962
915
505
845
962
977
683
555
961
541
655
934
822
637
803
794
671
927
999
776
645
532
796
870
810
676
794
927
900
791
622
504
791
840
771
856
940
510
531
859
754
544
588
656
903
884
619
607
614
742
846
906
920
965
655
699
915
608
649
715
605
868
540
973
999
631
701
516
867
754
621
948
725
697
698
888
921
915
666
501
681
640
851
620
502
885
938
686
661
662
603
521
876
815
577
957
526
733
949
884
517
762
651
572
635
884
820
827
814
513
649
796
842
768
781
727
919
904
936
822
604
630
575
506
632
847
642
952
966
846
587
572
683
913
501
921
939
949
998
652
691
962
860
646
892
644
607
560
923
845
793
893
544
817
857
600
925
747
861
578
897
713
976
923
960
766
951
817
800
868
969
993
918
817
863
677
521
689
858
838
848
698
932
884
837
645
719
967
782
598
788
864
704
816
533
683
827
908
577
687
540
581
890
858
565
604
781
652
800
746
610
607
890
995
802
668
674
905
780
584
903
978
979
907
823
669
974
985
941
779
776
741
701
906
597
501
781
635
908
648
968
658
733
739
502
952
771
583
942
873
575
562
888
564
867
771
734
706
782
558
920
869
652
997
986
968
578
711
800
555
536
577
693
668
642
564
688
502
776
854
521
533
795
710
694
737
969
897
704
695
719
943
554
793
799
595
772
673
995
676
661
616
823
901
938
938
650
944
717
543
759
911
914
541
694
627
956
615
813
829
702
996
632
860
790
539
889
885
765
571
667
713
612
824
631
870
778
637
973
549
696
507
849
724
888
975
863
681
612
755
913
846
918
825
527
656
794
890
546
664
855
510
761
846
750
525
865
667
504
754
883
985
557
919
519
766
832
629
801
800
655
513
681
801
912
967
594
903
620
897
829
668
914
940
931
655
736
506
582
527
858
862
1000
748
673
951
817
718
964
840
690
916
723
623
569
550
852
576
723
996
954
852
955
824
628
618
622
723
817
664
810
776
520
846
817
785
749
523
865
819
781
854
571
717
939
998
646
705
963
975
566
749
534
503
691
602
800
847
509
712
506
924
694
765
720
980
642
525
776
782
623
630
964
655
827
598
972
654
576
527
531
528
749
516
532
500
687
693
536
747
709
746
787
767
951
753
739
911
739
989
583
775
851
606
954
690
880
797
694
615
571
653
671
605
656
515
824
751
675
883
891
623
979
665
632
988
546
934
807
658
892
809
664
865
524
884
923
693
638
513
594
982
767
734
674
691
875
976
661
576
854
889
887
627
830
699
813
918
739
662
975
541
919
904
826
549
978
853
681
914
568
961
963
664
789
737
689
726
782
771
933
639
736
683
913
618
766
893
988
980
830
553
702
664
820
659
644
851
943
724
667
814
721
956
736
624
971
660
785
705
540
821
936
831
586
851
562
689
985
741
534
856
636
508
836
550
777
950
580
678
790
673
684
849
862
503
543
570
655
570
992
883
861
836
955
701
600
558
985
803
694
523
644
961
946
593
907
510
613
873
913
983
935
958
928
593
522
986
739
887
596
568
744
521
639
901
986
856
635
600
947
636
721
679
830
802
885
947
515
612
581
882
555
577
932
785
944
875
962
515
707
790
549
643
774
816
675
695
932
786
845
687
517
703
711
974
627
709
648
827
586
704
580
877
668
932
585
868
925
973
516
657
846
937
519
509
906
635
561
651
524
706
792
944
795
998
606
828
722
615
858
622
611
763
847
834
696
695
902
937
677
785
518
693
792
921
689
752
741
539
654
810
709
710
670
894
925
688
515
912
814
782
941
661
572
998
577
549
730
783
946
615
695
743
979
704
637
645
544
795
889
574
886
884
781
971
549
737
932
583
629
883
522
598
654
534
873
628
701
765
974
709
578
812
561
894
837
858
691
643
699
537
997
556
593
961
667
532
696
560
747
790
683
505
796
781
847
995
814
590
862
510
846
884
639
738
885
761
668
541
689
989
847
610
822
689
659
978
891
930
760
880
684
507
783
688
527
859
995
758
812
690
696
877
782
738
801
734
736
947
679
702
966
619
836
815
522
880
566
954
745
539
707
600
807
729
713
572
882
830
921
901
928
874
765
842
938
753
829
567
617
947
990
856
663
547
832
968
996
748
585
660
940
885
561
522
968
806
829
742
613
931
814
573
876
916
976
926
637
593
640
920
596
856
966
780
588
741
810
989
921
557
535
746
525
981
540
558
953
992
761
931
665
652
598
852
685
678
643
603
833
704
891
564
589
503
733
847
862
767
774
680
743
522
956
562
683
955
604
674
775
996
923
642
952
911
961
963
837
877
952
619
963
786
669
967
517
638
765
973
733
846
876
864
535
709
634
554
750
949
758
670
875
867
720
972
520
779
630
621
760
893
742
976
529
777
737
641
644
660
545
922
769
841
582
582
585
741
826
501
615
518
757
634
797
555
521
803
980
651
933
801
577
821
558
922
672
978
545
789
512
522
657
904
532
955
507
528
931
838
676
561
863
986
517
963
590
839
531
809
958
626
719
951
905
837
987
844
929
803
652
849
761
807
669
755
973
829
624
984
561
980
857
890
562
738
835
627
926
634
551
962
645
599
634
663
532
751
942
731
694
674
763
931
609
978
826
520
937
917
756
891
775
636
500
766
529
959
565
601
533
784
604
541
612
966
803
569
617
656
653
628
649
851
701
618
871
884
945
925
697
524
900
964
847
785
819
626
603
971
678
709
742
725
616
877
514
666
727
977
851
848
907
650
537
991
947
656
571
619
819
519
986
601
578
854
975
621
640
888
998
858
545
561
560
888
554
772
503
986
507
529
909
765
536
941
569
751
697
907
818
510
885
978
553
947
821
789
511
596
660
853
987
807
868
590
582
722
826
623
800
531
880
755
604
801
594
841
974
581
650
535
580
593
719
984
534
572
548
872
859
517
562
673
548
501
570
658
575
806
779
753
633
988
506
914
550
955
751
649
571
919
593
637
566
651
996
579
588
575
861
873
826
572
607
588
806
752
676
880
947
898
974
648
630
575
546
864
584
579
528
673
992
517
627
646
980
583
748
847
617
626
919
831
612
745
983
809
780
959
950
627
875
662
946
624
583
985
829
616
619
682
583
741
504
501
841
868
585
700
702
538
594
885
591
584
781
585
518
912
697
514
809
628
786
547
831
997
605
853
800
975
908
915
967
587
953
763
934
529
727
990
676
575
708
951
971
873
908
682
826
712
777
847
505
851
680
558
837
773
638
506
833
662
531
753
792
661
967
794
955
565
921
709
809
723
904
715
720
623
683
505
631
699
657
845
584
852
592
999
631
803
999
835
818
764
988
792
652
913
680
885
833
913
501
786
569
619
962
974
676
562
614
646
893
655
752
825
850
551
948
919
564
555
682
610
776
632
904
871
959
866
993
698
667
626
806
516
576
930
840
585
784
613
807
972
991
735
781
725
866
703
672
943
605
902
522
904
708
747
527
602
842
638
987
864
543
527
611
740
572
551
668
916
879
574
882
819
790
840
894
982
744
504
668
613
947
811
703
563
913
701
766
995
805
850
848
945
905
958
833
569
783
900
907
636
896
710
709
624
728
723
685
649
603
720
836
510
837
570
772
545
559
568
965
736
599
935
509
952
775
623
502
503
734
764
750
942
701
537
931
501
810
596
644
845
987
865
586
892
514
813
711
724
906
769
872
954
535
771
584
855
688
912
642
815
909
737
722
814
558
674
857
884
642
876
559
703
931
779
867
805
953
624
640
838
702
667
623
954
830
664
662
742
738
991
789
736
789
553
900
962
740
919
810
582
827
841
589
637
911
951
507
543
962
757
982
526
724
628
713
523
903
736
920
794
976
760
806
797
607
734
515
720
849
731
807
550
507
749
786
985
890
596
704
874
772
519
813
720
937
867
567
714
644
953
744
909
799
919
538
776
631
936
559
797
940
740
986
793
532
526
762
523
702
950
973
698
902
775
706
694
624
644
614
552
611
738
742
885
700
965
705
729
755
769
620
715
611
506
550
680
556
783
904
914
541
732
950
524
747
557
735
573
521
961
573
716
993
801
714
789
834
569
521
627
661
525
947
725
723
655
572
643
806
733
967
779
850
731
595
561
616
837
955
762
975
561
505
574
752
664
983
805
572
846
601
848
732
537
720
924
923
693
582
974
808
969
898
868
930
975
995
913
827
505
764
953
727
844
550
927
845
559
930
546
739
891
929
547
890
943
906
864
780
825
634
697
597
967
563
998
867
658
949
582
861
993
740
523
792
940
658
604
760
572
818
643
527
854
787
605
550
601
927
509
795
618
899
518
558
717
777
740
658
931
508
544
935
807
879
524
764
531
888
985
951
823
579
781
696
670
593
672
540
538
610
802
833
651
511
719
645
605
721
653
874
710
639
719
985
919
827
524
980
833
523
810
948
779
994
742
679
521
810
841
987
543
557
858
927
909
950
722
983
909
785
525
681
880
980
630
558
990
523
801
758
659
975
664
585
924
773
805
533
872
903
691
528
881
922
581
664
821
618
782
662
610
786
545
806
920
794
653
527
564
945
771
941
921
803
877
630
733
547
875
714
927
586
839
711
900
682
783
985
766
894
618
915
505
866
792
885
932
990
916
756
701
546
887
633
684
770
688
580
567
683
536
743
861
515
978
700
723
950
963
741
756
901
580
903
828
673
971
752
532
571
739
535
931
988
667
551
973
654
672
547
611
808
907
714
739
563
740
841
795
673
871
876
893
938
845
605
973
677
574
731
980
562
668
759
921
925
888
538
591
717
875
961
752
939
651
662
503
589
764
991
775
956
630
567
549
678
763
878
602
601
765
530
577
583
543
778
763
548
588
747
679
510
630
530
918
597
677
548
838
716
571
992
776
688
795
648
980
686
540
973
966
915
988
961
730
891
540
596
929
859
547
670
900
523
653
835
536
919
798
707
548
992
681
903
825
817
628
977
953
515
653
814
573
952
741
724
546
690
518
873
764
765
777
815
742
670
632
848
908
839
573
697
898
537
918
685
624
557
841
758
736
775
827
755
637
918
592
817
705
649
913
602
569
905
770
613
599
671
515
626
902
738
634
743
563
908
580
698
586
688
941
709
930
508
723
518
948
685
683
842
642
631
541
523
672
542
881
876
698
546
500
747
751
902
884
808
548
730
937
842
675
719
523
784
772
552
696
721
848
514
662
820
837
819
599
832
644
746
792
838
762
921
571
862
684
525
521
907
548
761
758
955
630
833
871
756
531
679
751
501
553
823
875
763
937
942
780
783
825
648
856
694
870
647
722
542
585
533
865
521
591
510
830
638
854
827
610
767
907
761
720
954
788
805
600
821
581
903
738
805
544
777
656
709
750
961
595
739
597
813
704
525
871
679
585
794
557
976
817
532
650
941
654
802
580
714
650
965
949
554
779
658
562
723
772
799
778
538
876
507
815
661
671
579
778
617
839
665
545
744
951
820
904
952
775
962
638
729
564
784
604
976
599
667
739
795
770
627
540
837
975
662
763
523
880
737
995
558
938
514
784
949
735
935
810
622
914
648
790
622
641
795
831
871
868
846
756
578
702
912
525
852
784
600
584
550
635
645
784
964
625
861
589
874
951
965
563
828
856
853
603
547
784
597
762
574
890
674
992
662
576
877
616
606
521
732
537
586
573
816
965
854
713
896
801
853
587
816
788
786
739
643
631
793
972
550
794
504
961
835
519
723
774
786
591
676
713
559
809
665
884
599
856
505
665
985
605
665
558
658
623
587
647
690
562
715
610
832
999
601
990
931
641
738
747
684
693
893
805
887
682
622
761
816
902
831
636
595
782
802
868
930
946
777
675
697
750
886
947
728
947
761
701
596
662
908
657
983
674
511
652
650
697
827
762
777
676
996
527
822
545
965
694
730
656
602
943
862
907
566
522
531
911
947
851
535
822
708
507
511
560
786
523
836
916
586
872
992
898
919
1000
824
699
711
822
801
607
763
1000
891
883
813
680
583
601
556
693
990
503
973
687
716
857
572
779
733
536
784
564
989
619
760
832
703
845
912
749
582
741
721
928
733
843
665
994
846
997
778
611
997
878
617
965
752
580
528
571
645
761
947
560
927
867
753
958
841
690
625
910
641
640
972
675
943
561
619
816
639
959
693
822
910
716
733
957
981
901
591
614
572
707
598
947
650
536
985
711
500
772
694
602
832
803
975
538
660
835
820
596
594
587
516
902
874
615
734
797
663
942
815
982
515
702
629
551
961
887
855
563
966
618
910
704
769
554
575
627
794
999
874
829
593
645
721
843
531
619
947
947
591
687
615
613
992
594
615
567
738
959
830
995
941
775
596
507
708
502
836
599
738
622
766
679
826
978
950
744
761
537
652
957
976
665
865
892
627
927
874
830
587
853
797
931
932
948
642
575
573
673
578
710
906
845
512
654
680
850
942
801
824
998
724
576
504
636
515
795
661
586
568
867
639
707
624
866
692
797
999
681
744
759
527
974
665
640
879
569
946
848
693
864
615
616
825
902
656
960
710
573
780
848
931
865
742
979
631
609
838
847
863
931
774
817
550
921
785
614
757
738
538
889
825
742
871
836
682
664
952
998
570
847
850
856
549
729
902
577
961
583
766
722
509
906
949
918
901
976
551
560
786
780
763
867
620
814
981
674
652
952
1000
864
737
812
933
508
929
609
963
717
807
834
713
772
605
869
834
899
771
936
981
753
619
730
850
609
643
947
723
608
580
873
698
620
969
852
949
770
690
535
767
584
909
927
945
802
637
908
928
873
505
963
716
695
520
806
850
940
663
577
627
700
606
987
765
806
862
726
675
833
660
712
814
884
627
797
700
884
703
997
889
752
820
650
712
506
543
703
918
667
646
718
989
969
795
732
657
825
817
610
888
632
732
510
774
691
946
506
540
726
741
655
563
546
919
514
567
813
544
591
987
626
614
625
981
815
792
505
693
987
799
704
839
665
854
690
926
656
514
797
585
516
569
586
760
966
793
946
600
961
576
920
671
718
665
506
894
689
902
540
539
718
809
788
711
875
736
916
674
759
598
659
653
802
531
510
726
882
984
562
789
502
578
952
814
550
971
666
526
834
911
544
827
976
623
855
750
896
680
763
886
820
843
507
566
946
725
667
868
588
546
679
938
550
741
518
555
709
618
758
563
971
692
927
522
576
544
896
844
912
820
766
879
836
843
950
913
900
977
805
623
613
616
580
845
994
884
614
504
911
618
998
943
837
889
671
686
777
708
774
746
539
602
763
974
987
505
993
861
589
839
567
716
581
997
721
761
974
595
506
913
987
636
976
770
837
987
803
756
922
854
563
640
713
686
598
871
790
535
691
692
758
575
964
518
938
661
602
645
810
531
841
656
601
969
590
564
980
568
720
545
735
901
787
799
816
614
879
558
512
618
562
909
714
839
801
631
841
749
506
885
906
922
979
673
876
730
915
545
666
596
768
575
702
545
722
695
623
923
548
542
876
836
835
629
859
512
789
799
947
524
562
789
664
703
798
989
814
611
785
786
857
589
992
861
580
711
617
976
566
803
532
661
617
684
661
833
764
764
951
803
820
935
936
727
826
808
598
983
654
917
798
663
614
749
743
882
747
956
570
613
560
537
591
740
628
589
809
971
514
607
916
820
725
634
775
768
881
995
649
940
961
842
773
698
646
676
782
708
854
896
937
705
827
628
645
592
666
697
729
680
606
853
526
704
894
757
579
743
839
748
614
506
957
978
601
911
952
513
714
665
757
507
882
825
709
780
771
529
926
817
620
594
517
978
618
847
788
875
840
652
651
692
668
728
890
956
832
807
901
750
541
508
684
745
740
939
887
767
676
613
810
639
920
801
856
974
911
972
718
646
761
844
826
907
996
606
790
514
927
693
630
869
747
749
605
682
608
557
598
867
800
765
905
973
687
515
587
964
583
639
929
642
658
701
892
520
583
550
639
628
730
615
956
516
946
531
719
861
908
832
685
569
807
777
903
885
669
837
986
501
714
763
604
924
941
582
518
513
980
732
571
913
842
821
910
529
667
643
678
887
765
918
708
507
512
884
922
564
736
923
992
775
633
546
640
906
917
599
502
788
619
949
913
531
858
601
961
737
695
990
841
928
687
779
933
579
811
726
968
778
621
772
566
855
921
805
740
557
710
519
842
906
780
887
969
769
506
981
950
929
546
538
709
991
947
976
982
628
832
609
642
900
853
783
877
913
552
952
990
523
832
587
772
818
751
836
735
969
511
889
551
700
967
774
663
546
580
805
917
997
749
500
935
628
819
749
643
926
870
638
506
739
781
910
796
876
839
542
542
827
987
571
691
531
720
801
957
550
529
762
700
872
723
892
832
586
619
601
543
562
870
840
853
643
561
855
755
794
570
780
575
828
771
843
883
625
514
559
575
966
894
967
623
718
756
512
592
636
988
762
943
556
719
764
846
811
768
662
771
516
984
742
524
744
906
958
638
683
683
631
682
887
982
508
606
665
801
778
811
914
946
879
938
723
745
607
826
982
749
720
751
505
911
510
926
993
665
828
875
534
843
539
578
728
513
547
838
608
811
873
878
742
725
826
623
654
981
523
554
927
502
944
677
511
992
512
769
984
1000
833
853
1000
684
743
929
667
645
998
594
508
837
593
713
544
734
782
851
841
877
629
648
576
723
817
883
737
729
515
826
689
618
537
799
778
614
528
668
536
942
917
704
833
602
733
814
575
549
914
549
804
949
504
785
518
949
807
786
731
720
921
565
553
755
952
554
589
516
764
666
852
791
571
996
746
921
628
617
858
808
613
697
613
759
986
671
880
958
755
681
921
845
773
892
784
797
937
685
830
908
620
655
512
811
999
944
885
561
698
650
860
705
866
673
596
627
540
693
892
791
773
608
622
691
544
895
765
716
635
513
670
801
880
563
815
940
774
636
675
628
515
873
698
533
820
649
684
624
994
562
759
834
707
617
504
650
841
989
519
892
958
941
764
613
919
807
742
767
906
817
851
596
517
565
903
853
745
862
572
600
532
945
907
781
510
897
920
513
763
698
577
651
911
717
507
546
732
761
802
931
696
628
983
659
687
548
581
602
605
746
734
958
622
650
731
573
923
690
994
647
843
985
662
800
878
563
891
851
873
880
998
523
846
836
671
546
712
848
566
926
525
504
833
893
660
751
673
825
718
889
830
767
638
577
765
784
940
503
574
523
695
657
593
669
918
921
832
760
958
686
631
968
916
994
856
672
837
646
650
739
892
941
732
674
568
953
564
695
506
978
947
937
984
553
993
611
881
1000
820
973
782
696
663
870
602
903
862
673
725
753
718
604
636
860
569
937
782
796
697
591
917
681
998
972
601
975
894
816
759
714
663
996
825
908
529
643
786
882
725
873
554
727
862
519
901
599
863
726
978
868
570
847
821
619
773
569
977
975
869
722
877
526
855
755
826
835
710
597
789
773
878
883
994
549
834
657
521
584
983
951
623
733
584
937
523
686
892
784
606
584
994
765
781
537
982
616
983
828
976
783
775
886
817
635
579
932
828
548
811
754
563
945
992
695
636
827
909
788
624
944
695
621
997
655
940
876
519
717
980
647
656
541
897
786
923
570
887
655
820
738
829
978
990
505
729
555
786
877
738
780
576
969
726
612
982
617
895
856
869
949
802
827
970
852
854
955
991
844
955
606
809
603
656
819
859
570
739
503
997
682
818
788
757
542
518
714
566
980
551
849
935
699
637
733
788
536
516
651
609
588
577
795
587
934
588
850
941
533
689
835
633
814
908
556
516
670
525
831
832
636
608
698
835
919
809
999
606
677
906
675
987
813
981
943
764
553
849
990
777
667
977
998
608
756
880
913
950
567
792
670
760
899
538
517
940
722
957
953
929
671
767
942
827
542
728
710
628
763
542
842
881
845
996
853
604
768
966
754
667
645
760
674
677
836
723
696
725
804
752
913
653
832
541
790
525
660
503
732
877
912
807
544
913
658
722
955
580
782
651
530
928
950
948
914
514
836
920
670
903
745
946
806
707
580
888
928
533
969
828
643
592
786
980
777
809
513
648
781
547
847
816
511
680
989
679
723
819
783
636
987
937
848
514
994
531
650
578
920
531
807
688
736
519
504
907
516
638
662
605
517
762
810
793
619
637
992
971
754
765
1000
595
580
739
887
775
822
981
875
527
742
936
560
761
533
570
838
837
868
546
938
811
925
504
728
812
633
610
565
945
886
777
717
563
976
579
630
888
650
654
991
887
833
684
800
587
982
846
909
601
678
667
650
711
589
944
951
756
935
537
757
784
664
760
552
543
791
685
877
742
640
680
931
711
917
853
774
524
971
689
643
971
592
873
662
834
873
751
601
790
819
703
743
542
937
945
726
521
676
552
952
626
888
700
659
648
549
771
901
873
803
594
596
854
722
667
994
812
661
865
531
515
793
583
883
645
818
857
908
621
666
829
802
606
995
552
556
756
984
815
801
508
527
998
601
773
721
580
873
528
675
796
941
666
500
713
734
750
930
605
936
610
720
789
546
643
513
643
677
702
936
906
831
735
662
590
908
859
870
689
625
919
891
683
501
599
788
626
927
667
602
808
639
704
548
944
879
905
549
784
799
646
664
935
848
621
569
915
900
533
507
704
504
972
776
689
719
626
561
675
917
721
711
587
552
722
961
959
909
667
746
510
727
969
642
576
595
805
733
554
505
838
681
775
534
518
781
827
895
577
763
559
968
786
697
832
769
551
915
987
553
687
865
647
500
730
944
603
528
788
684
947
693
732
899
764
643
528
838
619
618
531
831
697
631
734
688
928
800
646
775
502
682
975
580
511
871
863
826
962
679
737
619
600
727
817
702
687
835
977
668
540
810
766
762
729
995
884
882
791
905
522
584
702
655
822
833
984
795
934
899
735
762
936
673
993
585
782
826
520
808
612
845
835
985
587
745
759
895
774
954
957
918
800
581
673
874
914
785
774
832
501
869
960
904
545
795
896
617
701
986
819
519
706
675
618
676
768
571
913
948
757
662
625
548
731
953
509
669
542
913
769
503
761
889
753
783
851
554
875
578
637
899
694
861
598
652
819
620
517
667
722
916
986
836
934
585
572
564
597
693
768
904
795
632
757
663
719
839
801
612
774
830
540
565
814
741
828
755
760
996
527
585
618
898
784
944
516
809
642
761
534
689
760
693
604
742
661
566
911
730
678
965
613
594
502
805
592
578
676
764
675
726
993
725
926
527
644
588
878
998
612
616
534
620
678
690
674
692
843
966
644
859
508
777
923
991
560
935
742
969
592
602
825
691
917
906
891
552
739
695
549
579
613
959
624
653
792
999
840
950
537
950
912
635
552
732
1000
939
728
740
591
983
540
659
570
864
699
727
880
929
935
682
834
982
576
900
749
762
788
936
979
960
560
504
852
757
614
538
833
988
711
740
847
978
709
656
808
997
909
742
586
976
555
991
640
832
688
887
859
578
979
726
558
625
796
536
524
652
965
798
631
726
713
632
924
808
639
660
951
897
619
700
697
877
714
938
745
551
906
698
594
776
722
976
906
603
558
602
918
852
976
711
684
942
514
560
812
705
726
548
543
835
504
905
856
519
807
564
634
557
808
542
973
728
870
631
578
818
806
925
805
964
943
914
633
748
540
814
759
638
892
575
781
627
659
771
958
512
980
542
588
832
972
534
841
615
887
512
672
675
726
529
948
838
795
888
982
846
958
559
522
893
631
877
562
559
598
551
858
939
610
813
833
991
808
947
938
962
840
586
660
937
858
681
732
570
797
705
829
991
530
630
940
752
560
504
655
804
551
538
647
723
566
867
587
620
731
534
704
948
817
722
521
572
625
796
904
892
751
658
992
947
644
575
995
572
595
890
761
938
976
905
548
647
605
533
799
575
863
950
695
815
698
835
719
816
770
817
905
706
675
830
901
522
949
995
596
502
587
721
881
771
963
824
639
932
613
749
585
711
844
671
547
508
846
735
772
509
572
830
849
766
930
567
928
586
861
737
974
977
890
998
856
901
720
932
951
882
833
683
579
960
947
506
561
615
992
561
515
560
791
607
935
960
780
711
734
942
846
529
852
637
675
950
614
573
815
669
947
763
921
902
744
543
933
623
626
619
501
981
791
605
880
532
743
606
986
900
582
746
534
526
915
796
647
751
771
757
967
878
807
619
927
505
629
789
949
786
861
823
811
831
640
812
594
544
509
556
535
544
943
532
577
925
887
967
829
867
817
552
778
592
582
896
888
508
954
545
933
736
574
680
991
539
666
600
826
645
792
661
533
829
557
986
792
864
784
696
789
536
777
851
839
746
670
558
797
662
622
761
573
999
604
654
689
821
716
814
835
610
565
704
502
726
738
817
636
764
545
513
723
562
643
984
528
969
789
919
923
606
939
736
796
817
534
893
527
699
633
944
911
628
836
741
881
758
834
712
781
570
876
915
658
505
969
686
608
508
612
551
908
518
560
750
615
549
957
617
858
877
781
745
905
860
936
569
997
643
820
521
861
599
795
951
576
633
596
539
628
833
845
804
598
575
512
767
525
597
623
704
608
605
881
920
877
678
832
656
821
590
700
648
887
838
899
641
680
705
588
979
516
541
705
874
646
871
747
780
924
825
792
737
927
618
568
743
577
654
588
649
565
595
748
805
607
645
720
858
837
712
511
618
749
833
920
754
629
661
925
633
838
826
999
593
734
810
641
628
891
878
992
597
759
743
736
770
656
655
816
679
572
875
816
807
582
655
817
924
791
818
520
625
572
871
959
793
980
914
779
524
864
821
680
972
847
836
509
881
606
1000
724
842
898
831
901
693
939
729
683
570
648
904
846
688
814
749
877
900
807
948
955
584
827
895
873
635
549
845
960
810
686
941
686
919
689
865
503
660
679
804
833
561
651
933
737
717
738
894
885
905
589
554
872
840
750
716
535
761
821
659
821
652
894
915
961
663
958
731
860
894
788
585
900
649
537
592
892
507
989
846
898
866
835
827
870
715
646
661
710
890
507
654
628
716
978
997
681
990
516
624
574
819
970
606
850
853
931
998
802
683
692
517
533
854
635
983
575
710
813
878
899
681
851
591
723
602
844
951
828
548
906
818
566
963
550
525
814
708
931
903
955
546
660
739
565
665
821
874
954
592
840
537
632
884
782
720
613
697
799
527
507
727
754
957
961
767
517
946
534
513
673
766
957
747
560
672
755
823
785
863
696
984
890
738
605
952
682
886
681
563
573
998
630
647
894
859
547
660
788
917
601
824
534
798
541
891
917
986
596
827
903
525
774
979
526
785
774
655
564
588
584
605
580
942
913
799
768
698
670
620
842
588
578
587
787
600
616
588
983
646
537
600
854
904
734
936
783
501
932
541
588
719
859
854
934
768
772
668
698
980
507
530
637
700
854
794
926
947
903
754
945
994
920
865
766
512
981
596
645
958
968
748
659
500
574
963
537
848
539
781
787
988
604
753
874
817
807
830
996
564
819
807
697
792
563
676
545
680
775
828
648
616
885
998
779
733
580
631
873
932
826
555
513
644
941
736
589
888
730
962
517
736
992
927
506
832
533
738
904
762
934
672
649
656
639
778
735
783
865
677
688
855
592
589
740
726
533
791
620
981
960
759
664
804
605
805
573
549
749
511
759
955
657
577
871
782
978
566
573
868
703
734
813
556
607
690
801
672
933
866
781
912
569
715
645
648
653
947
517
630
935
648
657
976
536
834
938
876
511
778
697
596
886
806
965
747
713
940
768
791
745
838
562
649
666
897
916
828
697
555
703
759
829
515
846
629
664
877
549
707
678
720
767
813
838
788
674
507
614
629
620
867
934
686
769
917
525
530
669
929
691
999
621
885
785
718
912
939
962
886
679
706
977
556
629
592
842
650
653
882
754
644
547
784
682
514
815
881
534
948
796
952
754
955
793
860
988
522
740
737
693
672
852
928
668
625
917
962
541
624
941
738
713
909
685
602
735
525
913
633
962
718
900
587
882
908
657
536
855
988
583
505
797
710
777
932
799
761
913
1000
957
720
914
603
828
774
952
780
950
538
575
954
508
568
660
559
849
844
698
984
873
978
827
883
857
651
959
767
857
937
609
690
584
966
856
830
532
849
721
904
716
821
965
789
510
623
936
833
855
809
1000
883
838
581
712
998
800
889
566
616
702
817
661
791
803
711
684
793
767
601
601
731
778
659
976
818
769
539
874
798
543
820
619
697
664
537
990
967
684
765
959
655
695
856
691
1000
785
956
847
544
620
758
860
885
891
926
884
543
727
613
785
813
538
574
852
698
942
568
816
532
590
993
715
680
898
688
705
639
815
603
670
508
571
988
609
708
951
906
854
551
625
767
518
556
973
836
769
694
557
595
866
727
608
831
553
882
1000
811
718
578
572
901
676
764
635
948
534
518
978
812
555
618
809
806
688
669
704
650
959
710
555
799
514
645
593
757
548
596
662
531
640
675
597
692
824
968
784
637
871
768
747
775
994
946
729
580
912
731
780
693
596
670
936
693
837
690
982
722
673
839
577
764
531
521
926
654
868
721
939
580
996
505
912
608
639
585
952
521
942
592
1000
552
792
853
932
689
726
673
750
600
619
802
766
569
544
757
888
908
966
565
886
532
831
923
758
763
759
822
722
608
667
652
577
663
835
621
648
661
962
582
859
555
919
517
810
784
812
702
510
980
605
987
624
882
817
896
908
719
654
988
825
588
929
542
878
588
665
523
910
956
666
733
703
786
714
869
675
847
878
571
516
690
570
627
501
964
602
618
885
571
570
932
605
527
819
854
767
551
516
910
641
860
849
850
622
977
726
665
585
975
519
929
938
926
621
757
854
573
740
654
739
906
843
699
667
930
577
671
900
707
920
673
944
610
761
944
883
517
641
923
911
885
967
515
738
647
936
517
566
738
951
809
964
752
931
973
997
825
627
719
761
675
818
997
682
619
591
962
627
880
699
632
640
785
864
947
529
811
991
955
782
637
673
811
999
692
663
777
774
946
584
882
509
738
629
551
840
851
878
525
626
785
528
933
758
613
806
777
670
510
922
545
913
653
539
973
786
605
973
798
940
511
503
582
664
748
742
625
626
819
946
500
655
556
742
685
709
882
865
905
916
740
583
535
965
814
975
540
680
849
914
802
841
826
966
989
847
752
853
823
699
639
835
588
917
967
686
989
677
588
832
680
756
936
537
732
578
672
838
578
760
513
831
959
662
794
574
632
604
716
604
549
781
731
651
758
815
838
936
642
546
660
842
594
763
832
664
957
564
685
559
756
975
700
965
977
705
762
522
989
739
742
860
623
577
867
937
720
773
859
702
634
925
665
682
854
876
639
604
714
554
536
778
912
661
939
775
549
938
681
923
873
772
689
597
602
856
589
794
797
905
562
672
717
783
749
864
673
770
609
703
899
684
717
816
689
986
932
771
527
906
592
821
765
625
617
958
824
555
610
905
702
602
939
982
941
784
880
594
954
747
965
803
623
821
786
625
846
936
982
706
828
705
523
726
844
717
921
958
769
855
809
506
951
676
609
704
643
658
702
543
675
686
867
867
968
647
524
768
546
870
791
949
990
941
915
782
991
855
837
842
624
765
581
638
977
508
809
572
979
890
652
575
604
711
764
608
622
753
520
790
546
521
977
676
826
846
710
921
690
603
963
767
850
787
920
506
520
894
863
900
733
877
736
536
596
988
525
817
731
543
575
782
554
511
890
856
552
897
922
796
841
756
859
962
689
514
662
576
587
744
641
539
533
775
648
765
541
698
753
693
544
652
512
792
729
789
648
705
950
512
920
927
521
777
808
607
957
933
596
912
878
827
877
512
740
566
995
687
854
535
684
515
646
972
573
677
665
965
975
554
537
628
986
545
618
956
560
785
755
957
750
748
501
880
693
567
571
853
589
654
854
795
604
921
693
822
839
555
624
984
851
880
528
860
783
911
509
528
722
543
739
778
812
829
990
866
671
998
528
627
942
725
786
827
544
744
514
669
880
938
990
776
918
852
804
614
563
745
600
796
538
701
922
975
907
875
953
899
595
674
969
501
830
723
633
595
965
552
564
715
941
519
954
579
525
936
962
606
745
639
708
698
983
799
860
895
603
557
794
737
707
619
514
746
700
841
785
750
927
930
800
709
812
788
756
779
969
648
747
968
726
720
715
503
505
516
552
603
700
993
589
777
897
930
755
916
793
638
885
949
730
702
846
500
510
616
881
727
523
918
620
790
835
739
950
625
722
727
714
748
883
965
733
854
790
597
935
668
677
953
692
908
977
641
721
812
607
758
940
670
694
723
870
741
838
602
650
916
584
829
886
732
543
875
756
727
755
692
595
705
804
842
508
679
500
771
525
503
615
572
564
979
905
743
840
613
674
700
664
739
503
526
996
593
710
665
983
769
641
728
661
790
814
549
551
649
646
904
891
691
946
904
560
684
942
713
863
699
860
774
638
800
998
722
608
511
515
922
849
672
736
687
935
948
816
558
779
996
524
711
749
912
914
732
765
793
651
938
860
501
875
759
748
832
656
903
720
676
765
617
838
837
553
694
715
652
616
627
812
887
661
743
880
808
769
954
791
500
618
907
697
694
925
834
788
592
582
593
976
662
516
835
729
652
674
980
875
704
920
919
584
722
914
658
726
733
739
990
961
626
903
569
597
764
540
790
665
646
933
877
904
795
903
998
644
617
656
580
979
742
781
856
866
555
515
915
803
583
690
981
536
982
857
862
736
952
533
776
663
773
987
632
865
828
849
812
837
769
562
839
514
537
658
615
866
825
976
851
776
855
919
736
679
994
596
863
859
788
818
535
572
569
763
628
959
579
892
825
524
788
644
650
664
521
589
775
711
997
664
534
555
858
852
988
824
961
795
898
879
742
566
944
775
755
658
559
959
604
811
631
684
884
547
951
741
606
525
519
638
721
571
838
651
971
941
538
586
940
593
910
579
721
533
956
856
755
789
685
647
540
705
874
793
851
708
832
589
787
689
850
969
688
581
566
903
701
732
730
931
775
806
841
581
801
908
771
692
891
1000
619
791
965
809
889
790
620
953
777
915
694
508
709
667
516
614
837
762
588
990
723
690
813
819
737
991
790
702
632
770
834
960
816
590
623
751
926
585
696
783
669
631
513
908
567
542
560
876
845
862
738
559
984
902
871
608
875
540
894
551
530
889
551
733
867
854
933
660
947
512
741
950
808
949
935
742
578
809
708
895
891
867
573
813
854
754
918
695
849
890
666
741
560
574
574
621
515
523
997
794
747
901
639
596
924
651
965
573
887
972
980
863
928
600
646
553
556
960
971
925
560
977
680
997
609
641
784
521
567
959
835
859
704
646
862
545
593
882
916
716
938
816
698
641
833
800
675
650
857
846
979
734
822
680
815
993
846
811
565
688
810
658
740
696
781
968
764
774
975
612
622
539
561
742
631
962
792
694
905
687
559
852
734
868
884
830
865
792
922
813
816
727
562
841
553
643
935
545
535
849
760
726
975
577
502
896
635
915
909
519
861
923
505
807
879
626
742
745
999
875
869
693
796
918
514
818
590
900
757
658
815
658
658
543
543
596
545
717
755
711
970
552
681
584
864
959
694
571
727
920
869
856
778
555
894
885
753
737
580
920
528
954
578
680
725
849
685
622
633
549
700
958
767
718
996
755
758
675
827
872
819
659
698
974
965
813
892
565
566
537
742
936
638
718
918
1000
609
638
620
554
762
598
700
546
804
966
572
872
595
591
639
849
562
568
750
730
546
526
690
721
939
576
594
575
814
808
681
787
901
855
677
868
728
582
837
758
931
657
809
940
689
964
567
641
635
857
936
846
778
972
518
965
559
901
840
852
985
750
727
650
978
845
881
642
959
959
874
654
913
803
628
517
949
910
843
805
801
957
635
930
655
843
735
772
754
624
663
776
852
983
755
749
833
857
923
983
728
989
629
962
751
538
726
654
910
611
824
993
674
794
734
655
502
608
797
590
976
593
906
958
721
955
598
882
676
901
799
530
750
919
986
559
866
709
879
932
842
748
636
839
996
638
575
646
611
656
663
711
939
871
693
516
688
724
838
746
976
619
525
617
792
885
523
880
820
614
599
984
801
741
605
965
950
765
849
841
968
596
978
735
563
810
888
833
969
593
937
514
898
830
521
949
778
887
565
588
823
585
964
565
693
928
640
614
746
535
577
916
565
969
729
562
794
625
992
668
937
888
787
603
954
690
754
945
542
946
884
718
765
522
795
828
500
589
947
707
683
621
793
590
924
864
503
595
534
924
958
973
926
972
727
677
635
846
760
900
971
861
528
991
741
642
791
756
830
956
637
811
851
634
615
659
629
804
568
650
527
532
546
863
791
905
514
850
623
656
600
846
986
969
765
549
576
904
993
909
562
771
956
716
893
622
671
546
545
566
833
750
970
913
887
598
907
613
556
848
782
991
666
544
632
675
512
583
731
778
716
927
849
767
753
571
764
989
893
667
759
763
601
817
821
856
822
910
569
807
876
615
581
633
788
698
885
721
545
761
646
703
723
771
858
956
562
797
694
845
638
816
508
977
772
761
939
889
891
854
869
606
699
984
866
570
570
790
598
578
502
552
770
869
887
681
567
670
906
760
953
902
982
973
595
620
892
903
583
543
819
505
997
648
959
786
735
721
595
516
517
879
806
873
802
581
812
735
982
702
646
677
557
555
514
958
958
647
635
716
730
812
598
754
938
700
841
528
859
522
847
975
718
637
836
586
848
936
581
726
730
843
671
884
621
724
782
989
651
685
909
533
985
705
561
518
501
967
955
946
816
765
848
811
980
670
525
607
562
752
794
582
674
559
542
760
633
908
853
929
932
697
874
651
999
689
501
969
504
626
664
669
982
730
884
521
898
647
536
732
849
944
861
546
514
565
951
623
513
509
815
579
627
897
606
507
983
570
925
653
991
630
549
649
966
782
768
887
851
502
960
788
715
820
626
864
538
847
788
760
745
519
847
756
508
936
644
602
841
626
827
988
899
971
631
545
712
846
611
568
681
772
605
932
538
734
749
734
967
957
885
521
776
820
528
684
555
967
874
825
681
955
987
678
958
879
792
938
967
708
954
716
793
603
889
941
593
653
559
850
613
637
676
656
985
896
735
953
649
730
986
949
886
640
669
926
600
828
732
940
842
556
830
523
525
627
711
792
663
551
723
647
592
870
542
798
613
802
618
592
634
913
918
650
550
740
618
730
928
502
894
706
814
676
510
875
894
925
710
606
658
930
780
722
828
520
600
646
966
561
770
514
559
546
703
853
546
914
968
606
584
816
891
609
1000
895
540
720
749
826
594
905
646
608
695
814
562
521
870
635
708
901
995
693
992
500
982
831
978
892
997
937
757
842
732
782
743
849
639
993
905
557
581
702
666
563
918
791
927
938
792
800
582
526
590
781
842
635
623
965
773
982
646
501
745
719
569
832
732
893
626
712
996
647
793
530
737
829
656
906
679
790
993
908
713
846
625
914
783
712
987
522
554
629
806
996
508
780
687
537
764
631
960
940
669
563
636
650
586
753
788
839
891
893
580
749
903
751
924
662
907
809
643
935
628
860
781
736
638
833
735
877
733
953
959
889
845
638
982
884
903
832
810
931
905
865
954
688
948
786
552
934
892
736
646
739
682
661
965
530
642
728
603
843
745
597
827
951
734
937
673
739
833
900
500
898
846
894
799
885
801
573
683
755
683
633
525
597
871
518
945
970
571
816
733
711
955
659
954
640
544
951
708
987
577
531
827
571
679
587
627
602
902
959
712
763
545
727
721
887
993
983
981
927
835
742
891
922
640
525
966
715
806
674
732
661
570
818
532
972
652
741
912
563
687
987
695
999
939
692
645
741
638
603
513
575
764
823
817
948
842
854
564
786
748
601
666
868
751
576
967
523
930
735
866
750
997
902
890
570
592
702
568
588
720
744
528
557
850
661
598
788
776
853
968
669
553
504
578
917
987
548
799
996
685
927
948
983
871
862
840
727
564
924
589
600
610
776
702
582
528
832
604
968
800
832
577
969
971
514
622
516
577
644
930
547
625
755
970
710
909
942
708
726
721
649
967
796
798
542
631
903
664
976
844
962
993
656
865
890
978
982
603
879
839
963
559
814
947
874
676
910
675
942
984
770
606
853
859
752
655
997
805
680
752
658
712
866
713
854
683
957
927
719
972
849
518
788
825
989
875
958
990
727
875
728
829
881
616
600
816
917
923
640
546
827
903
875
908
997
779
856
919
967
630
591
689
726
711
844
569
702
956
559
548
645
506
982
822
842
856
774
565
658
760
612
819
509
900
510
990
558
744
548
975
676
725
982
824
696
891
504
842
864
623
827
725
772
594
841
865
974
612
947
797
887
642
952
750
904
548
853
821
915
969
955
641
820
915
983
946
687
872
621
915
717
970
735
514
558
859
841
892
805
790
534
991
588
763
963
844
758
878
867
837
849
757
721
798
949
868
935
959
863
969
681
683
524
661
581
871
894
551
919
632
638
630
901
569
571
641
950
971
525
559
843
841
678
615
812
808
561
895
824
875
701
812
672
817
642
805
640
534
748
863
904
929
967
694
933
666
988
818
534
833
944
755
754
972
534
522
732
723
766
714
705
660
665
735
669
910
928
878
589
691
573
972
978
889
656
863
740
565
526
918
569
803
863
1000
835
763
925
948
759
823
607
525
865
660
785
906
824
681
754
905
814
924
834
502
772
552
893
672
994
808
682
588
669
903
729
871
759
707
589
859
844
613
889
859
698
533
890
603
762
928
777
522
972
879
638
630
762
949
860
543
946
816
963
542
880
921
704
825
881
920
965
801
961
699
508
532
747
781
792
632
571
886
646
826
668
857
642
563
818
654
796
660
725
975
942
868
914
556
752
749
852
582
819
804
879
856
976
631
688
522
818
624
772
561
691
668
849
552
655
654
621
636
854
852
580
500
737
680
930
874
606
868
605
800
984
913
564
836
859
910
733
736
678
720
758
755
646
785
905
932
928
502
838
829
623
562
790
575
665
513
550
803
965
818
575
763
706
543
672
606
921
692
775
894
805
531
650
566
665
710
908
855
608
837
868
967
663
599
905
681
806
890
659
890
616
698
836
558
532
773
648
854
509
871
700
810
910
505
600
684
958
983
574
893
857
591
838
809
966
869
991
819
795
897
528
922
538
561
643
671
794
547
623
754
720
667
682
871
782
604
502
526
576
670
953
662
976
644
560
966
950
553
622
626
729
976
825
674
557
631
958
728
770
843
728
878
891
577
932
507
722
703
890
577
571
573
691
732
968
950
952
844
533
868
501
875
679
711
762
971
627
828
888
961
736
712
558
998
520
891
505
620
632
848
600
943
876
911
562
957
671
982
702
940
955
502
835
842
618
607
846
967
658
683
835
626
583
866
591
815
849
774
746
871
681
967
505
580
933
605
806
732
765
755
974
860
643
830
629
572
867
548
780
620
872
947
595
956
691
634
854
988
804
821
530
742
509
593
554
686
844
802
740
514
970
578
563
826
616
507
629
908
628
785
651
510
895
597
724
546
513
731
814
574
514
588
808
984
642
887
847
844
646
601
641
987
691
918
577
708
537
861
963
765
552
623
510
895
991
925
691
680
666
832
823
931
681
813
592
732
510
510
577
765
543
901
818
863
978
636
940
892
817
643
863
911
951
594
566
954
889
801
853
872
785
617
684
973
895
692
740
597
914
578
819
562
736
773
693
893
921
699
958
892
845
883
734
570
852
637
966
978
999
512
830
958
632
674
908
1000
960
765
616
768
948
743
932
799
849
995
542
525
588
982
656
900
611
715
848
797
503
883
594
953
868
547
530
583
661
667
515
785
766
645
541
791
979
666
564
843
900
935
556
564
838
646
963
742
659
711
583
674
710
976
504
599
663
777
658
684
765
742
795
832
919
759
915
704
526
998
969
583
593
726
563
950
782
578
542
979
502
584
921
731
924
906
565
720
991
544
835
533
812
706
501
558
915
901
785
656
672
604
759
859
640
658
554
959
590
594
918
841
944
578
566
821
609
818
751
881
963
627
759
982
962
532
657
924
619
776
976
562
597
793
956
681
607
819
795
943
982
533
856
788
791
556
531
944
560
620
723
545
716
517
774
990
964
518
876
742
899
635
913
685
791
511
650
582
846
905
825
549
907
607
979
588
574
899
796
996
968
707
673
507
606
783
580
508
849
616
923
918
568
844
849
997
863
865
764
841
922
597
707
712
961
888
607
548
976
737
867
816
974
671
833
814
552
950
609
736
620
711
681
963
506
747
683
956
935
621
992
794
894
572
929
531
906
686
962
765
985
890
765
727
833
711
931
781
934
726
710
750
906
531
503
967
591
839
817
620
901
531
927
1000
769
861
827
964
557
728
899
822
561
697
658
529
770
677
817
590
918
776
729
967
613
652
902
855
685
961
623
551
823
843
716
973
840
933
703
938
725
669
758
554
892
509
543
680
875
590
764
566
571
772
864
675
525
504
956
733
791
638
925
912
878
661
700
794
960
541
974
582
934
627
841
655
679
536
588
502
790
596
744
899
626
953
989
517
926
865
853
991
639
953
559
907
930
622
780
955
850
798
547
610
912
576
836
854
884
571
936
852
539
525
723
882
874
819
610
966
705
976
512
881
615
542
538
992
693
789
736
827
529
646
839
878
847
500
560
652
688
546
865
625
680
627
851
715
818
645
583
735
616
504
726
763
855
631
731
620
833
859
538
826
754
686
690
523
657
910
717
741
548
515
574
959
603
664
710
522
946
516
505
708
554
734
812
975
503
583
858
747
564
838
613
824
832
675
981
816
534
632
877
782
768
526
584
745
914
949
996
521
583
611
612
858
926
874
965
715
598
720
712
674
545
864
957
937
667
987
595
980
817
666
731
648
941
644
535
670
896
898
687
639
640
522
972
649
974
884
837
649
856
579
797
563
685
741
525
543
801
968
523
643
987
915
579
755
987
819
569
816
803
532
784
699
735
630
986
802
968
535
645
955
847
982
929
783
935
705
506
910
615
857
695
676
601
629
635
515
866
755
905
861
652
705
551
770
995
673
638
788
930
866
641
759
879
760
781
787
783
821
550
636
944
955
541
661
916
945
611
525
997
938
743
576
931
627
532
887
1000
886
921
926
808
557
735
710
561
957
538
929
935
626
723
935
846
926
682
595
518
914
769
867
607
552
938
813
965
899
544
897
633
658
694
712
618
784
910
805
916
865
776
960
742
797
782
887
545
785
530
662
760
620
907
662
836
866
654
901
607
893
983
697
526
533
723
813
636
507
804
853
888
672
742
583
824
817
591
599
897
906
891
605
954
760
560
896
866
608
589
727
847
588
512
717
707
896
704
977
525
686
791
605
978
852
827
674
866
903
692
865
665
698
828
882
837
987
923
541
710
912
711
875
940
572
950
836
835
546
646
567
542
621
604
949
859
543
791
839
882
892
884
673
626
830
913
594
792
602
731
762
740
513
935
810
643
876
860
948
664
719
749
845
846
629
790
895
760
848
555
707
914
502
994
506
630
524
853
644
678
711
574
688
713
986
680
959
692
938
741
804
561
570
516
595
879
951
807
833
914
928
914
885
750
519
853
757
772
876
627
637
964
780
838
742
906
913
700
819
762
840
823
609
543
514
569
937
716
914
830
631
832
512
548
522
992
608
645
888
686
568
637
766
626
541
758
780
868
530
571
606
636
863
905
791
730
608
822
500
867
519
571
879
845
722
656
829
732
900
583
878
839
836
852
841
597
859
617
747
545
929
723
596
676
980
626
796
514
703
551
534
972
886
874
764
608
707
696
870
560
650
655
578
558
903
701
724
732
627
767
763
704
529
726
923
633
846
605
617
806
875
513
890
974
731
917
727
550
862
685
694
868
803
692
887
535
775
949
601
584
982
895
886
501
540
892
823
895
634
520
515
740
539
904
656
549
784
787
710
807
689
624
695
699
833
961
566
618
529
914
598
536
999
643
777
619
787
674
904
730
605
561
634
938
568
985
651
737
537
688
666
986
558
932
833
685
636
650
852
675
936
962
929
1000
850
852
913
846
747
900
818
959
934
713
909
709
920
778
918
821
981
655
762
754
725
625
545
783
581
895
920
656
774
848
972
918
682
970
815
844
964
794
514
886
780
527
589
940
623
789
872
634
933
978
637
936
780
561
955
618
732
957
868
973
698
604
740
625
974
694
872
553
998
531
631
546
599
886
588
627
633
818
801
732
714
654
776
785
834
516
629
718
922
542
746
608
934
536
527
801
698
798
592
875
861
520
606
789
514
983
582
641
882
562
923
876
684
1000
716
668
975
711
503
976
844
847
960
563
587
974
856
821
556
765
870
954
855
759
989
692
802
851
932
689
741
789
859
584
808
925
516
992
597
619
958
986
976
788
966
947
999
516
809
670
848
884
605
660
716
617
727
841
549
940
788
897
669
580
651
909
973
502
514
974
968
796
651
997
982
734
777
815
961
586
796
898
994
785
792
591
662
581
937
993
618
666
804
590
706
916
602
706
716
860
690
706
883
533
798
715
966
731
960
511
954
998
590
883
773
976
615
954
554
943
573
891
912
532
776
948
588
706
554
804
598
838
638
835
948
625
802
503
705
946
567
995
641
763
906
738
590
864
890
719
905
931
528
1000
896
913
944
925
860
769
560
523
521
821
963
730
602
651
573
813
823
530
755
985
858
531
785
616
721
726
919
654
590
713
703
585
517
664
920
706
998
572
760
799
542
721
933
736
690
629
957
642
606
764
635
650
981
515
955
782
721
982
900
793
977
718
703
949
921
681
694
701
555
801
663
606
861
598
744
548
628
515
800
661
902
845
560
776
853
905
647
741
593
641
751
852
659
822
881
880
933
856
926
538
676
874
770
723
820
537
967
807
513
981
680
878
914
768
571
849
785
749
929
814
793
910
902
683
754
772
509
646
600
943
798
825
543
523
904
905
955
618
790
581
974
879
516
734
603
763
888
795
951
656
645
732
760
929
947
630
852
751
790
663
941
783
889
916
935
841
569
823
889
936
549
856
863
865
905
735
523
910
877
607
916
550
827
889
551
951
802
943
811
990
965
971
951
689
896
814
707
783
721
997
803
733
588
601
509
929
994
987
858
791
502
709
519
776
614
984
813
560
533
607
575
964
979
753
549
722
988
853
619
611
685
906
832
971
993
756
547
891
797
704
977
958
734
729
980
692
658
573
646
966
660
993
999
732
941
654
531
811
933
769
857
964
969
920
731
625
667
533
534
707
582
925
683
759
609
918
993
715
995
553
825
675
537
829
655
845
909
943
807
792
659
558
708
649
828
525
549
881
791
842
853
916
913
536
512
827
529
931
701
986
554
661
595
599
752
540
571
910
736
981
665
548
813
835
833
685
825
850
890
846
820
918
547
657
889
965
690
688
857
730
907
535
894
822
791
651
509
879
643
960
725
705
796
914
972
681
942
977
872
575
792
794
969
952
771
953
863
741
768
548
544
857
697
890
909
691
655
925
565
722
762
749
504
738
860
565
820
549
928
847
646
715
897
988
899
837
789
849
831
847
916
524
754
621
959
517
832
729
946
685
746
689
878
684
835
582
543
629
868
972
871
673
747
946
802
956
527
772
782
660
743
714
779
568
622
551
809
907
875
823
609
730
833
908
557
524
861
733
864
803
990
865
577
564
948
664
987
994
645
650
761
621
702
837
861
515
855
712
555
761
634
533
697
925
770
748
917
768
716
555
619
604
757
696
870
594
801
758
991
667
597
788
971
524
546
518
996
952
566
689
734
811
505
728
964
717
855
753
590
828
733
974
714
848
854
514
951
846
752
559
691
984
702
780
852
874
689
508
763
907
766
966
533
695
811
512
689
584
569
819
504
829
907
606
818
936
745
796
677
543
840
599
520
887
627
942
689
994
854
656
752
807
805
605
984
945
838
616
805
584
799
736
942
713
975
710
530
765
510
989
966
682
627
533
813
679
683
645
956
820
772
930
584
970
669
753
604
861
533
749
921
522
746
874
827
938
773
637
684
765
676
747
915
608
639
711
869
817
532
715
744
974
853
959
567
595
619
601
625
892
932
926
918
583
683
992
755
704
856
806
584
977
893
931
660
677
666
819
694
948
650
907
744
657
798
925
673
747
971
932
656
597
980
990
552
841
943
629
722
825
621
988
1000
547
976
648
921
514
969
555
568
925
616
828
579
520
744
906
648
769
686
910
532
915
645
842
890
604
698
685
988
572
714
834
502
547
780
953
539
589
523
836
505
657
740
651
695
523
998
746
964
662
752
979
810
720
803
745
907
731
931
747
984
646
944
586
568
630
924
849
538
969
679
702
564
928
681
652
570
638
666
734
938
591
869
695
693
521
702
943
536
583
760
587
596
734
529
994
899
874
943
520
884
966
878
861
622
524
814
692
611
829
808
872
748
930
988
599
685
854
766
677
962
819
910
814
853
759
741
833
639
792
831
727
605
556
988
576
660
835
802
977
868
653
618
579
674
558
989
700
519
869
706
580
699
628
796
969
811
530
756
810
584
981
529
780
719
506
959
558
722
569
941
912
520
868
870
670
778
582
820
772
740
801
682
843
548
892
586
824
930
823
976
625
969
602
810
896
527
989
735
735
883
788
896
997
917
868
512
726
692
865
714
895
566
514
934
605
914
548
511
680
885
905
795
702
686
615
501
729
970
901
788
669
878
516
772
939
773
910
639
909
534
916
850
939
964
861
753
753
671
985
568
940
737
841
727
508
560
841
776
984
546
544
868
757
722
641
646
806
724
776
515
629
709
881
900
927
997
689
905
643
534
692
648
994
879
766
816
840
617
905
822
685
905
690
793
962
799
577
916
711
787
765
848
742
747
924
989
730
563
980
876
745
772
519
823
594
577
593
657
736
824
822
782
974
815
930
944
836
738
653
737
823
913
780
555
524
782
952
880
683
621
948
585
604
832
938
888
716
566
712
573
712
914
639
517
762
649
855
871
1000
755
750
680
985
885
687
618
644
946
659
665
750
826
788
932
995
821
944
864
870
1000
586
787
962
726
686
518
624
698
527
607
889
558
955
894
803
509
522
608
540
731
797
506
955
646
657
826
751
907
576
1000
544
813
770
659
551
733
958
543
875
849
883
810
927
829
574
623
646
806
734
865
622
752
521
910
970
536
758
947
744
787
976
530
637
856
611
842
723
722
575
677
754
709
649
657
819
797
789
946
804
986
713
535
646
817
996
626
927
796
774
694
829
561
641
766
645
967
701
766
891
698
561
656
714
631
977
925
998
574
902
916
537
790
796
543
618
948
935
638
763
777
790
631
794
954
845
892
806
599
674
541
644
625
907
867
673
905
501
702
545
882
790
649
932
530
517
998
992
587
706
792
602
581
789
755
779
782
837
635
783
805
568
817
909
565
709
876
947
609
772
619
557
593
849
715
577
738
756
750
690
900
640
917
600
816
552
916
705
988
505
657
570
782
934
805
947
572
620
998
637
893
825
945
668
831
561
556
717
846
800
643
846
699
764
531
682
520
970
860
850
832
737
635
908
975
621
638
996
970
803
950
710
737
837
997
537
537
774
902
906
703
633
885
723
781
806
590
548
564
590
673
809
966
848
823
569
731
768
654
895
640
865
590
919
863
834
512
990
843
855
832
543
503
927
557
871
543
906
691
593
762
538
911
726
525
869
526
508
645
656
859
773
532
857
640
583
601
594
925
665
941
720
974
690
686
556
549
580
702
692
664
982
536
686
846
642
620
966
526
908
608
904
622
802
564
655
889
902
873
667
725
958
727
805
534
690
867
642
849
795
761
538
939
882
559
717
734
630
754
761
550
715
872
627
861
900
712
518
709
810
848
578
811
647
747
937
855
702
950
709
580
598
777
866
995
789
935
658
668
692
655
560
845
694
910
985
966
748
906
535
920
922
657
599
898
641
797
684
772
853
949
602
649
979
630
994
534
602
636
609
507
607
986
642
987
651
524
650
883
782
572
509
891
786
932
736
843
741
566
905
820
694
567
723
999
504
798
515
678
683
819
559
518
864
602
791
891
642
668
738
737
531
843
864
549
698
661
878
902
750
667
653
988
942
938
603
652
714
640
858
954
524
636
582
661
501
670
673
542
804
796
997
781
842
641
640
650
789
899
746
876
877
513
613
534
817
817
862
922
680
549
516
558
596
795
694
910
788
723
616
710
904
723
726
573
674
749
659
672
791
785
546
598
530
612
816
560
982
719
757
934
902
551
923
802
725
734
545
982
923
676
924
709
560
951
878
791
858
889
799
560
945
664
646
604
722
736
610
591
857
501
569
519
648
585
597
792
873
732
556
559
863
654
864
679
725
811
525
945
595
791
525
884
862
964
545
756
810
622
705
618
596
512
548
994
666
915
942
535
673
860
633
920
758
609
586
924
936
927
772
638
894
733
587
505
909
636
699
919
576
691
845
637
676
682
668
550
836
529
646
740
615
821
735
620
650
948
901
501
690
805
550
746
763
752
898
900
637
511
603
550
999
772
817
894
518
732
979
514
611
898
515
727
545
563
759
900
817
597
961
974
970
557
998
758
828
940
682
941
977
570
966
977
693
908
529
780
751
958
596
946
726
583
862
752
574
801
836
820
599
510
614
570
756
773
633
580
606
889
766
682
884
795
509
814
959
780
663
1000
595
934
856
629
520
715
992
651
883
726
679
748
854
845
790
917
566
923
999
619
516
571
618
586
629
602
691
690
691
817
1000
742
578
547
834
601
595
906
801
976
922
607
789
635
616
780
504
563
891
531
726
766
568
917
897
660
868
574
590
807
851
519
731
849
861
533
939
812
893
848
982
848
983
667
926
613
599
899
941
995
934
619
672
751
828
529
999
802
697
779
602
693
767
797
509
549
719
826
712
865
782
529
690
597
676
584
582
933
996
642
656
544
842
922
583
670
649
995
749
608
893
615
662
678
764
742
972
668
716
827
839
794
799
620
987
565
611
910
645
635
653
506
779
608
754
716
731
538
561
883
553
738
645
666
814
845
740
896
758
911
966
567
861
839
882
760
641
655
710
536
595
678
701
803
769
912
632
627
784
905
872
920
886
539
654
815
528
729
752
837
752
800
546
882
989
906
805
668
803
939
983
936
885
872
958
989
764
555
969
946
877
731
961
648
972
568
732
976
670
531
702
769
946
666
895
571
841
744
984
552
753
572
743
988
515
531
772
800
897
935
512
881
728
501
885
748
722
929
649
925
696
960
787
535
859
943
904
657
652
932
767
688
843
592
828
975
733
940
618
975
750
683
504
860
696
588
671
564
746
516
600
504
780
626
547
950
947
942
733
591
798
812
932
612
813
717
534
616
779
836
897
996
801
928
929
834
985
834
545
957
662
592
722
676
605
669
711
532
682
745
632
755
854
779
851
579
908
896
656
924
972
935
549
858
923
837
975
768
797
748
775
865
789
946
793
663
776
898
697
741
882
583
956
706
733
747
702
766
780
871
893
806
811
782
516
673
896
591
996
855
993
759
783
685
748
849
891
952
603
915
580
560
542
536
700
743
663
819
829
987
939
801
536
933
830
600
976
551
527
969
905
524
931
690
928
875
567
879
565
633
950
674
747
686
941
517
933
544
770
895
763
633
603
695
599
891
831
718
944
867
722
994
788
706
772
761
967
940
923
933
803
721
942
851
697
512
770
707
688
844
861
707
506
595
1000
835
519
584
657
728
886
557
657
855
955
881
766
644
886
976
641
977
720
601
520
784
870
798
823
674
933
649
702
568
690
650
572
733
936
863
728
634
921
804
615
941
737
763
884
950
884
837
973
669
949
932
930
960
509
666
827
650
667
905
720
954
702
586
656
644
595
627
995
849
538
506
901
945
708
790
975
899
733
510
813
732
660
857
699
939
839
794
706
710
548
991
968
770
958
521
884
514
940
610
867
632
534
975
821
663
633
865
780
591
597
942
809
917
644
689
783
728
726
860
880
877
740
749
997
718
927
836
645
506
771
808
965
869
949
502
589
815
577
514
770
693
600
616
961
787
909
709
984
620
586
605
522
884
800
937
665
942
835
883
601
566
730
846
983
537
502
679
585
713
620
710
824
934
991
660
624
629
556
862
993
706
881
839
972
968
840
611
733
545
955
520
881
747
930
622
788
518
590
543
576
619
516
940
765
926
869
777
900
969
703
758
608
555
779
693
807
703
735
660
885
958
747
510
860
954
978
754
981
722
825
872
968
905
931
907
722
967
665
533
902
650
585
621
610
838
977
500
534
741
517
819
527
875
750
599
831
839
844
839
764
754
809
611
620
686
586
914
698
601
729
630
723
575
850
624
767
635
889
641
620
656
907
581
742
918
884
853
583
557
592
810
881
701
619
575
720
945
500
713
791
945
764
674
952
556
895
949
966
947
515
740
792
633
548
650
539
845
693
614
924
883
719
836
964
579
723
808
699
967
894
580
541
847
745
915
909
903
910
536
568
724
737
821
638
732
756
951
625
756
757
630
978
867
759
702
553
900
733
526
950
885
893
557
651
981
524
708
513
523
646
709
550
539
994
937
651
640
529
565
762
886
555
511
560
930
590
889
978
897
800
972
694
953
996
957
877
996
797
930
921
572
647
897
889
661
707
523
846
756
626
862
731
927
817
601
792
552
849
926
904
884
773
981
840
733
896
912
575
509
822
953
588
894
734
951
731
874
812
720
912
728
502
620
752
628
719
623
822
523
514
895
968
766
578
851
869
543
957
748
613
741
859
542
521
778
507
936
604
506
563
998
676
713
904
567
792
564
551
777
739
966
691
642
938
746
862
854
593
935
706
525
703
946
754
968
617
676
725
580
670
955
758
885
794
983
735
755
977
630
941
554
742
779
709
504
677
594
514
856
580
554
810
950
974
580
616
629
724
896
695
976
889
954
757
958
534
690
615
794
938
609
919
845
997
958
832
857
891
816
528
703
552
981
542
942
852
797
689
659
970
523
561
838
795
868
563
759
936
805
981
925
527
886
762
848
665
515
637
827
685
640
840
544
538
772
544
937
548
978
583
702
548
618
742
515
601
549
532
866
991
932
798
678
835
572
793
809
939
874
884
933
561
778
797
570
977
596
506
613
918
925
520
985
642
984
920
886
668
766
786
631
732
785
845
557
671
787
557
862
876
800
988
740
889
789
874
725
807
952
769
961
666
586
692
978
678
945
812
832
793
600
624
503
767
513
822
708
757
786
953
722
834
871
613
680
877
558
572
507
663
888
628
582
626
567
609
822
542
972
739
828
963
998
639
738
760
621
894
587
980
885
764
783
696
974
722
995
983
619
695
758
951
915
809
695
670
732
689
515
985
786
712
593
755
727
933
727
974
918
757
575
995
785
815
731
879
741
659
674
824
837
644
845
883
811
578
867
564
658
509
950
960
887
892
985
924
745
581
524
795
881
786
594
661
978
984
920
811
611
519
906
604
947
843
805
810
564
993
993
906
529
820
627
985
688
836
577
882
988
588
812
843
986
985
658
857
991
980
597
644
867
536
579
748
898
656
928
573
739
820
730
770
896
701
798
931
859
771
917
756
999
651
509
770
738
778
944
733
872
632
698
907
753
974
987
919
983
658
543
938
675
839
735
949
699
728
535
636
931
580
892
726
605
884
885
904
688
770
909
878
551
838
767
989
866
898
608
686
763
886
897
846
979
954
926
892
682
567
658
664
534
856
782
562
648
921
697
525
998
967
721
716
915
548
809
993
707
895
630
805
643
632
883
944
888
651
612
707
989
961
605
934
954
701
976
655
995
677
868
522
795
915
745
548
914
807
688
638
772
856
579
516
655
938
533
520
605
905
804
721
738
829
761
535
936
855
565
608
753
976
770
705
531
753
915
653
874
509
845
785
558
930
777
759
802
967
899
571
580
568
809
693
580
923
795
518
835
928
903
676
787
792
902
813
823
500
762
589
774
965
774
634
876
677
812
827
672
863
608
672
925
847
729
605
911
660
960
758
620
750
661
531
828
559
521
589
645
808
731
861
512
959
988
735
779
872
568
826
520
506
587
989
585
666
724
603
763
909
892
540
610
503
554
561
976
834
595
505
711
940
574
601
702
828
955
745
586
937
726
897
885
591
861
609
876
994
777
763
903
947
979
511
624
545
778
648
860
934
672
746
965
542
705
875
634
705
696
763
878
611
507
743
695
757
975
545
525
620
867
688
674
885
851
737
790
833
611
909
588
700
732
661
707
791
576
577
900
968
582
540
565
567
765
691
623
994
785
620
924
988
945
645
582
704
659
953
593
588
761
788
642
789
932
571
694
907
884
896
956
728
815
941
626
634
889
836
562
541
883
966
597
540
936
877
776
585
524
576
632
573
675
583
517
650
915
962
506
699
757
684
713
606
532
747
863
828
739
666
745
941
996
645
992
748
913
812
765
522
804
680
715
558
761
620
553
705
794
650
909
756
901
813
715
532
517
763
983
954
679
542
698
809
715
797
572
733
837
841
966
560
987
534
979
520
702
656
810
909
882
945
949
620
706
891
955
766
652
936
727
981
648
553
872
775
592
508
625
895
884
702
789
871
688
675
634
633
922
893
580
893
956
655
589
879
870
614
621
700
710
864
851
601
777
576
565
784
712
700
615
668
601
907
878
518
523
801
768
665
768
697
752
722
889
580
733
609
676
745
716
584
946
679
585
856
642
805
811
708
989
700
935
660
838
822
536
833
912
869
617
773
766
781
537
893
819
681
968
537
673
543
583
683
988
711
659
620
767
535
626
555
879
912
578
516
703
515
834
743
820
528
548
531
788
949
781
805
803
980
709
673
623
819
808
627
944
838
869
965
648
892
970
896
569
822
681
989
572
587
949
902
806
812
733
951
592
840
581
647
565
522
652
832
804
524
513
867
750
876
775
785
504
615
999
644
773
641
788
821
998
545
792
901
505
764
878
574
852
549
685
585
664
692
905
631
988
785
934
609
926
640
750
811
849
679
988
845
641
536
540
610
802
899
598
519
587
550
916
512
756
728
922
626
633
604
923
739
957
949
564
930
883
981
815
863
593
511
626
864
806
907
825
738
562
912
885
616
685
768
907
796
890
894
995
853
696
979
912
531
953
768
596
812
514
617
510
609
915
986
686
507
865
853
657
711
885
695
915
529
871
872
842
864
856
846
963
577
866
639
753
583
604
967
748
968
635
944
851
751
545
656
976
520
847
697
568
696
533
945
994
660
529
799
885
988
668
850
656
639
792
838
726
798
831
622
752
888
887
697
555
977
762
767
701
788
816
745
929
965
818
698
600
929
953
683
572
682
695
536
984
531
569
525
566
511
806
714
645
860
857
680
823
757
936
571
922
793
884
980
972
557
581
703
793
973
534
600
813
739
800
529
974
820
945
949
521
659
718
685
537
835
924
849
859
976
556
634
650
722
540
815
776
843
677
585
725
620
559
630
732
962
895
532
804
536
665
685
847
689
508
663
565
618
867
890
752
625
739
617
648
619
754
918
859
608
640
822
729
783
753
685
570
895
608
753
943
848
614
826
768
658
646
703
837
873
891
600
930
935
988
975
850
664
609
527
746
710
782
974
548
535
677
645
926
649
799
904
681
526
833
504
878
589
573
697
895
896
636
919
613
899
903
932
851
767
890
779
501
955
672
675
673
716
694
634
786
516
597
979
502
781
688
720
562
769
794
604
703
514
822
973
925
670
911
587
899
941
547
711
953
791
964
762
967
990
903
537
622
662
763
653
718
759
855
772
550
915
571
695
856
756
649
631
970
550
872
608
573
920
933
590
588
735
684
873
816
646
773
1000
680
619
816
914
630
760
839
898
689
541
865
675
904
815
951
728
806
999
926
545
648
883
577
762
732
600
968
635
590
849
830
997
916
865
821
800
619
770
995
695
588
621
767
521
835
852
649
513
670
505
598
544
544
849
814
877
554
949
882
515
810
598
922
968
788
704
749
999
565
906
526
996
1000
709
756
567
681
698
680
884
590
777
977
980
616
1000
711
576
565
668
917
530
618
684
964
993
783
611
665
669
928
846
892
833
715
806
751
598
632
914
973
959
573
824
597
509
832
677
853
855
625
659
869
885
534
735
800
602
947
623
784
925
665
911
542
981
940
913
697
600
501
606
551
648
586
926
569
940
578
771
868
627
671
871
622
866
712
609
704
776
682
795
966
678
639
879
641
925
564
564
636
582
998
998
588
736
796
785
974
784
975
821
774
981
627
781
861
619
661
527
857
945
717
885
934
643
619
924
798
575
632
979
996
768
889
692
702
865
807
874
560
826
607
907
957
860
642
551
845
812
702
787
987
823
734
758
658
722
915
827
677
730
851
851
676
695
986
692
787
723
845
703
758
541
607
716
609
873
666
657
718
854
795
887
709
517
515
874
798
935
621
571
642
506
968
642
612
507
513
886
746
569
649
766
767
701
615
660
827
947
966
896
666
742
707
993
584
956
939
915
727
664
969
539
952
893
742
790
537
543
703
586
604
604
548
817
639
797
729
605
724
806
596
951
930
751
541
760
803
993
640
608
720
615
693
623
597
810
532
500
654
638
573
620
732
925
945
759
639
794
831
967
865
553
876
744
619
855
875
713
665
840
999
830
927
859
722
830
511
500
816
529
758
717
977
788
822
653
951
837
560
723
600
654
984
892
844
771
939
884
500
580
771
886
736
548
744
777
687
616
900
604
1000
742
873
870
535
871
663
908
564
578
937
520
749
610
801
689
943
755
917
622
997
604
949
689
591
758
802
557
749
903
794
791
926
689
906
740
962
838
893
894
528
931
663
873
681
770
658
926
925
516
908
843
737
612
685
664
877
599
985
991
692
616
649
644
794
643
605
979
810
889
830
882
668
759
665
953
676
672
939
618
717
662
580
768
881
708
959
536
630
573
835
793
920
866
924
591
736
841
755
545
756
980
691
593
742
605
916
518
740
830
792
703
546
834
773
825
789
897
667
544
937
573
521
827
898
923
946
634
594
734
697
799
950
844
954
686
970
646
889
749
515
611
957
914
875
754
596
508
579
672
931
890
641
647
671
569
807
615
944
559
945
835
995
851
837
627
850
553
648
811
673
775
827
567
913
652
756
965
565
976
920
617
853
670
936
593
584
698
836
853
521
603
813
908
514
824
923
891
709
540
554
706
533
961
600
553
502
774
965
553
670
743
558
974
973
558
700
776
508
657
899
809
724
516
885
910
997
624
794
613
910
503
515
800
857
790
854
925
670
927
688
656
610
792
915
708
687
636
578
983
597
842
917
800
992
851
973
719
611
693
928
918
831
893
663
513
703
899
679
955
649
546
745
635
676
755
584
958
739
553
994
829
534
875
931
912
597
951
808
650
918
770
867
600
848
831
588
678
558
974
687
643
836
708
585
890
968
917
659
804
545
603
755
798
544
781
789
520
659
597
686
501
870
624
624
802
590
630
720
931
898
976
760
741
773
501
898
976
862
587
583
908
557
813
966
508
552
814
605
922
764
771
628
686
941
859
1000
645
594
640
928
899
863
901
773
625
575
916
626
572
967
980
855
917
612
510
883
702
978
712
789
521
589
804
745
787
907
764
707
926
601
896
934
946
878
593
855
793
771
602
643
578
963
560
695
502
891
985
951
733
902
705
745
690
835
755
523
621
551
625
627
583
565
646
840
857
791
913
652
831
701
729
968
821
842
782
680
956
861
953
962
824
654
864
999
1000
834
797
640
529
530
807
915
835
949
798
959
948
864
915
726
701
609
751
731
839
653
908
557
817
520
639
573
843
633
982
504
882
509
712
873
626
730
959
916
825
972
912
566
796
706
675
526
718
561
658
748
964
653
567
657
639
708
786
993
670
859
929
865
961
948
935
984
846
605
525
627
970
793
527
800
954
685
829
806
646
962
565
986
763
701
929
991
919
555
633
684
963
958
873
922
609
940
929
755
612
688
588
913
590
604
885
934
667
779
920
700
564
974
541
895
882
943
891
638
564
845
540
663
572
736
712
597
858
651
815
561
1000
762
938
836
947
865
507
597
884
998
715
908
550
794
682
575
547
636
995
757
891
855
524
540
643
596
587
933
980
829
623
682
834
508
550
704
793
867
554
505
856
743
608
572
933
637
922
671
658
918
792
628
679
550
646
529
952
568
764
905
818
556
707
843
609
783
856
768
988
856
956
813
844
571
550
950
631
869
922
913
750
866
755
585
654
662
639
981
943
699
757
722
651
588
874
955
853
897
746
791
625
830
964
712
517
546
619
904
790
541
910
723
644
531
509
821
891
685
895
626
838
719
725
754
594
598
729
501
633
510
811
827
901
740
786
595
711
600
559
643
963
667
758
776
977
646
609
981
824
547
940
504
532
837
957
937
582
504
668
909
664
624
866
602
971
502
914
623
635
551
924
603
855
851
784
540
587
796
929
895
881
512
714
967
979
614
526
752
643
542
781
675
856
774
596
912
795
635
608
662
906
992
526
598
931
669
604
982
875
511
985
520
883
786
851
808
829
546
700
836
981
883
606
985
690
529
823
546
887
893
974
505
879
611
787
826
508
594
772
907
712
806
690
737
664
705
602
610
947
849
564
858
962
535
793
895
534
791
615
760
919
757
928
824
806
896
925
616
991
993
657
564
912
852
734
766
937
519
840
574
998
673
870
924
517
783
904
503
753
592
760
567
632
724
951
802
801
534
515
992
579
818
860
707
587
753
763
838
611
942
656
649
770
773
955
645
701
894
512
706
817
636
767
735
939
952
993
566
642
537
735
669
587
533
615
710
593
936
935
578
911
762
586
500
673
779
942
908
807
833
534
683
561
601
887
563
796
620
769
750
788
786
905
997
708
580
538
761
961
978
771
714
602
864
709
557
902
614
609
503
543
614
820
808
1000
566
805
966
546
619
815
907
931
661
815
714
717
921
562
885
849
968
834
585
506
916
785
859
923
555
745
594
687
698
578
742
918
665
772
863
905
719
937
559
800
600
527
852
721
943
811
548
858
775
896
865
649
983
887
683
851
934
753
916
970
661
694
826
637
770
882
622
996
801
600
749
562
652
759
798
550
625
838
755
890
854
784
505
533
596
792
509
846
823
684
757
851
835
533
624
977
657
653
603
736
610
721
616
588
889
936
675
996
564
960
754
727
962
683
837
944
812
572
853
954
656
825
795
985
623
696
790
707
925
931
745
873
890
824
647
933
542
973
958
698
966
894
606
777
739
557
637
972
858
903
992
579
796
723
880
635
645
994
555
721
739
725
921
686
778
555
838
681
946
534
725
963
511
665
885
750
558
929
689
543
789
825
772
728
693
929
516
602
772
893
541
902
743
794
671
507
813
797
869
689
841
588
930
518
633
567
521
869
831
504
772
636
811
966
972
748
628
760
568
799
724
742
811
888
842
502
779
976
943
547
620
658
551
761
730
919
961
550
712
972
906
516
737
625
519
716
564
785
878
987
873
997
652
905
675
810
811
567
716
657
646
846
663
522
730
935
734
967
519
576
512
794
676
834
627
685
642
623
863
722
806
794
631
828
971
734
852
703
986
624
750
554
592
833
735
757
770
847
867
530
788
685
869
802
786
735
573
867
812
931
717
889
822
673
747
923
542
855
581
605
733
896
622
940
857
867
814
795
976
557
721
860
991
936
988
910
687
723
848
864
586
950
823
843
708
718
809
859
765
611
986
514
590
807
611
596
983
849
511
977
653
750
638
887
659
996
830
553
512
991
560
622
951
839
971
569
971
758
538
885
533
561
569
575
597
875
640
821
808
898
700
828
851
949
867
974
645
755
839
833
946
511
921
725
528
938
866
645
899
924
656
809
864
684
760
938
980
599
801
564
688
855
505
961
605
897
507
657
984
503
574
619
646
535
761
889
526
660
565
708
570
967
775
970
556
794
785
640
627
924
735
603
669
771
745
891
756
971
920
546
893
893
954
547
641
883
634
987
588
571
734
782
739
709
789
786
588
588
603
976
726
766
745
841
762
830
656
808
896
683
888
786
980
608
913
658
880
851
556
539
890
967
800
922
509
704
855
517
715
782
858
738
802
862
761
900
829
708
600
835
748
866
736
685
978
811
753
864
599
911
665
757
542
983
671
896
512
511
605
755
785
901
874
652
783
883
624
697
770
562
643
942
700
675
790
601
737
980
560
938
793
501
831
634
851
662
541
867
830
946
628
503
795
598
887
583
578
665
875
670
969
873
531
960
761
709
999
828
811
589
750
817
555
753
506
507
917
641
731
853
937
924
746
536
555
906
588
762
807
510
715
890
608
747
881
706
944
836
674
895
750
678
659
718
639
838
661
921
817
775
505
929
793
948
639
531
763
816
941
915
800
508
957
852
678
833
817
896
745
974
700
847
863
898
618
970
627
618
685
733
840
600
727
543
708
616
923
747
962
595
977
607
607
856
901
720
822
819
707
768
943
802
860
735
882
620
718
964
583
900
880
602
629
713
627
945
939
789
992
683
869
711
769
958
525
726
684
572
642
1000
998
798
596
857
656
644
668
766
836
867
972
762
867
530
698
878
921
533
784
824
627
852
632
852
805
694
793
687
643
917
570
564
639
596
842
951
617
606
833
897
615
673
895
702
910
824
583
808
956
678
535
759
965
913
620
747
541
646
873
952
816
771
715
617
906
958
605
621
518
820
670
924
934
522
742
879
829
696
563
607
922
764
666
928
847
750
697
661
867
516
968
521
656
729
768
1000
725
962
859
893
556
592
726
695
881
736
705
746
554
823
546
761
890
829
944
867
826
874
913
674
732
866
934
504
626
800
965
549
729
881
784
553
745
956
973
749
613
874
638
818
519
630
670
631
849
637
723
735
532
933
971
700
842
951
744
949
863
521
693
972
598
653
800
653
539
798
523
695
938
983
714
859
859
964
682
780
722
951
917
706
595
749
987
541
873
683
920
872
884
885
510
915
759
882
584
671
542
522
776
992
686
761
708
722
831
674
867
961
723
949
956
865
629
815
819
606
724
811
691
522
873
669
829
666
649
720
842
960
920
612
741
983
832
898
959
604
958
751
978
777
698
731
576
655
763
898
986
838
502
743
731
990
961
710
943
670
768
992
616
909
731
879
909
756
661
931
688
778
784
830
632
630
670
749
969
917
792
817
623
726
753
560
969
966
953
554
765
627
517
653
649
874
787
944
799
605
965
870
926
574
846
958
537
548
827
708
718
807
770
639
521
904
891
871
548
958
900
612
980
930
921
910
682
985
757
801
599
744
777
981
610
580
764
575
818
622
835
501
961
732
896
943
915
575
810
977
930
562
820
807
664
941
863
666
592
820
916
687
836
913
673
580
502
553
596
647
942
769
815
730
709
685
563
747
928
941
642
506
632
961
868
689
972
651
647
569
550
899
713
616
714
663
526
835
919
601
899
526
982
855
739
947
505
794
791
966
578
785
557
699
889
917
736
525
564
673
657
880
725
623
836
963
837
893
586
823
554
820
979
963
709
529
735
931
824
891
798
818
640
713
640
810
921
775
739
677
643
627
954
822
816
690
858
503
697
783
517
533
585
906
568
747
927
948
745
892
758
799
530
719
924
906
699
660
964
831
740
744
720
744
849
616
727
878
781
799
869
621
744
702
827
993
683
747
811
726
502
957
943
585
563
615
786
759
936
885
898
790
930
862
640
656
657
915
846
897
734
665
913
648
881
863
567
995
674
826
695
871
956
611
742
535
955
662
728
989
768
618
519
948
876
674
870
994
884
505
871
745
666
935
778
757
825
573
681
930
958
559
858
604
656
775
824
858
674
738
976
644
921
702
635
670
821
808
961
702
893
650
631
736
632
910
560
989
919
638
753
843
956
739
701
769
656
885
530
719
732
821
523
769
606
789
560
802
647
693
674
750
570
816
505
631
883
709
949
653
573
854
808
782
731
708
946
666
896
976
812
724
706
890
610
699
739
629
796
861
689
602
762
601
502
969
838
877
646
707
940
541
891
926
804
839
759
517
631
831
666
943
925
603
826
884
612
705
790
652
920
689
919
504
935
955
815
672
974
945
634
839
921
525
870
899
569
649
883
917
610
737
916
913
952
827
592
789
854
709
771
963
941
830
887
793
788
510
525
935
794
735
755
832
534
718
941
803
608
773
857
501
866
875
829
694
602
847
712
652
665
579
796
951
912
589
526
664
694
807
632
971
950
849
633
652
562
996
742
778
688
900
813
767
976
584
897
843
543
915
830
658
830
686
654
637
823
724
910
919
976
734
927
777
757
528
816
728
864
526
810
977
695
567
898
544
646
972
585
524
509
526
890
907
946
616
813
559
522
593
735
610
770
585
584
930
712
683
691
825
529
752
744
538
961
956
850
558
695
552
870
694
797
657
811
809
878
518
584
875
937
956
748
907
558
819
538
627
588
903
604
775
832
520
700
874
918
535
915
949
806
714
748
918
845
661
524
692
647
575
864
795
964
973
686
526
908
751
569
966
544
695
829
759
652
578
811
876
547
536
727
860
596
819
815
748
518
752
620
687
976
588
864
1000
522
581
525
905
951
996
882
805
626
632
871
797
911
960
721
553
511
532
511
571
989
542
553
973
914
620
573
734
882
622
984
866
537
828
948
885
577
735
644
764
769
847
883
950
559
685
553
573
571
654
505
655
776
537
742
672
607
899
774
533
847
545
702
696
904
633
981
932
875
568
700
844
616
968
644
717
546
532
506
514
683
715
755
881
631
733
927
610
593
884
736
540
507
903
533
893
812
570
587
949
517
927
583
786
865
894
995
610
876
997
571
877
578
971
653
919
714
585
720
727
847
967
842
961
686
985
991
591
704
910
871
633
991
757
567
784
848
594
985
865
849
978
723
788
908
806
713
585
764
911
572
635
899
513
686
657
694
699
837
800
534
780
896
902
638
659
538
867
926
789
512
669
662
983
881
779
907
976
980
965
902
871
790
664
861
968
670
511
542
519
807
841
973
687
789
968
769
602
706
763
871
615
504
627
702
592
865
981
818
576
949
753
728
513
642
596
783
600
798
924
874
673
596
856
786
919
792
942
582
872
779
738
520
988
609
834
831
976
567
683
860
723
918
604
789
713
992
621
777
901
683
858
712
657
775
923
901
525
765
989
567
523
590
918
907
742
510
948
954
887
762
606
944
951
610
882
859
505
733
869
643
833
1000
926
578
571
738
864
909
599
737
958
914
658
523
864
882
830
767
920
697
938
798
723
895
825
546
619
961
515
919
918
709
803
957
816
960
618
558
606
687
563
957
573
548
929
997
718
900
621
691
639
633
981
697
612
915
630
841
526
604
886
936
538
685
858
569
970
807
523
918
957
900
884
780
654
548
671
932
970
596
847
889
890
538
819
880
595
788
623
525
555
789
745
634
664
812
567
940
515
610
642
888
704
967
742
975
827
865
514
921
998
853
591
941
714
772
617
818
505
695
737
542
847
523
860
826
953
619
821
684
597
940
974
914
734
846
779
774
756
629
952
670
739
987
934
935
672
698
629
627
717
730
721
586
875
835
661
942
901
737
554
556
892
818
992
906
996
949
751
745
879
785
747
684
665
863
725
899
718
607
813
590
546
675
584
703
799
779
609
865
596
983
835
857
713
803
634
982
535
852
957
919
761
971
765
719
610
763
933
944
730
753
585
715
777
624
508
680
687
500
747
941
890
800
966
938
934
588
648
901
986
966
533
924
597
941
563
604
684
873
714
965
631
800
710
936
892
538
601
553
612
824
745
750
974
753
986
599
945
781
720
601
656
920
895
688
797
980
731
868
831
756
876
582
648
872
955
945
865
826
940
741
588
521
824
988
777
997
662
578
918
826
724
621
915
641
539
548
549
662
629
756
630
730
672
907
927
509
643
637
716
627
902
784
822
981
858
921
942
992
720
670
523
752
986
582
583
849
822
878
772
526
688
552
684
710
754
898
861
869
895
686
790
757
755
597
910
938
575
825
663
881
828
716
869
906
604
762
890
811
862
996
686
623
722
769
756
977
843
828
766
605
552
740
841
605
867
702
654
910
627
986
508
992
648
792
539
551
861
774
699
727
691
576
948
680
981
803
714
621
519
907
521
682
565
531
520
608
527
982
976
830
951
784
756
630
989
737
999
688
950
897
959
944
561
835
682
610
856
726
829
629
537
691
928
861
790
506
716
994
768
593
535
866
831
758
561
579
990
567
647
729
998
896
590
782
983
500
560
517
602
922
661
902
715
807
571
784
712
782
615
954
530
643
820
658
504
719
788
558
661
890
516
520
889
599
760
802
803
769
826
565
895
511
887
524
659
713
577
757
697
835
689
933
857
671
660
834
901
514
513
832
635
716
871
848
950
827
633
746
563
822
853
675
837
903
541
601
786
629
980
734
766
999
507
708
818
691
888
605
568
797
661
608
926
877
764
555
598
828
852
694
720
857
514
623
813
796
847
698
874
827
999
789
767
889
670
632
764
536
597
808
826
895
917
610
678
995
740
690
950
898
834
939
521
808
807
855
793
796
740
805
737
667
946
535
990
524
527
538
579
855
551
955
908
619
771
767
650
878
720
588
886
932
808
636
951
526
940
919
943
898
583
674
922
689
830
543
985
757
689
680
559
771
516
651
890
590
573
692
629
1000
800
984
596
627
750
738
652
542
584
863
989
934
830
730
712
876
791
888
558
850
744
762
702
951
502
752
620
689
845
687
838
871
594
552
772
938
800
609
518
665
701
575
662
961
857
524
987
790
971
845
659
618
773
941
546
564
531
939
920
682
786
967
657
861
577
504
598
624
745
882
547
606
534
774
825
755
740
726
856
992
826
650
567
709
818
736
792
590
925
712
663
915
552
683
747
578
830
767
874
649
740
700
764
674
833
998
886
918
535
508
817
769
641
549
981
715
770
729
738
580
566
773
696
906
943
528
574
677
844
867
945
500
973
536
665
654
655
962
783
670
839
885
611
783
995
586
847
916
871
576
793
980
676
599
674
778
852
730
566
848
505
549
822
838
835
882
537
678
701
775
812
861
629
878
736
527
579
968
718
965
783
586
895
587
610
818
822
728
507
960
759
925
808
777
533
539
817
803
646
906
827
929
674
901
965
702
659
677
866
842
548
838
804
581
517
747
812
509
564
501
890
869
898
646
567
696
679
607
561
899
697
655
943
793
886
897
707
906
643
507
521
819
763
849
607
893
845
604
941
728
759
557
527
818
707
789
842
842
661
568
863
581
536
750
568
885
863
725
902
816
948
871
613
855
734
686
758
780
833
924
591
623
959
908
718
614
691
918
611
878
999
874
525
978
623
622
555
670
789
712
906
570
735
769
871
907
502
875
804
734
902
953
923
914
500
657
636
500
722
958
720
647
749
890
689
937
834
518
660
842
912
873
868
586
603
596
767
500
589
918
531
502
506
517
810
981
505
648
866
626
520
927
629
979
749
753
609
677
874
535
851
715
816
814
594
538
902
960
772
698
631
515
828
608
863
659
628
600
593
504
909
955
612
687
608
695
634
782
802
885
928
745
768
517
770
963
936
741
927
966
851
518
542
777
836
685
733
817
998
918
811
562
907
572
567
858
526
822
608
707
527
592
980
971
979
505
575
593
706
559
588
687
516
852
544
777
531
945
534
963
618
985
548
555
528
858
718
799
986
790
671
520
542
660
522
987
547
900
954
585
872
940
894
885
976
976
664
687
847
568
827
624
976
594
890
919
664
624
788
563
673
686
836
733
963
725
591
819
794
864
697
659
851
812
649
962
808
523
912
679
679
752
645
900
639
789
734
561
803
702
591
968
694
582
839
630
515
509
767
545
907
515
585
791
931
760
686
714
525
780
698
912
538
871
535
853
865
788
718
700
895
574
932
798
694
968
816
749
908
744
580
600
776
776
773
725
676
596
702
856
732
638
577
704
689
783
815
737
664
981
573
567
577
979
571
836
865
991
609
821
555
549
997
869
579
803
565
765
800
718
942
534
530
777
523
915
783
904
853
520
628
730
580
947
572
513
549
595
789
857
808
543
776
772
857
726
932
514
924
865
995
551
666
878
690
904
604
849
753
661
609
631
542
853
594
762
554
959
822
935
933
602
986
594
622
646
713
778
641
778
576
704
627
639
570
619
856
571
620
671
550
860
968
637
684
866
973
705
590
513
647
750
920
792
849
936
713
624
738
659
966
581
696
608
693
819
954
722
932
921
649
916
891
831
937
798
779
511
601
868
952
655
800
530
569
936
983
874
780
667
869
966
688
942
608
673
901
820
880
822
723
679
520
606
792
753
990
542
548
881
950
696
953
667
704
930
523
824
820
655
756
771
828
702
558
859
858
627
890
813
549
593
785
654
555
814
918
500
551
933
722
582
656
915
715
700
754
709
946
754
852
797
605
536
724
854
753
676
802
923
603
757
623
522
515
952
617
501
821
893
925
712
864
749
903
722
608
720
670
558
512
562
780
510
627
598
847
620
650
796
771
911
851
626
803
888
527
530
732
857
748
758
534
621
547
501
615
821
852
547
623
858
663
743
956
773
913
994
696
853
930
752
834
883
700
720
723
703
829
821
777
979
894
740
909
993
794
513
970
736
505
545
877
828
798
550
935
855
873
701
691
823
547
828
517
640
578
933
845
959
530
675
975
505
653
712
587
764
561
957
964
573
962
598
602
930
771
927
962
650
510
726
724
924
513
845
744
506
777
963
644
560
842
565
967
787
823
780
683
953
673
855
600
974
822
929
823
731
890
729
812
697
977
593
835
744
673
893
931
896
709
646
921
616
617
694
604
901
761
765
559
709
807
945
724
861
716
926
850
587
767
968
777
696
714
996
855
788
625
850
553
731
514
643
785
623
553
859
514
545
561
559
804
720
661
886
975
642
827
635
658
895
544
531
502
880
682
637
719
617
751
914
576
768
962
854
745
696
545
544
971
527
800
593
964
677
576
965
833
578
871
609
945
889
790
769
591
691
762
854
886
877
973
901
621
530
605
693
802
971
784
563
580
657
804
747
918
766
928
587
800
765
510
900
823
799
538
703
664
782
567
731
724
917
872
606
887
896
721
696
786
819
532
759
980
598
740
824
878
981
729
917
872
926
586
972
799
616
513
747
810
948
815
550
649
667
995
689
945
607
735
865
719
912
976
827
960
509
853
820
668
846
907
510
679
623
748
561
872
891
635
714
507
636
715
801
907
827
628
924
842
922
983
606
780
691
966
918
992
918
889
663
963
855
535
991
750
772
662
710
560
778
563
719
836
790
903
919
676
889
517
697
860
908
849
612
520
578
760
741
865
500
717
731
749
867
676
677
934
987
502
725
938
780
756
955
942
554
804
525
530
796
922
724
675
620
629
591
602
710
849
905
628
679
799
514
528
918
737
619
819
929
732
761
921
749
581
743
920
889
993
797
713
988
543
826
534
923
587
651
526
901
558
999
635
875
735
927
779
540
796
932
761
696
541
911
616
627
834
597
659
639
637
975
973
600
801
723
571
687
827
554
647
666
801
676
884
723
711
521
767
537
989
945
923
775
746
795
648
985
973
671
518
641
572
689
722
644
599
584
667
789
816
734
938
762
535
899
576
744
590
512
656
660
965
773
523
583
501
549
795
906
929
844
826
864
578
580
696
626
676
864
826
938
855
585
889
524
828
994
727
568
869
886
564
578
647
794
577
588
698
886
571
751
512
680
764
529
519
735
811
615
874
692
988
963
772
620
534
658
788
853
713
852
560
678
681
535
823
515
897
683
526
962
900
861
680
503
952
569
596
706
525
832
751
941
984
908
954
928
959
823
728
670
562
789
996
785
907
790
611
834
959
859
628
819
615
816
632
750
817
798
769
561
502
521
811
645
953
629
881
741
877
790
627
940
718
908
956
725
583
739
792
938
971
846
769
762
980
655
672
740
801
542
920
687
867
668
587
911
967
951
698
646
889
581
534
779
794
890
796
573
565
661
705
562
636
845
603
928
603
577
786
789
735
624
956
922
891
571
930
893
775
669
940
611
862
890
938
508
800
649
586
753
719
834
744
817
554
734
847
633
801
885
545
906
741
788
558
858
653
553
679
860
883
656
526
792
959
651
899
818
591
755
584
947
719
843
547
804
739
762
558
761
690
761
622
633
575
885
820
715
929
948
953
973
580
695
759
974
593
963
854
574
964
988
821
571
845
771
981
626
587
605
918
717
804
777
548
984
730
504
753
550
591
602
587
602
930
964
770
762
612
574
892
611
782
883
625
794
741
930
839
569
609
937
755
542
684
786
740
866
553
620
515
810
946
975
984
537
984
908
864
514
749
790
786
539
671
975
920
886
514
650
516
962
690
604
788
587
830
882
857
843
875
749
993
713
850
729
612
686
757
718
508
531
750
691
648
504
898
628
657
665
873
724
798
520
763
536
595
530
633
709
860
751
771
858
699
718
967
602
638
874
671
570
715
950
612
894
513
848
907
514
719
945
645
952
721
915
794
580
902
671
565
959
566
678
575
630
964
923
660
532
934
712
959
631
895
828
857
616
662
765
903
806
556
711
530
721
923
637
837
845
620
745
986
701
600
721
904
972
707
565
897
645
876
686
799
515
863
746
728
789
662
798
816
840
889
711
949
862
854
824
755
584
920
885
521
655
659
945
748
871
989
651
826
591
977
548
530
616
576
681
617
663
902
665
561
933
973
573
690
828
658
541
754
857
764
840
822
529
938
913
535
812
985
640
551
656
522
674
828
552
791
798
581
834
565
615
550
662
503
977
673
778
565
584
900
700
817
545
563
681
663
564
605
616
833
786
956
508
826
524
700
909
692
987
714
957
751
586
608
525
867
934
689
846
710
783
894
793
831
727
588
969
923
700
822
978
954
778
542
942
557
507
544
624
826
530
988
984
690
966
579
629
827
952
508
753
743
596
716
541
944
524
841
637
980
738
848
659
864
507
724
999
913
787
542
900
617
832
985
910
692
941
974
980
591
625
821
608
691
698
658
597
943
858
602
970
980
825
903
866
823
961
598
542
559
908
583
791
616
604
925
593
889
797
856
983
701
855
929
503
914
983
624
590
711
759
505
589
749
966
647
902
560
980
949
823
523
943
737
614
683
623
980
519
822
859
573
896
595
952
797
523
932
549
770
810
829
755
739
782
737
978
768
628
972
792
753
887
565
744
872
697
616
832
684
950
780
516
610
598
591
668
594
731
871
699
838
934
629
744
527
818
757
837
907
856
511
925
589
985
611
845
791
742
595
862
634
970
589
521
945
666
673
819
965
947
571
969
816
748
724
523
931
690
888
877
600
793
524
893
573
683
728
918
530
951
617
831
703
789
971
635
976
611
934
873
887
960
612
937
527
869
916
852
762
878
865
589
928
732
537
714
665
607
828
631
561
764
766
997
503
821
745
952
759
692
922
666
519
970
938
591
898
639
616
729
589
876
606
981
839
842
709
594
590
651
726
797
993
707
812
659
638
918
907
534
586
914
544
611
996
958
919
589
866
803
598
665
822
583
644
664
678
537
842
536
717
586
961
939
909
645
675
861
516
663
569
577
592
977
697
967
728
726
963
608
550
640
558
818
972
829
530
865
908
627
695
573
646
796
597
967
647
531
803
836
747
674
747
687
698
869
757
894
638
683
514
621
833
786
683
892
965
927
865
934
764
899
827
853
620
823
760
808
516
605
707
982
910
545
878
924
853
600
843
983
675
630
597
645
644
837
976
945
732
535
537
949
824
990
521
941
721
983
996
917
550
874
674
833
969
916
756
582
524
775
600
559
761
648
550
980
519
500
586
590
662
963
949
801
574
673
598
509
528
505
998
919
768
827
527
916
968
592
702
789
976
612
979
587
523
512
618
733
902
523
549
872
527
902
825
510
593
847
615
888
561
506
705
566
964
500
932
651
791
993
821
605
809
658
554
766
717
850
644
875
666
559
721
520
915
934
854
926
967
910
585
919
518
677
672
788
773
806
645
759
532
772
815
655
991
766
652
844
836
981
576
778
607
644
635
582
672
854
629
868
812
526
861
997
943
583
623
508
760
854
597
643
620
630
877
703
732
853
883
911
906
741
742
916
575
927
874
527
720
539
999
888
989
930
822
762
672
854
668
777
826
664
837
746
703
901
636
609
715
712
573
922
852
637
593
836
798
564
986
658
693
853
681
944
520
628
832
560
695
564
896
994
943
713
659
710
578
927
938
582
707
762
699
549
527
533
901
912
764
649
744
631
773
768
847
523
788
611
1000
559
527
824
869
654
679
615
585
630
817
501
583
975
650
975
968
774
565
821
630
871
806
653
704
862
898
745
642
793
930
711
798
908
899
680
969
728
897
894
950
683
893
900
799
579
796
834
546
964
814
512
822
894
582
812
605
709
970
560
761
673
996
861
521
957
982
939
765
519
983
831
708
640
874
718
892
754
594
587
812
805
580
869
703
655
952
774
522
618
540
623
713
709
503
631
834
986
536
898
617
556
540
702
895
596
743
938
778
892
765
782
561
761
941
512
997
621
947
925
884
547
574
532
612
865
770
575
857
547
947
808
753
539
999
654
923
753
919
806
972
515
713
985
766
525
826
842
532
720
708
625
993
755
958
848
695
824
607
887
958
970
904
769
507
769
895
995
765
639
863
861
875
630
930
663
546
834
584
539
958
717
779
512
761
978
767
590
622
541
930
685
573
563
501
573
785
769
606
964
860
803
749
674
829
891
697
963
568
794
695
956
648
610
850
550
509
912
764
703
628
724
665
504
933
742
795
712
823
705
957
910
627
804
929
786
901
878
535
549
543
932
665
704
554
552
508
712
781
557
890
839
503
533
782
919
594
575
557
674
934
894
713
646
869
523
718
947
745
842
825
507
560
776
875
560
822
568
999
917
653
990
651
960
797
856
894
997
904
732
842
819
714
516
776
546
802
616
510
816
990
942
821
743
517
742
914
875
586
725
751
666
694
651
545
590
725
679
554
710
624
825
916
963
804
577
884
944
926
668
957
750
619
518
555
818
815
836
995
896
848
901
921
669
893
734
584
876
801
643
933
777
798
609
630
911
713
963
846
998
638
973
913
629
796
717
932
896
833
845
833
903
799
861
570
1000
758
777
501
836
949
692
836
564
915
940
782
636
541
727
635
650
853
617
967
875
601
906
657
606
504
841
885
584
698
899
542
612
838
748
937
849
594
755
606
854
748
669
510
536
714
618
650
511
935
857
579
987
805
822
513
731
937
817
707
902
755
964
502
967
513
527
930
607
835
924
576
739
646
919
617
701
849
722
734
586
574
852
545
829
601
574
533
685
672
853
831
633
579
816
845
859
616
546
980
546
676
702
955
582
689
845
536
507
595
800
570
938
793
939
780
904
875
578
945
879
544
742
522
861
584
640
663
569
641
932
707
798
922
637
682
673
559
610
836
554
806
577
786
620
611
867
591
852
513
519
594
873
739
700
537
907
769
882
876
539
975
547
988
598
841
523
869
557
736
735
859
965
722
740
987
690
815
808
914
914
742
971
834
832
777
503
724
787
871
606
849
718
547
520
798
577
991
883
511
891
854
851
678
694
821
611
999
980
738
545
951
892
926
587
852
679
931
580
986
788
884
728
823
633
916
983
523
505
657
896
685
627
978
863
664
924
568
709
544
742
706
866
716
894
694
598
564
858
676
857
696
949
842
839
679
789
976
749
995
549
794
922
774
928
581
943
503
602
648
820
834
819
742
819
821
815
869
883
764
768
531
555
695
803
633
693
804
535
993
799
778
592
945
656
758
599
674
801
922
768
930
988
610
687
673
503
952
939
550
580
694
679
770
881
977
956
774
766
628
558
835
739
713
762
838
599
704
756
519
921
889
945
756
624
892
927
983
971
761
680
561
742
863
740
881
820
570
822
603
840
976
988
738
527
582
561
943
796
821
629
701
868
517
645
658
925
859
727
671
905
937
726
954
835
886
557
660
648
716
709
899
596
688
778
950
822
895
704
637
600
571
573
585
917
840
957
526
873
688
640
750
547
911
842
852
579
551
963
974
731
967
739
735
655
978
969
662
774
842
776
920
634
678
994
812
993
637
529
531
753
978
523
533
945
697
503
763
810
525
902
587
611
978
611
589
578
914
869
615
772
561
600
540
951
796
736
995
870
706
899
875
760
575
968
527
788
966
950
672
825
793
797
969
651
955
790
917
736
704
744
957
851
555
874
970
942
893
837
657
904
776
838
846
614
524
718
892
556
815
873
830
525
837
647
919
793
621
636
909
900
819
655
785
740
897
759
889
890
879
633
869
665
520
908
650
930
779
567
774
808
862
707
797
825
833
502
756
992
925
628
715
553
594
992
766
890
541
670
680
831
769
669
911
550
993
924
912
604
583
957
761
714
995
646
679
676
844
668
566
703
828
528
603
800
773
692
629
623
646
816
893
626
885
522
643
761
790
505
755
990
592
841
758
686
644
730
650
536
993
657
866
678
718
592
551
552
943
608
548
845
910
832
904
505
911
865
849
812
905
525
849
766
661
879
505
778
684
580
822
637
759
577
743
982
807
560
711
949
687
885
891
752
717
542
845
812
627
613
723
925
969
850
845
546
853
708
773
533
963
756
578
731
503
731
562
773
884
945
688
960
766
732
783
898
976
541
763
590
529
874
703
758
724
504
582
965
573
810
950
676
761
668
906
961
716
632
901
592
850
514
674
557
542
853
541
730
771
566
946
674
744
812
875
881
711
816
626
961
923
839
572
704
826
523
557
719
620
905
681
902
955
964
756
986
527
718
665
746
881
909
978
828
630
574
518
801
828
894
572
823
526
621
928
844
880
731
676
510
966
966
563
657
903
759
691
784
685
958
944
785
540
533
835
800
822
812
527
640
752
896
817
518
695
759
599
688
535
728
735
996
615
850
981
691
846
756
909
613
970
821
608
965
634
975
575
534
824
627
850
823
626
704
929
598
685
675
890
910
966
613
791
639
982
669
682
758
709
606
585
630
619
773
995
710
754
793
845
553
674
797
643
788
512
945
887
740
997
887
587
783
898
634
545
527
814
943
516
693
887
742
598
843
763
792
643
969
771
637
897
949
907
587
639
616
548
696
835
954
874
950
810
544
641
767
737
564
708
798
658
679
658
953
620
882
660
512
502
694
643
535
748
765
526
574
606
572
959
555
935
987
634
773
781
686
585
820
595
753
808
957
687
978
771
707
545
888
757
906
780
843
674
841
673
608
983
868
559
609
841
604
868
943
766
518
776
889
706
854
533
841
571
690
612
784
840
700
665
507
816
917
867
894
865
655
805
734
588
774
954
856
925
823
802
845
815
709
945
839
894
944
881
820
744
969
855
884
586
626
687
782
656
741
905
650
929
853
811
979
591
675
965
638
992
604
542
590
689
862
746
503
922
958
543
738
919
918
796
941
728
949
899
589
557
679
903
867
845
516
540
677
669
754
688
937
982
877
963
616
752
663
631
912
975
813
620
964
677
693
805
902
900
644
943
770
552
672
987
938
932
635
986
812
712
857
778
750
973
656
673
721
758
681
503
762
625
623
604
683
988
527
592
655
927
676
922
728
757
613
509
505
613
576
626
603
963
991
870
900
557
895
546
707
903
712
541
776
522
975
634
823
960
971
693
540
929
893
947
762
890
550
558
515
523
634
728
816
538
627
853
523
904
905
635
