100000
806
557
580
753
550
708
821
509
825
795
500
669
615
651
793
765
883
834
867
565
805
762
670
593
608
702
852
786
615
529
834
820
712
888
850
821
701
726
705
765
895
728
574
585
545
814
632
569
869
753
881
850
772
666
642
658
806
609
797
740
658
764
776
876
723
676
696
705
654
867
596
543
695
750
701
798
569
686
647
590
645
866
656
833
520
776
878
613
760
791
612
628
614
693
512
846
564
514
703
578
683
754
522
610
546
554
517
505
529
778
750
863
629
605
698
857
629
817
900
578
585
885
788
794
811
842
897
519
855
638
702
648
867
627
815
702
833
754
852
563
637
874
669
558
599
649
680
621
852
600
506
864
572
708
780
713
849
674
823
539
801
642
807
699
545
782
770
792
521
713
665
543
505
633
549
821
644
841
789
884
810
674
550
524
643
608
671
581
744
553
885
676
880
621
635
881
566
588
786
804
822
591
690
553
862
843
694
822
547
544
782
592
760
869
526
876
661
612
884
537
751
685
860
529
772
727
873
687
748
590
844
616
858
537
790
778
888
648
578
614
676
665
612
872
601
807
616
625
689
530
557
534
889
571
593
797
585
870
560
554
513
596
678
582
534
645
668
621
769
699
893
893
878
658
893
655
718
893
541
866
772
600
673
847
587
898
641
510
835
678
536
849
682
733
690
878
543
525
826
582
736
806
655
867
761
758
600
553
822
875
751
736
578
755
799
611
745
692
610
694
717
597
747
888
825
628
713
675
623
715
504
857
758
701
765
753
624
759
741
565
636
776
644
891
540
600
688
811
696
538
799
836
504
750
835
521
681
569
664
639
530
578
766
786
669
788
529
625
774
707
824
624
827
600
739
783
687
706
885
789
710
691
619
685
569
877
576
603
765
737
780
786
784
565
769
646
538
737
643
819
873
787
711
664
715
594
615
682
658
508
614
558
668
523
798
883
527
800
732
846
524
589
503
807
744
892
875
736
839
652
810
674
582
609
747
721
781
599
615
650
803
693
825
619
637
783
515
739
632
586
529
570
844
778
596
808
827
797
767
554
571
522
838
815
766
591
723
778
608
515
559
620
618
585
562
687
725
604
518
561
714
772
662
570
831
651
648
886
580
765
521
531
757
818
880
705
818
608
648
660
603
700
827
696
861
654
527
718
505
800
836
661
745
830
654
689
659
648
629
670
671
796
819
837
894
713
802
750
781
744
727
615
556
527
521
594
669
691
621
599
751
629
891
695
898
779
873
515
800
629
682
585
831
804
825
729
642
812
652
715
818
887
689
821
561
792
639
698
741
662
555
847
661
894
600
792
876
503
575
863
813
728
623
687
829
700
580
686
622
571
660
718
663
536
731
836
849
714
886
821
605
853
671
797
569
556
633
761
652
521
846
863
537
882
570
803
605
543
711
851
794
500
856
686
829
710
555
678
751
889
679
849
679
554
506
561
841
701
672
684
698
754
829
519
568
803
823
682
783
789
643
559
590
877
533
623
551
775
840
675
895
796
701
741
775
618
804
860
636
637
786
809
593
795
601
865
746
703
668
508
822
565
839
580
666
694
704
664
826
528
645
805
874
587
889
740
814
634
571
615
852
576
887
753
786
883
724
536
879
517
641
765
506
896
576
808
609
717
689
642
635
879
831
600
837
889
537
837
656
783
746
760
828
764
690
560
564
618
542
563
658
775
711
715
601
850
725
713
754
554
528
610
883
709
791
710
742
873
716
739
607
642
565
695
506
735
757
542
674
768
565
526
851
794
726
847
565
571
727
894
644
559
572
676
721
719
735
893
726
585
741
614
644
533
814
757
770
874
614
827
758
564
671
650
585
623
638
860
603
894
560
757
823
600
681
725
736
836
562
797
652
622
601
769
833
574
801
750
565
773
860
647
537
891
639
686
830
809
657
762
538
631
852
551
838
514
748
662
636
749
656
803
620
764
541
845
740
827
850
749
635
570
555
695
839
850
512
774
622
833
745
737
614
781
791
581
675
720
791
848
519
848
511
512
818
652
704
719
563
840
659
567
609
541
696
856
509
672
791
694
709
673
603
547
808
550
749
573
638
728
758
524
752
581
800
775
862
850
825
605
842
881
566
691
753
825
702
608
524
709
871
893
883
702
556
758
540
812
545
789
857
588
892
501
703
807
830
691
619
625
892
788
806
819
703
649
550
599
715
843
526
657
857
852
676
589
559
809
819
521
534
724
557
518
734
740
871
783
826
855
880
536
896
774
859
668
851
835
702
748
771
645
637
574
529
660
700
777
851
511
767
853
726
677
555
837
754
640
587
813
859
569
583
813
735
771
511
698
515
557
862
629
873
627
556
590
858
832
862
646
750
773
718
837
886
641
653
868
605
803
563
648
881
634
614
583
750
691
806
725
686
747
693
636
623
593
897
809
512
590
684
765
508
766
785
852
669
668
551
895
639
700
641
781
874
856
573
592
877
791
577
672
600
637
841
748
721
746
740
605
532
616
622
682
644
688
665
805
679
719
554
799
570
861
900
848
673
655
571
750
623
634
812
779
845
623
580
893
596
877
669
826
857
549
641
638
608
729
740
885
648
785
573
815
611
578
774
622
754
763
718
720
591
661
775
859
579
847
885
712
679
760
577
706
694
678
821
790
561
507
752
792
585
586
562
663
852
555
571
609
593
769
637
697
807
695
628
791
777
623
567
625
820
550
793
561
588
547
587
671
555
772
513
865
711
864
622
598
503
870
581
738
812
891
560
742
842
537
698
605
879
849
717
730
649
706
822
695
726
774
663
796
697
539
639
551
746
589
515
874
742
663
792
584
856
506
745
806
879
699
859
747
525
513
749
501
548
718
622
878
602
621
846
704
597
787
744
707
662
695
646
861
821
859
545
767
718
618
720
566
845
698
518
858
860
643
839
879
617
630
528
748
731
669
885
731
645
639
696
678
758
637
687
844
785
743
793
813
788
504
706
699
647
849
504
871
803
682
642
708
599
736
872
655
531
573
714
674
830
765
757
718
832
699
830
593
727
661
664
834
825
839
580
559
820
836
763
894
589
517
665
840
509
775
647
564
866
754
876
564
690
799
676
642
549
887
768
886
567
711
838
803
707
743
672
745
509
801
737
871
503
670
570
637
589
862
738
864
633
681
787
672
817
797
817
798
669
795
681
641
882
647
792
753
803
652
686
760
734
796
730
880
553
900
648
826
834
758
822
873
573
538
706
617
883
735
875
880
748
703
532
729
523
516
702
708
900
822
583
775
574
680
622
594
576
750
760
715
711
718
688
753
510
595
704
626
788
632
837
517
636
800
530
792
696
631
727
502
825
651
501
900
820
749
514
885
744
582
802
630
837
618
845
837
882
636
891
791
674
723
732
858
663
816
861
834
524
584
662
696
864
738
714
626
644
743
664
760
645
533
501
756
517
501
769
761
518
763
541
503
632
797
750
669
698
728
822
596
752
629
766
623
684
707
780
665
741
855
589
829
745
721
544
516
880
540
688
573
512
551
806
730
654
713
806
742
581
805
839
878
501
606
550
642
513
840
709
604
754
731
658
610
785
661
857
693
705
748
718
831
757
546
510
834
705
624
547
740
595
700
812
541
756
883
521
774
764
733
572
559
587
835
752
560
703
825
514
639
531
815
717
693
580
875
599
527
872
756
825
525
829
874
862
551
628
602
879
764
634
669
865
756
511
740
625
683
880
814
662
536
508
773
889
811
676
848
688
695
697
522
628
521
671
648
599
854
723
861
792
751
894
844
538
661
861
541
691
618
879
525
716
759
832
869
697
601
523
574
725
841
705
893
627
502
587
679
706
519
862
688
802
690
801
739
835
770
772
790
661
837
822
578
606
703
861
751
837
673
607
517
647
879
593
537
570
563
686
581
776
859
796
617
852
803
855
783
575
734
560
736
663
575
596
673
791
718
719
724
864
683
880
895
687
760
688
804
887
598
573
622
626
583
839
540
745
834
879
827
794
689
585
782
663
621
704
797
823
516
541
509
715
759
888
853
804
508
648
636
870
526
668
868
714
772
641
779
805
773
817
697
872
510
669
664
686
845
592
678
700
576
760
849
537
898
886
799
863
806
842
801
501
831
573
740
856
570
649
802
592
821
557
602
795
879
857
689
714
731
885
687
683
900
841
502
848
768
599
604
727
817
712
898
743
832
540
672
759
545
513
707
829
639
774
598
524
778
813
532
852
731
512
660
887
839
503
788
790
805
824
600
720
667
501
749
697
647
889
881
560
888
777
864
525
832
828
546
885
561
803
717
669
559
589
706
851
677
567
900
574
893
780
616
559
883
740
703
676
711
575
735
637
898
833
689
848
604
654
750
869
614
670
893
563
669
881
558
849
783
579
624
851
879
646
555
623
704
834
641
775
863
744
706
633
758
661
900
507
796
590
709
899
652
808
610
756
586
794
772
593
839
640
723
786
844
849
648
638
541
536
593
896
680
502
763
758
520
692
767
899
687
750
796
724
732
862
783
688
594
592
821
768
707
780
697
812
821
544
851
872
777
523
604
766
613
621
566
548
632
790
668
792
550
736
895
787
566
754
859
625
571
632
691
667
748
860
807
788
793
698
733
863
893
768
543
654
778
641
595
877
701
520
890
879
772
838
669
819
637
605
517
821
734
569
884
894
740
533
504
877
753
804
840
589
670
715
546
708
529
602
517
857
796
845
706
662
557
802
832
791
851
642
746
729
884
895
686
752
701
663
585
669
538
553
665
684
769
837
575
788
587
603
502
783
761
616
686
892
882
619
554
753
749
507
804
848
540
587
808
814
535
715
650
779
895
871
849
841
602
627
780
656
676
750
712
534
642
650
680
585
760
557
693
653
784
693
686
848
656
889
526
515
564
735
778
681
700
564
789
505
816
589
516
541
676
624
887
504
831
545
724
816
755
742
747
887
782
625
552
509
541
539
538
717
894
829
759
532
869
682
744
582
879
686
705
871
533
561
578
781
677
639
782
713
526
814
602
531
805
614
741
568
594
546
651
733
856
541
724
513
684
777
787
569
605
835
560
860
864
523
653
570
877
893
796
797
680
621
623
879
860
649
793
885
869
754
556
729
633
805
766
661
500
521
660
610
578
613
824
601
745
808
848
826
668
588
627
854
514
519
859
748
661
575
822
734
788
740
640
680
653
799
798
793
886
877
686
613
565
567
790
734
876
875
842
802
539
551
513
805
594
711
865
729
878
534
739
802
502
649
628
629
677
687
715
806
651
790
720
833
722
731
851
714
666
623
594
832
506
770
849
677
563
679
749
619
823
703
890
537
805
892
729
649
716
644
554
603
726
530
848
743
760
560
614
633
772
558
602
572
896
733
599
709
508
890
678
655
776
836
789
524
756
679
784
589
732
887
694
527
539
788
694
647
880
541
546
763
515
605
668
685
692
710
503
868
862
731
708
500
650
566
691
750
767
835
691
560
620
663
836
874
831
728
717
572
628
707
739
797
890
566
741
605
690
877
814
518
714
763
775
807
736
885
788
565
681
533
525
663
670
589
858
858
697
858
518
503
852
756
883
839
866
706
593
623
565
740
809
854
703
681
687
772
783
611
779
557
518
519
878
833
843
877
654
643
609
606
576
880
749
871
815
900
582
511
760
554
749
552
879
711
621
775
590
708
667
779
549
619
656
569
788
828
607
776
578
773
871
879
699
722
609
504
714
754
517
591
816
586
865
747
596
678
792
688
813
802
828
568
738
561
628
863
573
696
667
783
807
542
704
638
643
593
533
698
774
509
885
551
783
654
732
848
815
759
847
814
656
544
636
708
513
736
812
720
699
535
750
873
857
570
854
642
817
687
894
681
783
720
596
869
760
590
869
710
706
778
644
855
622
889
894
786
816
708
591
763
602
696
854
785
518
894
663
787
860
620
603
837
618
612
679
838
700
753
823
817
683
867
651
736
630
722
624
566
790
664
715
652
773
615
810
704
631
803
504
719
663
744
630
512
690
540
589
745
720
659
691
686
808
613
527
512
582
711
821
741
699
532
719
537
737
772
724
793
624
742
510
879
698
649
815
531
744
728
813
790
511
540
508
823
675
518
562
841
868
884
511
642
865
617
890
586
660
607
670
708
611
830
708
865
790
891
503
643
607
503
754
690
575
657
583
578
553
576
569
737
572
511
683
767
510
627
623
875
807
743
694
507
796
832
869
635
717
521
604
705
542
886
855
731
560
775
604
629
689
898
875
546
695
815
617
586
524
752
533
529
635
514
741
580
652
893
696
742
516
798
616
514
857
610
516
751
873
555
888
716
679
712
801
680
814
620
637
690
868
890
749
506
566
659
568
531
637
868
770
846
832
558
506
595
574
866
778
635
704
742
710
831
898
657
544
821
866
838
730
577
770
865
547
738
695
540
742
833
813
675
621
634
900
535
837
753
815
725
896
824
639
766
539
697
883
841
543
868
716
768
787
716
823
639
728
524
861
691
543
514
673
628
601
511
854
662
890
633
760
820
687
754
637
530
589
786
541
582
629
800
800
779
690
501
748
597
633
610
577
693
586
709
680
637
831
515
534
651
524
629
600
544
582
697
894
548
603
892
738
829
683
672
665
691
710
657
807
810
665
629
845
681
670
705
774
655
515
521
542
828
825
715
736
569
841
803
723
640
709
821
750
802
821
660
725
726
563
644
812
821
527
765
711
851
744
879
763
787
561
843
566
675
868
517
586
511
662
877
593
712
771
552
501
889
827
839
560
614
660
663
517
618
690
556
655
537
551
792
857
617
595
696
876
530
568
767
786
849
693
572
683
618
780
534
514
853
630
711
564
808
578
820
516
569
638
889
786
652
844
589
803
709
688
840
600
708
873
544
828
637
662
685
806
583
887
881
548
518
516
790
733
792
604
685
848
804
529
862
578
760
726
883
581
765
600
859
551
684
784
645
773
852
742
749
639
721
835
714
726
682
797
770
696
605
669
654
883
829
592
748
877
637
713
810
505
847
760
770
842
537
797
741
502
567
787
857
888
801
745
708
540
554
890
824
635
631
598
543
500
547
622
504
567
644
527
724
660
623
711
882
893
705
725
720
555
521
841
647
626
742
630
894
824
632
525
525
714
783
856
709
777
572
548
517
891
544
661
652
900
706
582
695
884
897
696
853
673
691
769
520
732
776
660
602
675
696
836
676
714
540
609
831
526
865
880
787
748
641
829
621
851
699
808
636
643
629
586
696
559
823
684
740
775
597
680
724
643
673
806
847
594
720
722
825
861
622
729
670
864
700
587
625
583
687
594
877
623
681
637
520
753
832
875
821
563
841
707
835
836
579
632
508
534
676
511
668
736
656
764
843
511
617
788
857
598
559
542
798
852
545
573
611
598
729
766
659
863
794
537
852
559
731
622
778
677
709
729
563
693
689
749
527
626
519
673
718
670
752
634
872
607
590
652
713
647
869
804
549
811
647
849
524
851
532
844
540
775
523
738
815
607
824
868
854
889
783
778
606
866
776
626
638
687
860
874
874
846
765
780
684
828
765
768
881
791
762
575
676
753
824
855
662
691
780
621
865
760
566
534
719
531
527
801
639
628
500
753
855
680
519
583
658
724
665
769
644
711
811
636
686
575
544
595
518
582
677
881
891
862
611
745
798
706
641
865
746
735
790
712
689
853
705
544
527
719
691
824
506
867
778
721
827
806
511
881
688
752
735
606
656
844
643
587
823
824
505
854
523
609
801
672
616
643
620
837
746
719
658
554
884
722
637
811
672
683
584
680
829
853
819
592
849
797
602
503
808
554
853
589
635
862
582
643
675
575
628
559
722
757
888
819
890
892
732
641
572
629
543
623
839
655
723
591
616
728
681
873
657
735
675
669
692
763
750
626
689
796
774
825
620
752
585
830
508
716
714
878
526
593
896
543
685
601
703
647
544
835
738
507
592
730
555
681
732
789
686
698
677
585
799
672
613
603
576
787
738
615
847
579
641
857
807
828
610
699
678
722
550
640
639
735
723
883
745
891
547
525
613
719
757
587
549
719
675
735
768
573
866
737
599
526
651
559
623
628
703
873
852
691
704
626
520
833
715
599
853
555
586
849
788
643
895
749
740
719
689
821
718
702
645
697
781
548
551
667
791
759
566
530
625
591
573
827
548
829
529
747
877
600
751
569
646
897
673
662
682
899
661
573
584
509
790
737
741
509
615
514
666
824
842
519
669
813
608
574
556
644
712
631
637
809
525
682
578
559
775
883
554
899
751
540
689
697
818
672
623
767
796
820
705
741
611
502
864
739
639
623
673
766
680
565
611
663
662
841
770
846
654
513
886
839
592
696
808
677
781
774
772
614
556
677
582
716
842
849
875
700
793
687
891
506
651
532
848
587
671
519
571
676
559
827
798
789
557
662
611
788
568
607
729
551
575
853
540
696
739
830
668
806
821
715
741
756
895
611
569
760
689
616
890
854
699
654
678
884
593
714
677
644
779
669
548
782
744
530
606
893
552
730
611
684
582
663
845
639
740
534
816
588
689
664
546
574
646
603
809
782
737
835
870
782
512
535
577
701
837
827
897
567
763
827
824
884
831
613
842
859
500
664
573
523
829
776
878
732
613
759
894
798
898
610
663
808
792
881
759
900
586
785
708
729
587
786
528
542
506
655
707
890
898
625
592
602
769
571
835
532
754
831
826
553
556
509
798
716
740
533
534
645
756
509
593
817
812
640
604
762
565
524
594
533
888
619
586
743
812
574
689
892
795
690
893
755
659
636
637
583
666
867
852
700
724
629
526
641
638
614
734
637
688
679
895
770
649
532
618
776
575
882
769
771
714
696
877
734
617
804
614
771
828
646
519
782
687
508
579
664
752
870
637
841
751
619
892
881
829
776
859
899
783
509
756
664
789
700
712
590
607
644
617
655
894
845
618
736
527
527
649
706
746
790
692
643
606
808
673
716
838
673
738
756
610
563
860
852
504
717
836
669
562
711
674
721
601
526
867
546
784
666
753
675
780
533
900
745
697
524
853
702
790
869
734
672
756
621
573
892
678
853
578
839
861
838
793
766
745
696
611
706
849
501
504
567
644
631
653
532
513
696
672
870
758
540
727
861
578
660
594
813
796
700
646
710
634
575
525
623
710
851
621
778
797
728
653
797
616
598
848
590
719
593
746
668
666
866
808
752
801
802
672
616
557
876
590
851
885
878
881
567
774
659
837
667
683
893
792
832
830
501
614
763
687
842
868
771
750
896
783
765
830
662
881
719
621
516
753
825
758
551
887
627
695
575
767
641
739
520
559
877
756
857
857
833
575
795
640
684
574
722
867
886
644
625
732
608
614
736
826
558
900
884
814
650
634
834
525
788
684
763
545
805
538
850
672
558
874
667
729
840
847
628
704
648
686
538
657
651
601
531
545
609
556
774
672
525
783
862
743
874
515
673
584
822
507
680
869
792
735
770
843
646
753
634
692
532
795
825
774
696
716
778
783
838
585
689
561
797
507
704
734
566
789
869
799
768
846
818
849
661
859
570
623
716
869
851
724
760
639
725
626
717
570
814
713
890
867
560
604
827
554
632
543
808
699
561
686
560
540
722
525
728
581
841
574
774
696
527
601
794
885
569
652
843
839
546
728
780
827
809
650
521
514
758
810
567
670
620
614
675
625
876
603
558
867
695
565
658
821
798
708
762
761
774
528
773
804
722
899
875
541
659
651
509
654
756
637
715
532
635
584
586
726
681
704
672
734
654
562
565
565
711
543
609
558
575
512
689
508
665
794
866
888
868
598
724
601
794
769
860
512
504
872
543
514
604
766
711
576
570
645
575
806
590
874
851
874
567
715
869
815
646
567
677
743
676
695
855
789
762
750
516
644
675
574
582
801
839
842
677
540
849
773
502
832
703
647
661
807
841
757
645
803
859
797
866
530
814
680
670
848
875
685
587
657
540
622
509
852
798
834
506
672
509
781
762
872
830
707
583
563
693
522
766
882
536
740
798
676
727
588
655
697
529
652
664
618
623
728
602
733
641
666
730
824
745
814
675
556
602
560
645
785
760
504
900
863
850
757
837
888
505
580
582
599
704
828
812
730
550
630
790
570
657
696
834
533
847
866
803
689
509
618
897
808
756
791
573
839
512
509
708
749
718
677
575
542
834
596
730
714
615
708
662
662
506
852
542
551
712
727
831
790
558
645
821
592
613
863
535
850
633
640
654
699
614
659
799
844
758
816
621
694
746
815
785
865
785
807
508
631
824
679
772
839
692
570
591
807
834
503
810
849
713
720
699
873
836
688
544
808
634
586
830
885
632
860
627
588
668
843
771
771
711
622
654
641
611
701
675
522
881
591
635
870
592
531
681
823
829
700
579
520
641
613
865
765
512
829
680
592
835
753
572
724
585
665
748
658
517
853
617
782
897
872
868
666
612
720
718
583
540
824
799
606
655
528
843
861
816
633
516
747
697
621
886
686
751
552
520
567
760
779
660
628
704
541
566
870
632
632
648
687
775
886
890
703
656
781
513
523
850
821
866
645
749
727
767
885
660
547
733
514
786
599
857
863
883
561
703
526
725
789
853
647
835
819
845
880
571
817
710
504
517
565
619
606
526
827
848
866
884
890
683
871
729
782
839
602
785
665
530
616
508
560
841
751
550
784
866
772
523
523
612
642
604
768
694
727
841
713
531
553
782
632
831
895
795
869
592
818
810
803
863
596
734
512
729
780
580
589
876
503
652
726
573
783
590
869
528
581
680
871
524
750
850
742
534
788
781
747
885
850
711
582
603
865
789
644
689
841
694
808
837
795
732
599
589
673
619
734
815
735
673
531
532
803
848
896
737
812
557
709
819
765
789
845
792
623
654
522
756
853
819
537
756
638
664
573
541
569
584
504
550
660
767
872
609
825
634
675
831
827
616
635
897
668
586
715
540
788
659
891
510
552
683
560
670
862
613
688
712
536
526
559
535
881
717
826
622
782
613
848
558
609
657
661
779
716
851
542
545
561
818
807
792
676
567
659
881
566
757
659
809
805
642
855
741
616
756
876
670
858
883
892
709
893
659
683
815
842
564
515
522
533
746
561
589
544
697
575
661
732
500
763
796
614
654
804
676
859
526
711
879
792
564
712
820
585
894
847
623
644
728
669
738
572
701
716
723
633
822
773
684
772
562
531
578
565
823
676
749
847
770
655
651
647
694
793
786
703
780
876
587
518
676
621
839
651
739
745
880
700
523
728
810
560
607
752
879
512
744
839
804
564
693
502
895
885
720
814
856
607
771
775
627
867
816
714
521
758
681
527
672
621
605
517
825
594
720
523
609
585
739
846
694
509
868
827
518
871
526
611
658
781
638
661
558
542
578
860
820
846
648
639
895
735
769
538
755
864
678
893
728
878
809
630
682
738
619
656
756
587
535
713
545
584
611
734
817
530
763
777
657
734
864
757
704
590
706
550
569
739
780
727
841
599
855
708
607
514
628
599
685
583
801
662
678
681
798
545
585
550
850
780
537
576
807
859
818
869
674
853
861
530
788
721
702
563
677
871
886
623
646
634
740
790
544
883
841
583
740
809
609
900
693
850
595
796
671
530
834
573
521
604
881
730
833
698
779
625
752
544
543
898
506
551
883
749
535
853
804
859
840
548
552
614
536
578
895
650
576
665
529
863
504
568
641
842
790
832
619
814
716
515
581
807
707
664
650
823
732
744
835
547
590
823
638
574
636
784
659
642
561
595
766
651
633
837
720
673
814
623
769
676
578
515
753
751
512
897
713
731
509
813
870
725
680
680
604
780
763
501
770
838
816
809
663
537
517
751
640
621
769
626
812
693
730
766
864
655
832
893
685
781
668
612
897
867
567
726
644
823
777
874
602
859
641
677
570
789
667
539
670
816
811
622
574
666
830
596
555
572
761
801
675
894
561
856
524
586
586
873
564
702
676
786
818
707
612
597
677
748
827
739
650
754
657
828
689
515
772
696
828
739
792
511
794
707
565
753
708
660
527
723
900
503
568
800
843
864
863
769
841
834
671
509
612
611
572
589
546
786
559
678
823
826
608
679
600
514
828
584
687
632
789
791
746
638
528
789
759
781
794
626
897
860
811
612
524
538
679
566
623
672
871
695
500
730
891
626
806
715
587
630
504
631
529
785
845
741
836
744
799
524
506
759
781
813
642
593
535
598
696
632
757
837
713
717
608
516
750
584
831
715
681
668
860
600
831
701
778
651
830
803
642
523
682
763
746
554
654
643
869
550
580
854
589
869
684
794
870
712
760
693
559
590
500
676
508
691
688
875
619
522
891
736
666
670
861
671
655
724
595
628
753
689
808
627
565
813
579
719
803
746
639
631
693
730
517
538
678
796
774
542
502
612
692
771
548
737
883
822
631
894
878
814
753
817
767
629
585
844
793
891
692
669
821
836
544
793
513
795
889
501
773
550
649
840
689
607
674
539
823
745
560
539
635
782
608
811
746
524
566
513
667
571
688
702
607
526
824
753
680
699
555
891
706
645
852
578
647
637
787
578
693
647
561
709
628
586
564
682
590
746
511
532
831
846
753
776
664
862
582
586
524
667
670
758
768
629
528
563
818
741
649
551
826
613
742
656
865
680
819
771
771
644
650
638
543
832
510
890
769
591
635
750
651
694
830
734
698
546
595
877
675
724
709
814
802
512
520
746
597
652
835
556
683
844
792
569
757
661
656
791
861
514
507
540
647
590
864
651
660
644
846
529
530
645
636
739
879
510
896
837
526
730
709
844
503
649
759
555
836
637
623
620
718
709
887
741
662
661
687
518
643
722
542
852
581
783
581
670
744
630
841
875
715
811
719
590
592
721
629
504
855
797
536
561
584
693
801
541
722
748
819
606
757
869
744
502
500
628
698
776
713
789
765
814
611
715
700
696
855
578
891
636
833
725
753
822
594
531
731
722
846
826
581
671
610
685
578
863
592
786
652
623
591
867
792
792
867
519
822
737
819
767
858
555
670
816
785
711
567
778
710
568
895
610
826
662
898
518
866
511
879
657
757
892
705
504
648
755
884
700
882
628
693
616
844
515
638
501
701
871
778
864
837
767
827
885
508
827
890
871
774
831
512
894
600
893
689
676
796
652
585
536
559
637
680
807
684
801
594
526
573
521
505
834
847
650
666
773
504
825
873
864
619
792
520
623
697
590
631
678
544
858
538
650
896
650
641
700
530
748
613
781
861
562
549
601
855
778
639
523
876
878
703
864
654
774
630
780
577
580
834
586
857
679
825
639
797
645
621
552
856
542
850
658
619
517
585
573
696
571
642
684
697
669
583
609
743
578
805
739
870
898
518
880
771
691
876
512
595
661
792
516
661
766
846
538
622
841
648
648
800
620
556
720
616
685
879
508
743
742
523
545
523
811
721
647
587
508
805
777
837
790
865
818
847
797
855
749
846
801
714
601
543
684
618
808
607
614
696
547
799
812
734
898
855
597
609
504
718
832
639
645
685
880
800
805
882
818
802
709
554
717
530
681
894
509
851
820
796
863
558
534
608
532
714
771
621
845
605
784
667
709
526
528
594
853
853
579
840
504
584
569
719
862
772
653
631
697
778
648
750
723
821
804
736
614
660
853
790
691
731
587
657
524
894
777
735
579
695
727
532
899
698
530
522
703
594
510
514
816
684
632
697
698
661
752
792
722
731
737
712
710
571
734
851
537
887
889
685
571
581
792
665
739
612
727
773
554
701
877
810
604
828
679
684
681
548
500
844
835
703
724
866
696
808
507
674
854
637
633
647
567
582
841
654
733
736
784
872
620
781
628
661
735
502
686
718
815
892
523
606
847
894
805
571
820
757
881
814
511
654
692
522
723
647
545
847
830
714
615
597
616
899
554
881
625
859
775
700
615
608
782
851
601
717
572
859
881
544
701
561
791
807
577
579
547
609
855
718
674
826
614
889
718
658
736
769
730
504
717
822
512
564
530
551
893
821
566
805
888
630
898
671
748
854
807
596
512
728
657
533
803
723
600
649
724
638
637
662
740
557
712
729
617
615
892
515
695
647
579
699
760
617
630
744
754
544
686
792
762
899
631
631
734
722
788
813
784
786
814
640
568
817
651
820
718
648
553
677
543
806
647
738
518
530
832
548
535
564
853
831
700
501
870
554
894
631
693
735
786
754
694
679
845
578
649
838
726
626
619
787
673
811
553
733
605
663
528
631
628
563
642
798
545
779
500
581
586
619
753
662
703
559
882
567
535
851
645
890
549
713
563
541
835
509
859
841
646
834
892
513
763
524
893
612
563
844
511
853
834
552
782
732
830
802
620
653
789
838
652
823
729
792
567
663
805
707
894
790
881
674
876
553
735
822
576
790
558
669
680
883
524
647
829
573
711
887
771
561
504
533
656
791
765
577
863
741
813
622
841
603
600
808
594
719
662
743
856
569
789
626
584
828
778
621
565
630
758
565
836
796
813
778
591
642
863
768
527
618
712
583
526
612
591
723
716
599
726
697
636
804
872
755
506
518
788
749
751
628
862
781
561
569
805
888
669
522
851
612
693
583
710
805
521
732
696
771
561
629
830
812
881
883
872
861
502
546
864
781
559
639
617
589
776
716
628
506
624
680
843
576
644
850
522
739
678
649
719
522
658
782
691
885
737
802
655
504
561
532
771
535
526
748
551
853
685
787
529
590
618
690
667
593
649
553
851
739
795
583
652
665
850
888
663
500
507
786
750
620
817
677
750
783
813
550
551
853
780
633
565
581
522
515
565
727
726
899
887
650
786
704
744
788
887
700
503
775
636
891
745
877
862
772
648
503
751
527
723
577
874
748
877
609
752
724
681
507
660
722
661
664
546
723
572
834
869
608
870
590
844
600
802
690
634
582
627
875
698
552
578
844
545
827
681
502
567
870
774
673
886
839
667
760
567
536
567
579
519
567
534
561
544
839
864
506
874
626
601
650
811
602
567
665
831
585
752
826
569
518
788
794
570
700
834
652
503
723
735
897
880
864
651
662
504
526
871
544
878
631
870
829
575
746
764
805
680
555
665
671
823
647
556
846
637
845
889
707
821
887
880
576
793
528
826
573
538
824
791
791
579
571
876
582
711
654
737
814
523
540
504
763
558
836
600
872
705
752
885
834
807
714
653
636
518
610
857
556
888
804
878
595
712
582
685
730
589
580
698
737
562
705
735
867
592
537
555
670
596
549
855
629
806
609
720
774
770
865
803
523
856
821
704
614
884
583
626
511
837
545
743
597
720
720
732
541
588
816
648
506
746
577
501
651
633
730
785
558
563
717
814
805
794
843
776
622
648
549
693
519
785
800
822
774
899
503
523
882
811
641
629
673
693
848
900
677
835
530
744
589
545
755
518
863
543
698
544
855
695
589
727
626
698
732
866
894
748
666
846
510
535
883
728
551
531
725
656
694
844
628
830
728
658
672
623
846
742
661
604
638
748
785
615
598
633
707
640
607
819
769
580
888
797
782
547
728
756
642
666
719
708
692
563
900
621
599
659
771
644
538
736
643
539
762
542
830
625
675
725
635
898
776
721
808
560
693
714
746
653
806
545
659
889
672
747
727
527
516
849
782
850
660
508
582
834
520
889
520
660
764
552
891
692
566
888
551
626
671
581
741
592
838
644
631
806
571
622
827
759
626
858
798
868
809
824
841
697
795
817
755
662
540
791
740
680
569
533
506
658
793
575
555
592
876
545
814
892
562
864
662
622
775
559
501
776
862
778
638
727
634
717
673
586
660
591
570
687
517
882
753
606
763
847
687
601
588
638
745
832
870
513
577
698
732
609
714
505
674
624
562
611
646
756
827
654
520
539
512
746
897
688
685
894
736
519
653
613
723
797
883
544
676
839
680
646
634
503
796
895
762
780
572
643
645
813
850
533
665
755
641
514
564
813
603
814
809
543
590
617
765
673
899
784
580
664
647
619
662
559
521
816
786
631
728
550
615
696
881
679
516
860
553
803
522
702
531
751
724
875
854
771
613
783
573
757
824
616
663
667
783
814
625
832
799
807
739
852
725
880
579
801
778
744
631
511
793
798
897
692
698
725
860
783
782
690
810
895
781
797
834
782
599
875
660
779
622
895
800
812
852
770
771
709
808
735
794
692
513
804
826
744
555
709
674
588
837
571
529
808
646
840
758
500
553
884
862
737
815
599
838
767
527
779
713
532
755
543
776
654
764
829
880
777
836
763
882
755
534
687
793
826
685
823
817
522
518
594
812
859
634
541
614
868
536
581
890
577
775
606
833
578
864
622
688
888
791
811
771
558
604
602
693
613
774
879
896
798
680
583
704
772
820
867
525
745
796
737
718
603
710
769
711
622
519
720
865
883
632
898
790
722
632
767
812
631
528
891
606
819
872
617
580
740
549
669
814
871
829
858
571
608
525
687
625
789
759
892
528
693
765
528
724
650
794
855
874
617
762
678
556
516
617
537
682
501
655
657
554
790
729
647
848
733
842
520
590
597
726
617
548
810
857
762
512
607
814
588
615
832
581
849
833
598
674
727
641
507
777
856
827
528
584
589
682
530
593
505
782
705
825
897
593
866
876
533
869
742
784
511
725
897
567
807
529
611
517
721
676
798
883
808
634
718
748
820
563
873
637
591
714
556
821
674
784
515
856
639
837
602
649
891
822
656
857
768
898
881
896
861
708
792
753
542
731
831
732
615
889
574
553
848
833
669
608
822
885
733
653
730
898
530
649
837
694
677
862
798
713
632
505
803
678
665
891
647
650
518
893
758
890
539
707
773
505
848
502
826
553
745
533
691
565
661
816
729
517
729
840
754
577
900
759
816
875
890
636
731
577
633
792
871
508
852
838
762
840
802
797
572
752
739
719
505
844
842
566
808
635
590
654
636
892
625
825
616
774
693
827
899
530
769
713
565
643
842
520
614
511
858
612
576
683
579
512
702
634
875
788
585
854
670
631
873
827
588
861
575
518
875
592
687
766
877
657
622
880
848
551
742
597
626
835
513
845
694
834
571
733
891
827
635
698
807
554
899
577
530
685
521
749
823
787
736
703
894
688
821
883
517
581
503
859
750
690
662
800
693
598
806
749
811
500
539
784
510
504
830
775
867
592
698
590
773
783
715
560
757
522
774
690
721
556
583
826
588
758
501
712
559
541
728
576
615
843
659
603
598
515
781
628
781
720
713
810
504
608
737
606
643
714
517
576
677
585
808
649
714
831
739
841
887
682
818
727
585
798
596
636
805
565
790
588
781
863
776
630
657
869
515
716
653
893
501
717
606
724
734
615
721
650
699
508
547
531
781
811
794
633
614
842
513
819
631
563
590
784
627
617
721
803
637
737
563
733
773
884
845
553
701
584
760
887
649
676
832
595
858
873
657
663
545
755
841
759
871
746
760
890
752
867
564
730
685
900
807
605
543
890
783
556
755
521
500
565
631
833
746
551
619
583
693
872
757
629
507
869
717
710
535
549
526
705
827
540
754
607
550
819
558
503
633
877
631
711
865
527
539
531
597
874
699
648
760
692
844
654
614
665
620
621
623
870
611
859
617
688
562
652
729
530
555
678
853
630
805
584
520
780
580
526
870
863
666
810
715
869
712
762
553
858
599
836
751
671
630
588
669
671
524
770
524
699
824
587
516
706
614
872
660
877
620
598
891
585
826
649
568
889
590
646
736
670
530
537
720
706
711
687
638
590
828
798
888
630
807
797
794
531
834
573
758
811
837
873
707
768
726
575
642
725
806
657
577
820
527
668
805
635
808
571
594
627
762
618
709
707
859
767
868
890
548
751
648
662
753
892
566
662
837
768
666
710
517
743
542
893
755
866
899
567
529
576
818
535
751
518
585
837
879
531
646
544
608
653
893
766
550
509
635
819
591
644
539
826
881
867
570
767
788
773
848
597
687
510
625
606
501
793
806
779
855
543
576
835
606
681
618
693
746
581
835
894
560
893
683
751
688
794
739
535
756
851
511
544
691
664
814
794
898
900
592
679
896
836
788
547
722
868
617
733
750
522
643
685
699
605
520
715
771
745
581
683
853
634
533
633
571
725
697
899
705
758
819
628
630
613
719
791
654
857
603
899
615
707
872
503
738
799
579
793
525
805
704
514
511
884
867
589
584
510
867
550
550
653
845
741
793
709
893
674
699
636
593
828
701
545
588
553
549
851
865
737
573
830
557
731
783
722
572
524
784
549
588
840
606
847
770
522
600
722
757
871
803
549
727
669
712
564
659
567
612
524
736
507
681
835
532
780
891
835
562
534
846
539
780
711
682
629
848
648
555
633
747
761
815
727
572
777
513
846
633
660
529
758
684
717
605
661
556
518
530
859
541
683
712
747
617
737
809
540
816
769
891
685
794
618
751
558
625
860
670
758
893
825
874
507
502
663
896
573
567
837
713
862
602
740
742
530
642
751
639
814
627
765
877
873
700
841
797
771
865
686
879
747
777
900
502
745
540
835
577
678
625
665
535
555
759
546
562
833
674
717
673
530
695
695
706
696
661
886
579
574
595
795
567
608
656
657
766
763
512
634
636
675
765
602
742
724
883
817
539
894
668
866
821
686
606
524
854
537
559
724
782
613
750
612
764
863
860
628
503
589
661
759
804
656
545
537
501
583
684
759
755
724
682
805
768
558
515
756
644
659
529
835
728
573
644
788
883
829
792
643
568
660
728
555
736
788
615
579
728
528
872
668
579
507
613
877
749
836
835
860
638
501
528
578
578
797
560
780
627
588
751
753
584
820
674
579
550
791
892
832
798
537
631
866
711
827
884
634
798
719
542
582
609
837
618
873
711
872
672
797
542
774
589
775
720
811
723
545
830
752
809
562
833
774
638
900
593
595
692
882
539
817
760
772
883
776
762
642
509
758
751
661
662
738
543
629
551
689
589
591
548
646
676
691
827
566
509
622
754
550
897
592
805
666
664
862
808
790
712
795
602
851
575
756
668
875
687
828
607
652
677
551
884
727
724
658
581
714
743
691
573
611
661
665
681
593
857
881
886
848
896
685
512
510
598
783
624
588
778
648
639
553
725
548
842
591
732
898
665
893
699
531
900
759
594
526
658
897
674
500
534
693
649
656
794
732
747
887
604
851
837
679
608
798
637
667
820
861
624
812
778
521
550
524
696
589
889
792
811
608
759
754
674
676
636
726
581
517
792
531
525
782
629
843
735
538
892
672
719
510
517
874
632
716
583
718
809
552
595
553
895
532
797
528
739
649
523
784
696
532
602
851
841
544
589
699
842
762
619
863
670
831
535
603
821
872
884
826
675
720
526
825
864
712
575
716
609
574
653
567
787
719
869
516
787
660
848
525
896
611
676
703
839
769
661
515
621
767
804
648
804
867
838
524
802
752
696
707
762
690
788
898
613
768
842
730
724
661
851
538
686
786
586
743
555
671
801
856
661
856
638
511
831
503
796
845
808
739
773
842
687
825
676
550
692
888
792
781
882
896
848
628
600
830
679
864
848
538
604
828
825
584
833
622
690
705
650
892
534
669
635
772
571
597
821
892
866
701
527
841
634
625
566
644
551
873
863
823
587
776
677
860
773
850
719
612
703
501
556
563
625
679
702
863
811
702
855
606
865
532
887
555
706
851
696
565
745
512
601
679
577
636
732
823
728
549
694
826
808
892
791
553
898
833
735
728
783
845
800
771
525
840
660
593
537
545
765
695
636
565
650
838
795
511
791
682
729
794
837
612
714
609
763
518
568
884
600
636
765
730
759
718
768
678
632
810
739
660
689
691
612
749
534
725
728
775
734
601
896
870
735
580
845
625
760
556
798
899
519
673
548
891
691
744
721
635
858
756
646
556
828
751
823
834
898
714
658
763
616
776
527
739
586
887
610
567
520
753
562
822
579
513
672
857
712
563
561
878
636
619
643
624
836
685
558
858
829
602
706
794
793
600
597
627
656
889
863
763
533
502
724
506
761
761
671
798
699
605
562
883
660
600
794
563
778
606
850
801
696
703
582
766
501
506
501
783
734
673
692
659
710
853
663
578
619
780
756
787
551
857
863
838
708
529
869
757
697
734
891
600
878
810
543
769
650
684
786
522
541
632
536
829
598
513
792
783
665
833
729
795
891
820
507
825
833
705
521
706
647
553
629
547
766
504
807
865
871
844
741
550
680
526
570
741
848
715
509
762
620
593
688
846
504
627
552
604
584
770
667
843
677
600
687
879
781
620
859
598
720
599
798
696
855
757
522
639
503
589
749
739
616
851
590
773
861
657
626
529
710
610
549
532
734
659
805
607
556
703
650
514
571
721
778
667
792
557
752
687
714
875
837
501
529
610
896
770
834
556
881
841
863
842
659
650
605
613
578
675
612
799
590
747
573
718
577
826
688
529
727
741
741
704
539
826
736
821
728
665
707
745
608
838
810
696
849
720
746
856
503
608
858
836
794
656
532
521
882
626
608
873
533
519
748
509
699
706
557
517
759
500
709
577
883
705
719
892
863
699
735
865
732
530
879
813
698
695
504
704
776
716
883
533
604
836
643
766
528
545
788
746
837
764
813
653
634
759
747
672
545
651
562
754
808
815
686
671
546
696
564
822
626
882
545
587
614
757
777
553
646
626
664
885
575
623
660
870
757
650
505
784
681
857
866
523
734
593
687
774
765
600
513
724
550
556
854
836
837
782
673
719
871
611
817
725
573
576
583
800
835
528
854
530
722
654
516
792
736
600
557
627
692
529
623
811
838
860
723
836
896
740
609
872
765
785
737
555
799
804
606
787
688
852
828
881
616
732
873
573
622
772
708
790
636
694
708
877
891
677
792
873
527
786
643
669
624
506
749
848
892
535
737
505
695
531
578
810
644
646
715
617
829
583
566
891
890
503
780
856
564
593
821
756
565
877
884
553
516
833
718
527
761
636
856
854
752
840
718
667
778
669
605
707
731
840
753
608
520
539
779
604
811
651
631
826
562
872
696
689
898
744
566
738
719
623
630
843
616
824
568
720
642
596
655
784
710
707
528
584
587
885
593
768
840
836
549
782
565
594
806
890
586
805
502
759
701
582
797
647
767
524
695
883
529
548
896
689
828
536
599
898
690
877
662
764
780
743
504
664
749
576
884
855
561
767
814
782
707
780
554
675
658
588
752
614
823
840
883
596
541
521
591
659
863
593
703
857
789
864
506
894
620
575
688
744
573
835
877
729
793
724
887
566
752
666
677
539
574
713
557
607
729
527
741
686
771
599
887
537
696
689
614
804
520
515
542
849
568
619
512
614
825
567
659
546
753
554
789
836
520
887
794
859
621
582
616
868
742
861
774
852
554
621
665
579
550
627
853
710
579
648
529
571
533
771
863
628
875
840
802
517
890
744
562
670
600
621
671
719
567
898
758
513
815
715
636
878
801
879
514
612
620
657
664
831
686
749
800
650
610
702
733
834
514
752
764
816
685
794
619
771
881
844
871
673
523
503
604
887
694
767
746
776
540
667
626
849
638
678
561
597
677
636
591
614
844
819
609
632
757
868
598
887
504
540
663
862
590
542
826
879
897
574
557
580
621
547
595
865
527
872
659
832
612
843
587
769
733
656
561
719
563
891
595
887
756
755
747
504
708
761
888
709
595
643
533
593
772
842
624
682
535
703
511
719
630
602
853
770
588
785
557
856
549
736
844
695
508
549
804
589
769
634
530
583
600
691
666
783
772
591
862
810
541
637
707
721
534
690
842
640
553
592
734
648
866
666
736
802
568
500
509
854
854
648
755
623
625
684
523
635
851
645
758
570
532
729
622
714
678
739
782
864
802
809
779
633
671
543
899
507
768
823
811
878
758
744
518
539
889
893
795
581
678
642
831
818
528
636
772
829
616
513
673
517
528
720
769
612
770
568
879
834
654
626
523
596
515
609
831
833
670
898
632
501
648
811
851
725
763
685
616
786
755
524
564
790
765
614
844
599
821
820
629
869
807
594
659
835
508
534
894
624
776
627
692
632
699
855
876
871
667
640
866
505
645
788
606
629
533
520
760
711
718
768
780
665
561
565
755
802
695
819
851
643
858
769
878
733
695
645
898
889
734
883
698
743
890
754
614
580
882
724
615
635
778
786
689
677
879
772
639
821
849
862
761
814
860
538
565
870
642
894
571
600
885
637
792
756
818
724
588
640
550
754
782
891
874
667
807
669
771
796
882
573
893
507
579
724
674
681
514
706
837
759
790
867
681
527
805
593
841
596
651
888
823
517
639
866
530
617
510
719
564
634
841
785
713
523
591
758
678
864
720
642
862
510
603
790
572
532
508
765
645
745
518
565
506
507
825
659
752
572
647
621
796
658
642
561
508
729
615
748
536
573
551
672
536
881
787
850
756
671
780
772
700
504
797
573
525
526
775
516
832
865
616
629
815
692
833
820
740
521
552
849
723
812
597
517
582
861
620
506
869
760
591
682
796
877
691
687
660
531
578
639
678
831
633
892
776
588
853
522
625
867
568
663
577
718
717
543
685
894
756
569
750
828
874
614
552
550
834
770
669
777
864
670
726
688
738
548
807
740
539
884
626
533
857
844
814
616
547
512
773
791
846
855
794
546
586
636
795
611
692
539
541
602
598
866
517
711
503
591
658
752
740
571
775
601
514
822
539
884
820
788
670
617
829
777
805
803
595
611
546
872
576
506
709
525
668
708
587
769
590
801
657
808
815
610
678
506
645
881
805
668
509
631
590
586
730
763
822
788
500
584
742
738
681
610
617
543
749
764
882
864
724
754
735
875
577
893
858
731
612
816
880
583
789
587
801
860
879
511
525
879
700
853
822
501
527
842
888
725
800
655
616
774
815
595
891
689
637
578
591
646
810
511
700
637
744
613
736
781
771
577
508
867
519
688
755
663
817
532
856
634
694
596
877
607
592
527
605
514
687
695
855
622
556
692
662
657
555
627
852
898
868
572
772
867
550
537
553
585
538
655
809
696
822
562
742
849
672
881
791
699
553
705
710
874
732
786
819
792
816
596
787
695
500
583
781
683
551
823
607
829
576
870
788
560
851
657
607
547
862
656
793
517
890
769
635
549
595
801
785
545
540
610
754
532
595
714
687
614
805
802
644
688
537
777
686
733
525
701
615
654
623
726
533
700
550
864
781
638
759
857
516
692
514
624
504
652
532
769
589
725
657
778
611
607
631
780
547
892
849
585
875
777
824
765
623
765
667
852
531
572
766
871
859
526
884
551
613
879
695
536
548
680
745
636
856
530
845
740
509
900
787
754
606
867
731
519
889
571
620
829
733
671
716
780
526
689
592
571
827
842
637
830
763
644
626
845
548
693
847
701
513
594
778
832
873
730
831
882
816
641
866
795
842
814
840
659
579
678
562
547
514
710
694
599
806
784
575
868
764
867
543
723
680
646
515
683
603
616
581
702
898
767
884
812
846
598
590
707
565
801
503
760
869
689
767
868
681
552
724
635
532
681
533
866
872
568
602
506
882
900
754
737
833
635
644
889
642
727
507
822
571
683
525
822
851
685
879
671
648
594
824
684
861
630
641
632
599
546
590
551
879
708
804
529
693
785
689
739
594
688
666
861
597
508
787
754
584
744
871
684
635
791
668
602
675
650
710
844
804
627
855
551
564
822
737
611
708
882
726
674
766
819
535
670
701
706
520
504
504
623
885
849
776
790
640
762
718
565
544
822
644
788
705
630
705
558
747
594
528
557
684
777
848
741
826
866
793
884
603
852
586
567
855
707
797
862
712
591
827
581
500
883
884
835
614
741
879
546
626
811
694
882
546
870
900
837
608
706
507
706
868
787
896
868
847
526
738
783
534
726
836
880
607
570
637
600
795
864
824
693
848
832
788
508
789
531
584
617
693
518
525
741
855
703
732
571
772
687
520
689
512
687
838
820
725
605
521
738
731
558
652
683
784
811
743
678
718
561
771
597
788
785
744
560
574
771
898
644
785
772
659
852
638
667
604
682
773
557
509
643
806
824
712
634
753
634
767
764
768
615
627
570
530
619
846
601
662
504
850
707
726
642
522
572
874
514
894
532
857
784
781
790
504
718
541
623
537
752
895
889
795
536
513
667
707
714
583
767
866
526
833
523
624
892
764
805
567
552
894
736
569
631
600
868
730
789
842
509
773
709
686
736
730
830
880
508
772
638
694
821
625
520
685
718
884
741
707
766
858
633
663
859
789
579
620
872
836
783
674
603
553
731
807
827
667
798
828
784
832
566
683
586
868
869
551
565
502
762
841
817
632
852
858
675
842
848
742
608
710
675
542
786
729
663
699
569
875
661
789
844
797
831
859
506
516
588
547
558
686
593
839
754
732
795
600
545
806
739
821
895
566
710
558
675
804
515
720
665
533
526
851
697
596
589
866
546
678
743
744
586
752
728
644
686
620
679
583
538
699
787
514
807
891
721
841
786
681
821
875
726
623
750
577
866
561
548
672
741
809
767
681
873
624
623
849
758
742
851
713
738
837
700
530
793
534
768
898
859
800
643
788
771
554
612
593
680
528
756
520
663
541
577
607
678
849
815
687
693
741
630
724
687
725
759
748
686
722
650
852
590
780
885
815
586
684
777
769
802
628
821
734
672
734
530
714
663
527
807
606
875
575
765
830
757
630
675
659
771
618
592
610
840
830
814
773
877
886
773
804
695
790
674
500
818
759
775
734
817
665
831
622
847
649
509
612
635
780
624
819
652
584
643
775
772
754
767
784
885
781
717
608
874
544
807
798
755
750
802
650
869
581
739
777
738
514
803
570
728
686
564
871
791
568
608
734
538
724
882
671
781
900
683
570
782
808
674
830
666
775
788
778
761
678
598
787
523
714
779
684
730
895
757
570
898
854
790
574
766
612
835
782
808
708
798
809
703
646
711
881
658
697
593
814
591
849
765
770
712
834
539
696
889
881
857
522
862
818
845
868
784
849
698
853
565
703
668
823
604
525
551
674
576
776
680
678
741
843
768
632
618
881
637
577
697
543
582
532
882
672
595
517
898
664
614
741
590
806
876
662
593
606
538
641
711
682
686
693
565
694
820
769
630
533
832
898
665
838
708
742
843
622
679
690
551
645
591
705
873
796
779
689
796
625
739
669
749
579
747
669
502
676
603
872
787
646
826
550
638
650
718
535
529
593
576
613
660
583
563
842
850
596
758
801
878
825
639
622
541
643
507
604
739
869
805
636
787
898
893
710
514
650
606
653
840
503
795
887
513
595
636
585
707
659
526
897
647
502
842
709
734
780
723
765
854
738
819
801
800
545
604
859
543
769
728
866
698
899
794
516
893
686
588
897
534
515
841
506
567
799
770
524
813
731
817
884
511
692
602
883
677
654
541
629
524
545
531
532
547
827
590
821
705
562
588
636
860
848
574
762
737
815
579
729
724
683
790
877
837
715
719
753
646
613
696
750
819
521
790
726
744
557
790
755
515
725
855
590
790
897
867
853
541
653
672
644
717
848
681
741
811
853
721
621
618
668
556
702
780
529
660
869
705
658
526
705
592
511
578
863
897
612
581
669
710
893
757
616
657
670
598
757
551
877
671
794
738
567
772
667
653
559
749
887
737
664
568
727
660
561
863
719
853
528
617
582
886
582
523
728
555
740
532
655
766
705
831
833
538
550
890
545
701
848
786
555
764
857
771
884
838
865
547
596
521
704
887
681
705
603
521
823
571
659
824
773
780
546
636
895
793
793
568
737
673
722
686
769
608
556
673
514
509
838
833
864
783
589
894
749
569
613
602
785
775
660
550
684
564
889
721
809
871
542
824
718
895
854
790
842
610
603
860
740
864
791
510
736
804
891
731
885
574
865
594
649
850
785
741
510
788
808
855
859
755
566
724
637
795
700
709
630
812
614
768
766
835
572
732
678
515
656
566
807
653
662
667
850
764
654
661
698
516
662
786
662
722
523
651
817
568
599
538
864
596
615
653
687
822
651
732
858
766
685
683
587
561
852
823
524
842
778
685
701
538
627
519
566
534
561
843
522
721
806
861
759
551
728
804
589
727
682
821
881
757
756
577
740
696
849
591
512
621
576
741
680
649
560
754
750
634
500
709
630
602
874
660
607
502
840
567
788
555
515
657
534
819
594
684
534
572
716
537
590
742
584
517
567
678
785
529
786
846
669
790
617
822
794
850
790
567
848
726
520
646
530
702
516
806
787
772
854
539
530
621
580
523
622
738
654
647
837
867
725
729
800
505
573
881
695
574
548
759
768
513
641
833
848
646
562
691
507
674
604
722
791
611
847
544
815
603
693
518
811
629
552
848
605
765
892
776
776
771
648
655
857
666
802
652
536
555
692
863
523
610
553
808
848
526
776
500
771
624
607
732
651
575
548
880
713
872
591
648
696
717
781
591
679
895
700
717
864
857
567
789
523
559
755
702
578
815
700
686
807
849
685
822
797
805
655
708
760
691
601
672
551
613
580
682
683
551
513
854
641
745
858
874
741
669
517
808
822
514
886
850
637
737
848
872
751
677
685
744
665
780
695
589
598
805
650
724
518
755
528
798
568
627
858
615
828
590
777
671
870
581
767
780
846
889
884
772
571
569
504
525
734
778
699
541
889
763
783
631
879
590
833
812
504
782
543
615
591
612
851
594
867
667
797
629
590
840
657
516
764
588
592
779
658
832
505
517
825
708
530
580
548
846
872
797
575
580
755
611
521
759
849
556
567
797
681
854
653
675
779
823
777
725
819
664
749
540
523
717
651
882
538
794
757
862
658
875
879
541
530
800
739
890
898
879
514
659
659
816
532
708
586
657
706
565
819
785
627
888
873
744
776
727
843
750
677
529
670
655
703
612
603
559
565
674
677
646
531
789
503
627
738
708
716
536
640
762
739
619
639
558
794
519
788
717
732
694
687
672
682
756
778
762
667
668
763
706
602
542
514
544
539
801
570
542
794
834
813
703
770
785
593
607
825
580
838
662
833
584
528
690
767
667
502
623
798
622
553
512
511
805
870
658
857
782
889
742
820
817
641
798
578
588
818
858
810
638
561
799
610
675
811
609
523
798
854
882
862
820
691
654
579
619
566
633
597
592
576
746
883
581
892
703
637
566
863
660
817
741
521
706
560
617
620
866
599
628
785
884
556
727
724
712
633
893
777
713
519
668
531
626
888
684
829
770
712
637
806
511
769
595
724
535
732
819
839
847
763
660
603
508
862
575
854
783
603
827
576
862
760
515
523
663
587
751
711
880
729
631
773
602
598
759
824
664
812
842
645
652
741
690
702
711
898
508
754
549
521
511
606
557
746
604
666
860
675
872
893
583
702
756
518
772
551
526
758
533
640
858
814
712
900
719
560
830
562
646
610
711
797
679
657
805
611
576
882
832
511
528
523
528
542
666
895
604
815
552
896
826
599
526
654
668
697
778
819
880
715
888
856
657
773
806
653
791
730
855
864
511
597
692
879
513
696
687
730
810
565
585
617
820
780
706
736
834
588
754
639
692
843
546
592
642
681
733
569
573
578
841
634
778
752
683
521
661
730
642
569
547
822
757
515
854
605
567
819
608
846
577
549
584
664
753
627
755
886
768
668
518
563
797
786
745
621
729
703
885
818
636
620
610
527
680
892
669
749
532
559
506
835
818
792
571
772
658
838
719
789
642
777
826
569
739
874
647
516
701
825
534
592
812
768
530
870
812
872
649
501
736
570
756
608
834
686
897
644
561
818
641
886
898
640
738
788
669
826
627
528
891
890
813
759
605
868
787
731
598
734
879
612
835
675
680
900
867
724
661
539
582
596
823
841
838
516
644
717
524
743
732
536
557
673
722
817
730
842
755
561
809
706
604
768
627
596
592
666
678
529
626
814
643
782
564
844
539
812
697
746
531
568
587
575
633
807
875
763
848
847
822
859
597
520
556
588
605
826
730
763
568
772
769
771
829
551
615
610
545
866
643
676
744
632
543
729
518
718
537
656
733
824
772
679
727
651
503
633
717
510
897
531
657
796
774
720
504
528
762
539
739
742
656
885
650
588
863
792
894
528
507
824
888
567
712
799
590
539
845
725
726
855
551
802
690
823
867
557
683
582
519
758
690
797
666
502
738
608
795
762
804
640
782
824
598
879
857
789
500
876
807
673
742
540
531
501
781
844
853
748
822
819
686
674
882
876
729
890
803
776
776
559
586
791
507
675
691
717
649
783
681
687
895
811
796
615
510
863
617
654
623
870
786
831
859
691
630
862
818
899
826
761
893
867
527
736
584
800
532
754
648
833
883
665
621
515
577
780
552
756
558
770
661
642
897
781
895
785
566
565
892
557
642
896
590
899
738
654
689
839
635
804
870
646
566
893
761
739
555
692
568
708
519
884
518
829
690
519
687
836
596
530
750
835
807
828
745
778
884
643
602
572
506
859
717
636
726
625
848
720
892
512
727
721
778
670
550
512
580
751
600
824
567
521
696
685
824
773
795
561
586
816
822
601
665
550
791
703
714
625
802
621
567
855
730
818
835
817
662
579
524
783
589
508
504
661
807
610
596
732
683
613
697
580
691
813
837
749
820
568
707
791
700
875
740
559
501
898
702
748
610
627
606
702
611
645
749
859
792
542
711
659
894
793
794
694
683
553
712
897
832
715
709
872
543
681
812
534
725
874
809
891
644
778
730
532
669
576
556
854
825
530
886
570
540
571
606
831
604
664
701
737
867
877
773
543
796
824
671
575
606
648
538
829
880
815
753
895
836
860
528
793
879
628
601
607
848
779
547
559
885
751
858
787
672
547
867
859
579
587
586
829
734
867
691
799
796
673
526
552
519
801
529
772
572
701
747
618
774
717
739
846
514
789
773
800
503
845
701
573
512
800
751
736
773
690
830
560
676
827
573
712
644
675
513
798
712
597
523
656
632
618
514
609
769
573
548
634
733
784
855
664
720
649
654
696
651
737
611
580
630
614
666
760
821
620
854
522
671
540
817
797
832
643
731
824
661
648
508
774
819
799
626
686
588
629
688
620
753
606
727
642
784
758
683
794
670
636
804
515
634
731
690
807
756
684
502
788
889
818
545
698
701
615
723
695
806
889
759
757
670
524
852
709
643
699
721
529
783
890
508
655
849
702
868
507
737
857
893
613
884
885
612
721
826
709
639
588
620
567
888
555
883
751
736
821
672
569
664
540
661
563
517
713
664
644
824
720
837
847
572
548
650
768
667
687
566
731
560
551
852
538
630
575
812
877
622
593
867
643
895
880
630
842
519
805
793
749
897
518
689
692
502
790
809
793
628
770
541
655
809
642
895
626
548
853
668
804
538
633
524
840
529
742
624
663
765
844
790
772
663
747
721
866
504
714
582
736
754
893
846
532
556
689
672
870
692
534
569
870
655
519
831
756
587
727
561
635
883
820
888
665
830
890
561
803
564
594
544
840
519
867
536
604
882
546
613
514
742
850
577
821
665
836
631
774
505
898
891
644
795
758
600
615
865
835
694
609
876
671
763
561
545
881
888
686
657
563
690
802
600
718
724
661
623
613
780
777
849
893
748
527
732
853
605
508
746
744
828
823
612
669
834
546
564
788
511
561
885
698
595
807
847
746
652
521
514
513
811
772
658
611
721
570
751
751
594
844
733
545
819
616
873
889
724
820
845
896
531
822
562
641
733
523
560
704
837
827
738
830
569
632
551
759
801
567
523
677
522
851
834
546
548
729
772
583
663
545
783
684
842
841
793
875
578
782
652
523
599
776
618
703
777
645
855
586
838
636
543
515
632
856
689
511
593
527
643
730
826
661
524
560
735
793
521
664
821
689
796
577
683
839
863
569
610
794
700
589
821
760
827
895
860
791
609
809
668
649
540
748
651
656
644
751
566
632
826
581
516
530
529
533
738
775
662
617
646
742
817
862
778
599
778
900
676
762
556
536
764
731
753
854
844
591
831
750
881
812
664
540
718
879
707
777
646
777
642
531
823
630
783
613
839
510
815
821
638
797
738
683
657
747
877
605
541
758
544
724
826
531
627
873
776
585
556
652
741
609
858
715
610
811
897
786
589
546
798
692
846
657
824
544
504
686
805
618
527
577
622
757
717
553
730
754
768
584
809
569
628
774
595
845
666
620
718
896
597
676
833
593
662
544
686
644
861
637
621
657
852
782
810
679
760
812
847
710
703
576
824
566
892
584
831
519
661
854
604
591
840
524
783
700
641
626
500
788
764
842
664
614
571
861
729
791
505
729
644
660
732
773
549
732
807
718
661
805
666
537
789
761
669
666
896
721
689
721
813
790
873
715
799
514
864
689
716
540
798
639
701
675
715
542
571
838
502
735
678
659
865
730
522
898
822
596
531
520
656
749
834
854
568
500
836
733
886
777
594
726
892
702
739
844
864
589
517
855
798
888
677
711
753
679
504
597
612
692
747
859
621
780
802
536
620
774
502
877
808
728
631
833
774
509
657
583
848
621
739
565
600
898
582
829
753
574
528
563
836
629
681
517
729
692
531
851
859
563
726
843
635
567
554
619
777
629
550
560
661
531
700
796
631
540
737
775
866
651
851
598
874
640
842
594
756
510
518
597
677
899
749
814
569
679
670
576
724
779
521
750
501
614
697
794
736
682
618
606
785
590
799
681
557
751
604
715
736
580
766
557
503
581
748
530
513
869
823
899
569
633
501
900
733
592
897
703
837
878
594
777
509
726
826
672
666
872
604
707
829
828
550
652
714
807
813
504
877
794
882
618
535
504
603
611
539
561
737
761
510
820
689
528
719
740
848
650
718
792
890
833
768
865
767
512
841
777
511
770
743
560
819
768
527
828
760
500
643
602
559
585
796
601
775
681
792
807
811
610
896
575
812
836
852
597
556
657
570
616
672
847
567
571
719
604
764
670
541
836
812
876
754
770
782
772
791
887
567
607
626
573
553
739
807
738
674
678
659
566
685
670
726
505
892
790
525
754
745
701
819
747
500
566
889
684
817
805
780
646
699
708
627
756
762
757
545
899
542
859
646
637
637
578
558
824
779
580
792
864
665
849
816
603
851
581
833
815
697
750
798
791
834
659
645
676
670
809
899
670
725
719
791
788
614
856
885
523
573
540
881
569
817
839
639
899
698
506
882
525
542
773
763
654
798
619
873
827
687
546
536
747
511
529
815
644
676
746
760
890
502
784
858
667
747
679
578
620
623
797
539
760
644
562
687
524
795
587
667
602
678
577
889
510
826
736
743
846
500
599
657
869
571
668
713
697
814
641
750
700
667
623
670
757
815
744
660
629
575
708
644
557
897
867
873
779
747
578
552
536
735
660
882
664
737
815
721
531
750
546
721
543
504
636
874
809
818
743
545
672
560
508
678
742
591
897
530
762
862
611
775
657
533
545
756
777
880
857
632
689
782
739
826
881
710
713
700
593
757
766
689
891
887
818
520
800
863
863
848
546
737
734
527
537
631
711
898
719
799
599
627
688
675
629
689
720
581
558
530
748
564
509
748
725
561
555
779
868
745
895
859
809
794
691
639
561
683
895
516
739
717
801
876
619
777
894
509
561
711
589
719
754
545
615
848
631
778
529
592
703
530
531
726
723
674
855
791
620
784
509
868
663
621
831
561
659
665
529
895
767
729
541
889
520
622
733
769
807
592
638
674
693
862
589
871
745
814
763
650
865
747
816
606
874
678
852
776
824
636
735
781
585
763
631
552
763
596
646
611
592
746
600
725
835
711
685
618
594
714
611
645
781
844
542
886
803
568
848
516
698
667
799
728
516
836
763
885
815
652
876
753
723
729
595
559
608
630
862
596
513
557
676
693
893
838
632
801
662
622
532
884
614
712
681
633
827
648
649
756
829
507
791
511
716
572
610
778
571
772
741
880
721
841
837
749
576
800
586
655
545
674
597
832
710
604
505
639
712
891
879
590
740
857
525
851
741
870
873
877
698
728
771
539
669
883
568
845
801
678
755
812
870
781
808
832
763
692
518
547
686
500
764
813
761
618
873
674
590
694
688
764
723
521
592
817
510
870
736
613
664
734
769
605
764
674
595
563
801
509
784
506
622
803
678
547
684
828
707
666
641
567
696
692
765
891
504
502
577
786
505
543
575
838
693
887
822
524
723
609
728
792
590
700
503
834
734
881
703
700
743
775
638
607
764
720
712
541
780
521
654
840
711
683
638
786
570
552
802
647
591
843
841
653
870
895
502
604
700
637
854
821
644
885
536
718
809
544
650
582
900
851
819
510
618
759
887
638
511
809
600
831
831
729
679
582
718
521
792
767
877
663
626
867
720
801
767
804
619
601
521
832
777
757
627
802
721
678
871
817
513
802
653
879
558
551
886
726
509
830
503
601
692
731
549
828
821
796
734
795
682
511
549
666
894
890
694
623
817
741
585
549
857
858
668
654
606
592
598
536
811
576
629
627
850
829
506
764
566
643
620
635
508
616
702
699
756
705
895
673
513
567
653
620
618
555
588
585
575
515
683
528
718
504
509
602
898
617
592
877
817
610
886
618
857
688
861
632
824
890
802
794
617
872
537
576
538
871
831
702
880
533
887
623
866
697
525
601
653
820
560
584
522
621
583
851
730
665
701
667
679
699
517
703
682
556
629
680
846
884
731
616
577
788
854
765
731
884
592
622
852
625
538
718
812
524
501
745
797
561
849
884
552
771
523
756
752
622
851
668
890
754
525
610
863
676
850
712
638
869
558
735
652
596
833
900
641
861
554
539
806
677
795
892
766
624
591
559
816
504
823
580
876
566
511
773
580
791
573
809
845
749
581
582
736
800
603
889
506
505
878
843
699
662
571
764
527
525
561
563
587
502
748
692
855
598
842
840
640
599
580
732
782
778
767
608
595
752
713
629
644
743
542
730
708
818
812
620
636
752
582
602
540
585
666
681
804
888
828
684
757
781
540
550
534
654
523
848
861
682
569
616
521
587
625
672
766
789
625
896
889
559
659
545
759
740
891
541
515
505
630
616
653
706
549
728
694
659
642
593
668
532
882
788
825
578
857
787
509
813
687
526
861
675
680
516
618
532
512
633
863
794
530
885
760
586
668
673
554
837
732
655
780
642
818
865
782
781
555
519
724
812
549
723
632
741
850
579
739
689
766
735
714
838
720
561
631
606
777
640
714
522
868
872
515
784
642
542
758
597
705
599
871
665
610
505
509
813
650
758
646
791
550
553
613
724
687
673
713
899
607
694
540
704
662
788
520
618
571
632
835
554
694
616
621
624
542
511
796
586
504
655
890
745
795
504
853
867
511
801
618
554
598
606
855
569
755
717
704
516
810
864
886
841
671
633
866
885
761
791
623
738
816
582
784
594
736
815
894
582
705
653
801
780
541
871
723
690
812
795
623
885
624
868
787
560
737
807
596
738
872
634
689
720
563
788
749
583
849
710
855
741
588
770
654
886
508
699
623
741
636
746
537
598
810
775
787
760
748
738
601
897
694
697
709
598
673
809
818
734
869
691
888
707
867
634
653
893
558
733
689
679
699
574
579
659
729
682
606
812
834
638
709
644
558
777
698
687
595
882
795
579
689
663
543
830
683
570
861
733
683
503
814
856
543
818
638
793
704
774
517
826
662
883
775
872
619
783
614
545
886
824
666
665
542
820
513
860
714
867
641
872
570
507
847
778
517
549
875
800
791
720
764
831
655
570
749
826
796
728
533
587
759
886
547
686
633
705
634
514
850
585
624
741
840
876
619
684
874
873
847
757
793
808
522
808
516
580
848
631
692
885
603
819
815
539
810
792
761
557
766
780
653
654
821
579
721
898
793
606
614
555
579
544
809
694
803
742
683
806
780
500
576
631
609
730
673
666
635
855
524
834
858
563
592
678
837
699
505
578
611
661
820
624
841
547
551
865
570
726
680
625
603
555
882
893
700
766
640
689
808
881
501
861
769
681
600
705
502
539
609
579
562
873
813
810
507
593
565
749
869
669
816
776
880
640
601
807
857
780
702
757
626
710
850
615
524
733
714
649
695
875
829
557
866
641
876
588
602
814
896
694
818
890
844
597
769
751
647
711
626
824
896
619
557
617
607
784
666
846
663
612
711
757
507
509
781
632
724
631
785
645
868
631
846
563
514
511
767
619
693
562
833
675
703
756
614
618
852
709
534
765
751
751
724
747
668
741
703
897
784
851
522
816
607
763
824
837
871
753
818
814
519
822
637
503
770
761
877
597
624
558
837
716
503
587
727
721
629
529
544
781
729
506
864
595
736
540
899
876
583
852
839
674
554
720
729
874
553
788
700
759
829
783
842
796
849
836
788
538
587
806
842
808
880
814
576
559
754
809
883
836
660
550
559
814
536
692
876
808
686
578
585
735
653
791
542
861
884
704
609
675
876
682
792
593
836
668
595
637
770
873
580
594
707
530
569
870
813
765
541
761
571
519
540
632
804
561
857
772
856
703
898
758
571
725
670
520
723
741
580
593
816
782
654
774
772
848
581
633
744
582
608
637
531
761
596
646
713
868
606
513
602
790
704
578
793
596
660
678
899
721
676
570
511
733
849
837
625
522
673
665
797
867
871
690
739
820
828
657
807
550
715
850
796
870
834
526
752
847
721
879
662
537
859
748
534
710
737
833
788
503
576
618
880
828
507
674
822
885
871
537
787
818
894
865
633
892
667
783
836
731
623
612
712
741
592
625
583
572
882
520
513
515
657
720
617
613
870
862
722
578
741
831
708
802
831
791
598
745
751
819
814
882
559
718
824
899
789
697
593
884
522
581
764
626
538
764
868
544
751
833
531
672
794
705
806
886
681
754
865
687
744
625
546
559
614
530
597
670
855
898
633
627
837
781
871
534
661
591
578
631
710
606
816
536
873
870
845
889
505
826
833
808
846
615
546
598
894
724
503
780
518
537
629
758
891
553
710
899
572
804
756
889
632
625
511
740
848
658
545
625
651
864
516
889
709
877
817
840
691
645
527
576
624
747
717
713
622
842
719
844
869
518
582
670
564
540
508
701
520
842
751
869
862
867
508
795
769
712
590
850
504
510
571
585
701
753
673
608
532
641
852
728
612
890
584
776
771
603
509
670
766
890
804
576
831
538
787
686
849
505
817
669
646
851
596
562
668
727
549
553
741
619
599
762
711
739
786
601
685
571
764
768
849
589
739
585
807
784
677
663
571
894
823
585
695
787
607
755
580
767
842
789
604
595
570
533
654
738
509
558
767
560
894
652
819
829
784
898
663
875
543
608
676
519
835
804
729
527
570
720
677
536
682
593
547
544
899
754
688
676
691
887
788
705
598
661
793
817
644
605
696
580
547
673
604
712
628
795
620
773
547
604
647
848
597
529
766
869
684
681
771
806
863
726
728
816
774
674
618
575
555
700
864
821
776
647
822
594
697
887
520
585
514
591
554
604
555
789
724
753
642
743
717
746
551
641
517
853
540
798
716
673
774
799
893
573
663
658
632
748
827
847
530
787
538
548
620
522
574
729
639
809
587
529
561
800
769
725
789
882
834
621
756
863
721
782
740
817
852
900
669
591
839
684
611
818
700
527
885
553
627
849
673
762
527
534
664
540
703
833
611
701
529
893
731
531
642
769
798
780
621
877
770
825
864
690
577
540
754
840
701
771
781
533
561
583
624
768
764
527
679
641
799
737
701
778
716
857
582
677
633
831
802
892
568
858
747
862
757
827
562
751
515
704
726
596
821
659
703
898
900
537
541
617
749
865
591
780
764
636
681
640
831
673
714
556
626
659
679
827
669
878
614
537
559
517
803
699
850
679
592
689
893
773
805
595
649
750
608
742
763
844
669
732
613
796
859
592
503
771
626
608
635
583
840
810
802
739
687
572
767
668
614
514
504
587
560
836
712
536
898
658
532
527
706
566
873
739
595
514
661
571
506
502
757
798
534
600
545
739
539
813
818
548
577
822
778
564
521
832
608
711
848
774
835
677
514
767
860
506
725
775
843
594
503
618
555
869
573
783
813
862
784
510
669
788
537
856
890
665
560
685
668
817
870
826
645
866
738
751
788
839
780
626
610
545
714
685
569
779
850
540
888
849
669
623
592
600
641
607
894
529
657
812
625
882
619
743
818
713
618
720
698
575
865
660
627
576
830
503
864
807
884
575
536
645
567
638
892
790
624
594
774
804
807
888
692
765
870
827
881
841
626
665
898
823
829
613
608
643
655
740
594
701
718
876
867
681
823
850
726
863
503
660
506
585
786
765
687
666
889
603
738
749
784
574
527
629
763
833
864
792
762
583
563
764
525
821
896
752
650
709
744
642
548
532
729
692
795
698
648
627
660
685
867
831
529
542
706
714
512
574
541
668
550
782
786
849
871
505
792
620
661
661
569
730
793
840
644
615
663
607
857
837
571
780
505
622
610
653
650
620
530
746
641
711
871
667
593
700
841
800
878
723
876
786
684
753
672
548
661
591
697
776
732
750
580
535
571
883
587
770
759
510
571
791
720
763
687
517
594
701
649
822
818
791
527
654
532
612
741
647
542
546
746
788
733
612
634
527
701
536
869
795
711
895
804
697
821
695
677
572
815
777
873
895
621
715
650
517
813
549
825
826
569
723
524
766
569
661
541
742
884
589
748
670
798
637
860
838
715
810
774
856
814
807
663
585
803
600
508
665
505
835
700
720
659
532
619
881
645
670
762
549
744
674
731
880
716
816
862
898
662
724
620
732
524
867
867
752
818
675
590
829
615
544
853
638
866
668
651
824
741
895
752
718
873
749
800
521
661
819
614
870
641
803
847
898
581
812
656
687
667
631
758
555
835
697
538
848
813
586
765
576
552
804
590
696
788
500
501
801
625
853
827
817
615
806
892
900
624
864
535
761
782
887
870
827
519
615
785
719
839
714
723
520
592
779
817
850
818
692
808
637
790
715
796
527
735
674
632
719
688
622
635
738
500
720
628
864
567
712
559
687
561
843
771
531
796
502
552
778
516
803
751
878
693
834
501
576
701
722
537
548
522
706
533
682
623
704
878
501
631
704
658
580
803
653
812
535
822
696
598
822
772
850
665
619
578
773
865
539
872
644
816
651
501
589
828
541
704
592
674
596
596
861
719
819
786
593
629
543
830
809
596
587
519
678
808
716
527
891
800
606
714
587
732
535
604
771
548
699
714
866
649
580
685
686
553
571
736
779
646
782
867
776
753
894
721
508
696
516
885
564
774
563
681
782
853
710
533
800
723
512
676
519
837
696
584
655
582
740
692
753
557
647
771
698
811
864
642
782
574
768
728
645
743
897
826
591
536
820
613
722
518
571
820
728
895
615
879
797
661
873
846
701
674
870
887
724
874
897
619
716
662
613
506
614
870
639
663
808
876
676
768
659
547
821
845
858
832
878
542
702
740
774
776
715
871
714
606
867
580
799
704
756
672
513
832
523
744
857
837
728
625
767
616
643
696
827
763
520
886
748
752
864
891
835
598
746
675
850
586
857
734
723
555
718
840
591
500
761
641
699
847
706
536
779
754
543
551
854
556
537
649
659
727
664
808
731
731
807
581
578
597
873
571
512
807
632
886
590
839
662
810
794
713
803
508
813
652
558
502
758
872
788
859
539
696
835
696
584
602
577
705
702
622
713
610
566
501
755
836
613
724
607
791
705
781
886
608
593
641
830
678
738
806
835
797
795
692
714
538
822
502
560
593
772
742
658
731
614
786
854
590
723
537
807
769
664
874
537
792
751
813
506
766
876
849
608
714
823
845
660
844
631
607
788
796
561
828
844
824
570
508
626
570
513
677
601
532
634
875
882
724
681
841
773
832
798
696
709
821
605
789
671
832
657
564
787
716
622
833
782
615
550
867
874
578
554
744
870
691
643
752
593
542
884
578
877
872
643
509
564
851
570
799
526
572
578
507
670
703
869
738
652
604
598
834
508
626
503
853
809
696
786
740
624
685
758
531
889
589
505
892
835
680
900
769
759
710
704
576
621
687
536
699
597
639
885
874
703
764
740
562
550
818
617
531
614
747
608
601
746
684
586
556
572
741
672
864
592
665
595
634
546
836
627
849
747
749
872
844
673
728
538
662
554
529
885
855
758
840
800
642
834
852
876
767
731
672
588
633
519
763
727
691
544
502
506
568
825
572
626
735
822
703
814
822
824
527
846
784
877
835
761
606
720
800
622
805
826
608
868
679
841
779
713
858
615
841
642
857
677
568
860
809
543
585
752
637
574
623
645
714
627
546
654
622
676
630
744
799
802
783
791
641
878
670
809
791
582
894
528
801
664
669
802
849
765
548
562
640
690
548
841
772
746
622
742
616
841
654
518
608
664
753
601
693
835
805
882
610
867
887
818
875
697
533
554
837
821
748
672
800
652
636
642
826
704
626
594
733
523
628
810
630
625
814
552
647
825
516
858
561
643
770
877
874
507
512
767
755
772
667
832
702
524
503
597
559
870
823
589
547
694
685
823
866
701
532
609
845
831
774
656
862
725
781
772
860
556
599
513
843
643
814
721
699
785
616
617
525
541
692
524
867
591
509
892
900
839
828
765
680
683
774
881
855
626
777
613
641
579
859
822
576
523
713
837
565
570
616
555
816
690
864
588
724
780
771
524
793
838
655
705
632
659
624
842
798
531
550
742
807
578
786
526
819
761
722
611
759
574
520
590
598
582
569
667
712
856
874
703
687
802
859
672
810
759
580
666
774
514
848
878
737
809
694
532
754
554
504
786
768
531
834
566
872
866
684
802
544
510
741
613
554
663
677
718
796
735
893
872
520
590
669
530
832
764
636
733
667
809
532
720
750
769
785
535
810
880
792
676
835
705
688
889
678
796
734
664
596
861
761
871
753
620
845
547
626
891
708
529
738
886
673
747
705
707
738
528
714
520
556
886
735
873
677
795
508
890
745
815
634
846
526
582
640
773
867
674
643
508
643
791
546
546
857
818
865
825
570
575
750
890
898
816
787
541
712
631
706
794
785
858
665
548
605
505
746
894
528
788
783
868
818
717
817
893
511
885
704
514
645
810
753
684
819
643
690
551
748
511
660
592
706
785
527
554
780
611
548
900
827
645
638
758
542
545
794
534
681
592
595
860
790
848
830
529
708
850
841
843
814
636
865
891
751
688
732
861
597
793
757
774
763
713
589
548
891
669
795
576
838
857
850
844
596
839
620
865
663
782
698
778
674
549
551
500
500
797
655
707
508
589
868
895
839
543
532
810
603
835
724
738
701
728
506
791
842
773
608
763
673
582
687
779
862
768
798
810
583
877
639
797
706
752
542
820
716
601
714
812
729
820
577
598
740
814
744
803
790
548
772
668
841
521
740
728
559
896
630
752
637
769
516
531
596
747
537
639
789
558
588
660
586
705
740
779
566
881
566
766
847
792
601
843
766
662
892
670
699
642
883
792
839
637
655
879
593
692
589
766
848
708
868
746
621
866
757
549
770
810
501
863
791
712
652
524
618
743
584
806
851
900
597
682
760
763
534
596
598
501
648
740
721
539
697
852
737
714
837
603
567
869
642
687
561
523
858
734
661
890
592
830
834
556
633
553
533
847
758
589
772
870
717
871
713
776
681
811
609
782
561
763
640
715
629
613
809
773
766
580
509
667
566
843
604
871
561
533
748
876
515
804
883
545
674
900
888
642
732
880
620
874
787
503
673
559
796
727
669
751
793
826
617
834
612
813
639
746
809
862
634
837
724
744
875
539
639
813
754
569
591
885
610
506
841
614
730
645
850
587
845
577
564
844
748
892
830
617
884
507
782
601
875
640
772
759
628
682
602
558
512
532
761
895
810
560
654
675
538
613
534
524
781
820
827
725
712
708
673
733
832
851
626
781
866
660
801
690
604
540
855
881
791
764
549
782
504
827
651
838
803
625
827
864
648
798
887
614
571
671
738
835
787
744
801
658
750
601
610
573
652
710
567
558
540
560
870
719
657
863
772
734
880
763
519
518
838
673
884
612
841
603
728
524
823
609
547
875
628
670
831
742
689
873
760
579
839
748
627
554
680
798
552
529
568
592
867
534
664
539
525
596
852
684
659
700
699
585
839
572
837
767
800
518
898
666
527
636
665
793
898
542
659
538
576
648
589
749
823
518
690
644
508
745
500
524
540
749
849
851
587
886
607
722
874
690
870
852
645
670
671
523
619
897
842
529
897
860
818
762
546
732
755
576
775
771
585
765
603
896
820
580
588
603
766
853
753
710
817
747
809
751
615
834
833
536
851
655
767
559
887
692
605
690
818
662
689
503
799
519
892
856
636
737
610
609
874
582
884
501
670
812
855
720
660
534
578
636
898
807
633
675
575
668
748
703
731
795
652
560
700
803
786
743
624
857
574
893
518
778
888
585
861
711
611
688
800
658
525
690
667
680
731
855
562
514
763
543
699
900
675
736
622
826
653
696
670
581
816
600
739
646
800
508
825
846
623
705
621
673
790
639
784
884
609
607
781
820
632
626
626
524
759
610
839
505
717
500
592
607
781
645
559
818
640
669
777
698
839
855
604
782
561
584
609
851
584
585
576
654
615
801
739
855
790
749
728
845
840
752
664
640
769
895
748
558
832
602
686
763
647
574
673
542
689
836
717
805
561
795
793
863
738
712
671
782
622
664
710
879
524
875
783
692
562
812
843
874
623
866
666
711
511
713
878
658
865
512
805
559
582
511
780
533
696
619
891
685
672
623
767
832
878
529
672
742
693
626
610
856
846
712
698
655
802
553
833
671
619
777
507
629
664
863
802
551
862
675
730
615
765
656
810
553
557
833
686
830
846
510
634
539
707
887
710
664
772
714
823
637
790
504
622
844
636
613
533
840
888
704
698
777
519
814
848
818
861
701
804
849
799
701
550
504
714
851
626
615
504
564
526
576
550
657
740
627
583
834
805
616
619
683
631
555
630
664
837
601
580
817
524
523
699
759
803
711
607
505
714
768
655
635
689
714
678
688
862
710
872
720
870
716
773
640
629
796
624
755
839
657
573
510
773
719
764
621
593
892
873
586
834
822
530
823
868
706
772
837
595
827
833
537
696
596
899
694
530
736
744
511
732
667
686
527
868
707
748
807
713
783
691
679
533
672
786
675
640
605
895
796
707
579
809
848
529
757
685
536
565
638
749
865
660
558
618
585
880
823
809
708
667
775
725
556
504
685
736
749
592
686
771
889
628
665
613
740
516
785
690
571
668
781
611
816
820
716
797
530
896
614
832
514
640
711
709
706
712
548
726
798
868
686
661
795
607
553
632
863
712
695
675
748
668
608
528
513
676
548
885
665
639
519
560
532
571
763
696
640
862
616
827
725
653
698
809
641
616
837
556
786
598
614
541
742
673
634
627
785
851
522
584
706
532
776
612
786
842
854
661
596
897
714
800
709
682
792
525
747
575
750
516
672
900
629
722
809
509
616
846
724
623
594
734
730
694
656
539
610
728
770
623
611
581
895
692
650
867
664
502
624
608
832
865
708
815
673
645
525
767
602
625
766
788
598
801
506
843
720
768
790
843
781
817
569
806
769
607
809
872
750
898
603
672
508
559
595
684
615
674
830
719
729
610
604
753
581
613
701
517
752
761
500
804
792
786
759
869
670
512
847
578
780
591
818
799
741
770
817
860
675
775
879
590
642
812
503
745
561
548
809
537
677
783
746
893
743
894
850
554
729
595
896
782
591
604
588
667
666
891
524
720
621
546
552
645
832
758
826
819
688
829
878
897
664
850
753
841
809
864
811
704
751
888
731
545
607
586
725
846
600
511
553
778
535
557
742
782
708
647
747
893
645
713
862
778
572
586
879
714
676
645
810
591
631
692
702
724
728
672
785
605
700
894
769
668
570
505
532
621
511
611
559
585
815
745
889
524
706
674
552
537
532
549
610
888
871
588
609
673
589
817
738
853
820
887
757
631
592
725
613
617
507
559
693
543
829
591
619
561
544
566
541
732
805
718
821
632
768
725
541
599
546
576
799
761
688
570
685
619
740
603
615
881
647
809
585
738
734
895
632
673
847
607
601
880
843
717
842
705
662
692
771
834
549
581
540
584
894
506
646
884
566
790
694
539
836
739
615
826
518
784
784
687
668
881
591
562
594
740
558
717
621
732
842
555
716
695
829
678
703
526
573
738
542
746
893
810
771
604
694
718
562
556
861
546
858
710
503
844
581
548
899
690
847
725
798
736
701
786
537
652
859
815
776
547
513
756
780
682
650
521
768
891
869
516
614
855
750
667
636
635
809
692
639
814
511
753
751
893
763
885
500
809
644
858
534
561
610
810
798
793
619
638
850
833
887
620
869
654
640
683
721
704
816
805
691
700
526
558
896
645
648
758
758
846
670
732
502
665
878
765
590
640
561
641
548
801
747
569
818
759
576
769
878
651
564
547
817
692
663
500
555
655
717
693
799
709
665
852
803
870
887
648
822
744
795
500
608
862
582
615
730
769
589
874
809
538
775
779
671
853
786
865
829
557
814
752
570
705
770
810
806
532
712
807
504
692
647
613
623
527
717
659
708
647
629
709
614
802
597
543
679
897
879
789
706
600
781
768
746
661
833
636
581
895
769
518
891
883
591
508
525
779
888
563
797
781
521
719
662
598
744
708
663
792
720
755
535
653
873
716
886
610
689
680
810
867
722
781
703
643
666
523
507
825
746
895
513
790
512
826
573
819
854
527
722
691
842
887
510
799
687
781
582
595
521
537
802
840
644
617
784
535
556
596
790
895
839
645
862
680
852
647
887
765
890
883
645
734
644
684
635
542
675
524
883
642
500
513
866
780
775
715
900
563
605
740
574
564
824
582
849
666
665
674
788
830
624
761
531
583
729
875
687
859
758
604
890
509
703
503
526
875
658
604
514
525
898
886
589
838
563
761
519
739
598
602
842
744
682
724
689
899
567
761
872
526
778
851
645
736
520
622
846
760
742
798
690
533
878
684
649
849
601
727
755
569
590
705
747
820
826
624
865
783
687
749
642
500
547
669
566
540
648
698
565
529
892
859
625
868
516
843
860
706
798
841
772
825
690
873
803
780
621
768
523
560
559
510
863
623
769
522
684
799
787
654
818
584
578
733
609
707
783
575
567
700
593
550
697
704
520
741
858
508
713
585
652
728
514
670
658
809
759
879
824
553
638
757
502
554
875
730
557
561
874
610
864
689
538
850
651
661
658
568
748
501
540
512
808
526
855
590
735
847
883
729
723
615
510
691
749
754
650
516
726
609
759
785
852
569
659
635
571
537
517
818
817
768
756
865
532
694
889
824
525
631
802
656
506
754
510
829
580
584
572
686
529
667
636
620
513
699
533
505
829
736
714
581
812
644
609
563
767
838
637
746
735
635
776
894
682
810
649
513
764
741
591
817
872
728
549
632
597
732
630
591
514
707
805
572
646
779
540
617
540
502
651
797
727
688
823
568
832
671
734
809
852
635
564
813
582
723
631
560
572
874
827
881
645
617
629
523
522
774
735
773
642
706
597
637
612
681
511
758
622
786
821
808
802
623
580
639
573
513
533
787
737
853
504
867
593
577
852
585
848
656
775
659
770
774
553
503
644
889
670
858
527
528
514
587
835
682
653
625
503
623
523
774
588
740
815
623
835
716
644
564
750
721
876
801
649
563
593
695
676
678
501
859
550
817
514
742
744
552
895
699
588
852
672
708
581
737
578
728
593
731
891
874
674
792
840
833
869
614
782
731
881
570
680
864
632
863
875
699
700
667
685
527
696
597
645
834
603
727
756
829
554
621
895
622
530
781
540
893
817
880
691
511
589
796
829
573
570
719
533
619
777
778
589
656
795
865
631
607
832
648
650
620
685
818
623
720
585
727
728
837
850
583
788
776
859
809
684
610
649
575
729
520
622
548
596
519
891
810
680
505
606
759
828
837
597
506
640
666
788
736
511
735
579
558
599
862
841
773
880
529
708
856
701
544
900
604
668
726
831
808
598
744
721
854
655
519
555
676
693
681
631
647
679
795
614
654
817
858
746
725
605
767
724
623
740
617
876
879
610
855
777
518
674
803
609
680
845
621
556
571
500
687
660
732
732
868
549
847
640
540
509
763
753
729
693
502
651
549
752
736
788
549
678
621
735
705
662
614
711
893
894
647
833
621
515
683
546
755
880
584
724
880
521
636
875
515
507
712
739
503
535
699
514
863
778
695
747
622
800
530
594
859
835
798
694
880
823
503
586
875
639
830
544
674
829
834
551
626
652
859
706
854
684
525
830
738
718
860
814
608
566
672
548
839
772
585
646
555
821
575
720
712
869
774
623
720
848
798
829
681
624
512
566
642
627
525
578
894
770
829
880
776
562
855
588
860
713
797
836
834
708
662
792
737
589
782
677
540
632
746
681
865
625
807
724
841
766
681
874
579
875
647
767
641
835
634
702
698
704
634
656
823
692
749
806
547
844
729
644
883
594
670
649
838
740
528
755
784
568
622
765
516
843
762
599
867
810
635
624
599
643
822
712
712
785
802
524
612
668
546
545
647
655
596
754
850
642
663
898
900
546
680
660
610
529
589
648
891
603
772
858
704
879
508
848
662
757
857
845
869
622
784
752
734
898
557
790
544
833
547
550
739
654
612
670
683
897
561
591
611
836
617
707
592
853
870
715
664
883
801
635
592
552
806
649
829
508
729
520
885
789
810
708
703
894
617
659
877
826
580
563
661
776
661
522
728
859
796
746
765
554
533
507
692
867
685
568
557
769
893
771
897
572
867
744
821
600
704
548
835
630
680
763
584
733
691
746
815
669
678
795
788
604
703
596
900
574
509
855
610
711
711
741
533
604
801
577
590
708
569
609
755
786
895
834
528
555
601
805
840
559
795
666
867
634
699
766
698
624
505
752
646
863
814
617
584
688
527
653
623
592
596
541
878
887
765
514
708
857
742
678
600
719
643
627
720
789
633
852
718
812
695
570
862
679
761
590
546
686
528
531
628
616
504
662
693
654
623
877
534
646
636
632
543
877
865
842
568
503
759
537
611
895
627
545
758
600
841
751
555
835
704
800
553
551
799
502
827
820
600
616
506
637
795
537
820
634
772
620
866
725
716
535
500
518
555
625
673
889
532
689
539
792
824
606
725
692
589
860
878
720
775
899
836
665
888
597
720
839
625
625
757
630
515
781
836
641
617
799
855
641
852
569
555
624
566
592
802
814
730
676
627
636
836
874
720
700
632
626
877
632
697
515
513
748
650
891
547
850
602
899
837
808
500
811
839
853
602
668
745
505
649
693
726
624
535
588
816
666
896
518
770
675
538
779
570
713
816
599
643
595
568
883
881
752
709
726
842
896
789
729
558
650
539
668
529
576
891
693
706
596
687
827
781
625
605
779
574
865
585
900
573
769
584
769
796
521
881
555
696
747
846
558
657
565
662
829
759
720
808
742
745
817
836
637
761
551
856
526
614
887
881
533
702
661
719
741
516
595
531
814
556
608
875
576
534
893
640
774
796
650
675
562
518
814
813
893
872
751
880
734
515
690
676
703
577
805
754
529
600
507
639
663
852
601
540
644
717
877
725
691
714
734
654
720
583
568
621
698
615
802
780
605
519
845
750
755
867
632
664
886
698
570
566
607
545
700
683
785
665
787
681
776
577
689
547
573
796
682
619
532
759
610
519
653
691
618
801
657
636
786
672
517
643
803
687
834
690
744
861
509
628
549
898
604
879
675
843
696
587
511
524
578
510
762
598
666
673
512
800
843
849
770
624
882
517
696
735
632
881
780
693
560
852
559
848
593
846
767
628
685
649
844
545
709
590
685
763
692
737
798
851
834
568
835
614
689
819
842
592
515
606
546
679
512
828
778
725
749
588
617
609
582
744
836
834
815
504
742
626
609
534
794
597
870
642
856
607
788
666
657
706
589
816
829
870
685
563
607
703
645
755
852
887
733
538
715
622
808
667
795
867
838
607
848
793
862
580
515
868
687
804
730
813
816
537
622
868
725
828
840
687
738
785
726
584
529
719
895
682
563
892
759
729
756
722
553
634
620
737
722
810
718
568
684
754
582
510
705
752
673
761
715
526
702
789
897
739
740
630
758
842
846
609
841
716
644
864
775
574
675
563
691
632
887
760
656
700
563
769
725
526
549
650
601
695
683
517
628
764
606
837
566
774
809
519
636
528
656
767
822
606
806
673
556
883
575
549
726
748
703
867
665
791
792
738
629
876
552
889
623
543
767
860
611
627
684
582
868
510
649
867
648
781
826
863
819
657
641
539
623
693
569
572
776
535
561
778
890
773
745
675
774
615
700
893
801
714
896
699
729
586
716
583
751
751
630
560
548
541
827
514
839
552
521
890
549
566
804
628
556
631
719
682
753
644
735
728
813
514
828
531
520
645
508
523
743
602
556
504
672
654
604
519
840
670
741
575
540
535
870
787
719
728
711
590
865
501
515
664
504
569
547
690
620
508
833
853
841
766
855
890
658
556
865
657
864
810
768
611
863
716
677
654
741
667
696
557
609
661
605
666
762
756
832
859
866
502
545
639
515
799
811
696
649
694
814
504
757
536
644
858
553
861
506
840
667
869
876
859
689
866
696
744
559
821
708
669
762
875
792
895
603
659
559
739
686
814
608
828
677
724
630
611
521
584
531
511
746
746
568
513
827
524
510
551
620
555
691
541
829
814
707
636
714
668
825
808
725
874
856
647
753
569
878
704
811
823
885
706
897
825
504
600
790
725
715
608
854
718
748
721
663
703
632
555
829
790
835
621
890
537
883
776
608
784
506
872
684
778
796
544
864
592
874
594
897
554
665
515
546
601
608
784
672
735
575
822
584
536
655
816
611
613
863
592
501
852
533
851
893
898
543
769
801
659
547
771
753
587
594
650
537
757
618
525
861
757
741
714
516
668
881
530
552
882
730
568
630
571
671
606
793
516
879
554
665
542
584
788
741
573
559
523
701
869
509
650
579
585
853
816
837
517
757
728
551
780
504
556
867
713
738
857
610
757
652
645
717
842
888
528
729
865
815
682
525
836
651
613
641
539
897
558
549
540
759
702
866
797
687
532
564
639
599
667
747
780
721
709
881
559
856
706
874
808
510
623
592
691
742
707
540
658
720
704
806
857
880
568
865
698
705
871
600
897
592
884
759
729
834
899
848
817
631
809
630
610
673
837
524
513
853
523
695
682
766
660
768
582
607
760
706
722
782
876
865
874
506
840
844
582
542
811
807
509
623
548
585
800
670
848
838
807
696
635
772
634
774
649
751
624
694
900
515
573
893
563
611
827
514
629
518
572
706
856
710
677
842
684
733
763
565
658
527
500
503
814
662
522
646
832
724
830
526
870
621
843
794
604
575
696
637
655
829
522
748
669
646
713
781
588
812
673
805
610
773
538
771
552
744
509
769
685
553
712
612
702
771
749
685
861
800
547
895
714
666
535
888
829
589
865
770
575
849
870
619
705
694
542
900
734
847
758
505
762
821
608
630
747
872
784
581
606
528
543
729
795
834
783
713
720
655
781
623
570
746
637
540
531
614
831
759
877
517
777
677
646
733
853
634
583
830
708
796
811
706
558
561
838
823
793
538
765
799
731
684
857
856
665
524
632
706
722
819
649
755
571
559
820
829
577
612
599
584
578
812
895
756
697
644
566
856
696
749
705
816
546
840
891
515
649
682
646
599
528
570
894
769
894
515
825
787
544
789
657
841
821
793
859
535
682
839
808
873
504
732
744
609
509
796
888
870
681
814
603
749
898
697
820
610
660
838
569
506
543
633
737
674
625
768
515
579
637
847
577
896
846
695
637
628
567
794
788
835
863
686
694
798
540
645
618
739
556
606
714
888
688
751
520
751
577
826
540
653
761
607
686
898
568
800
668
876
532
705
690
647
855
739
771
758
785
557
813
830
675
562
822
599
762
841
885
894
857
813
862
769
888
548
775
524
540
587
701
780
740
699
873
811
665
540
802
686
601
766
835
527
728
721
736
790
898
790
770
648
850
524
541
568
792
516
801
533
780
692
669
567
700
542
719
723
782
631
505
759
839
648
529
676
527
804
682
704
853
859
775
755
730
888
665
642
816
560
767
606
739
704
809
749
875
644
602
569
631
817
897
798
684
857
886
647
706
852
520
550
604
629
755
719
553
817
714
504
665
841
653
745
881
721
637
753
549
831
646
627
679
668
837
899
865
893
521
520
656
641
703
631
536
689
510
861
785
686
632
697
757
701
587
702
773
501
525
564
749
718
729
661
646
530
862
588
646
577
808
699
848
542
613
895
849
702
598
735
854
581
628
794
530
572
883
892
579
775
887
898
685
822
510
883
853
784
895
886
532
522
775
884
840
748
859
834
529
667
852
629
772
878
583
558
652
591
859
817
698
503
530
860
790
553
766
849
510
586
746
500
557
750
730
782
782
507
674
900
895
775
829
673
812
880
518
865
782
559
675
551
744
772
772
622
772
757
599
743
682
570
610
635
790
725
807
663
514
769
827
760
557
716
662
808
747
837
894
799
659
626
717
571
893
611
798
762
889
765
559
643
638
793
517
862
598
510
809
782
673
788
899
686
862
813
645
787
722
625
532
779
593
778
788
719
626
765
832
721
801
739
677
785
773
503
850
559
799
610
716
607
691
663
587
861
507
643
615
537
568
694
583
851
519
742
597
692
747
683
876
697
842
669
537
779
655
671
666
837
545
868
731
876
826
539
776
787
750
646
860
519
735
708
706
745
503
772
641
728
697
580
508
882
632
731
598
553
899
587
813
824
819
851
837
564
689
773
795
722
727
680
540
716
733
755
711
804
520
549
717
795
780
836
692
822
601
607
580
559
695
632
788
624
799
553
842
590
538
762
740
592
759
770
581
825
736
601
574
862
839
814
684
664
641
524
744
570
628
732
585
584
505
621
692
875
641
651
696
892
572
712
551
575
569
505
847
785
794
853
741
626
713
686
619
630
789
529
517
805
580
816
660
851
540
887
896
840
584
677
652
571
838
514
727
684
869
749
865
608
501
557
826
521
537
717
744
605
623
885
772
815
647
576
534
675
863
731
884
613
897
555
613
790
738
858
595
531
741
625
623
535
853
791
556
726
769
876
605
636
543
883
696
787
849
860
654
632
712
567
668
837
677
881
858
536
629
837
584
707
631
674
641
619
727
778
788
624
737
806
887
777
837
656
661
854
807
667
569
654
816
857
788
738
823
801
615
759
735
564
562
596
831
574
852
723
605
616
624
886
785
832
604
769
687
770
800
659
682
697
670
607
610
529
516
811
733
871
629
516
887
512
782
702
764
826
563
588
534
838
552
848
753
602
646
560
542
533
611
708
569
819
651
706
526
718
698
612
523
834
575
878
530
673
754
579
541
664
677
823
827
649
651
557
595
845
600
882
550
872
801
602
730
514
547
716
861
501
752
658
831
506
624
584
805
680
881
811
506
864
598
703
870
681
514
896
514
774
534
671
608
859
854
880
633
857
734
645
646
639
899
807
555
521
834
803
522
748
645
808
763
657
616
554
522
508
770
601
806
598
736
512
615
701
577
807
793
790
844
567
786
588
500
673
580
866
564
646
554
882
561
705
606
670
744
557
850
744
631
688
730
801
692
542
732
764
701
537
871
833
718
708
853
861
588
733
863
839
524
631
716
781
813
506
694
748
750
824
640
587
515
533
543
811
858
592
571
865
530
578
659
700
889
530
764
839
754
814
521
679
767
817
607
849
831
578
880
807
625
765
647
699
700
653
728
566
514
653
619
885
849
641
592
824
582
706
700
546
623
536
608
641
584
776
645
832
627
784
566
614
726
828
647
628
848
762
702
895
644
565
772
615
858
785
645
692
676
535
686
831
537
881
640
707
605
645
888
727
793
649
878
845
550
840
688
819
886
595
528
518
559
606
826
811
814
803
752
820
833
667
821
897
900
849
640
584
689
754
583
551
588
737
688
890
596
769
583
629
547
626
637
691
728
649
769
758
622
622
677
534
530
560
676
874
836
544
795
873
856
820
852
629
520
604
770
719
857
802
647
876
801
783
503
720
604
529
713
743
695
884
501
795
846
647
543
566
557
546
602
740
634
794
851
551
510
589
894
862
743
750
881
833
798
603
737
641
610
831
678
743
707
609
719
763
667
515
527
523
778
862
762
801
613
608
756
546
797
593
846
766
594
670
545
675
550
678
644
550
836
578
564
802
632
625
741
652
780
596
770
801
797
781
769
543
811
630
765
586
610
765
553
743
763
581
587
553
515
651
515
711
806
831
621
619
563
638
624
800
532
728
759
712
898
764
553
841
745
578
633
881
523
642
710
612
599
673
653
628
790
876
569
712
734
644
746
751
822
610
795
570
763
624
667
693
655
855
862
634
513
532
530
542
816
701
732
895
790
570
673
510
637
551
699
675
775
874
515
637
851
696
521
665
891
731
526
844
811
527
883
508
523
561
787
768
890
642
699
647
575
501
817
666
518
712
682
708
567
551
886
767
802
682
706
633
660
720
630
635
900
837
727
771
757
527
853
726
573
697
761
519
866
748
893
617
861
541
539
697
504
789
804
808
642
780
720
625
605
888
727
647
588
720
627
568
822
875
635
719
622
598
656
544
662
877
663
569
522
655
619
591
894
703
832
539
820
718
701
843
609
841
885
870
778
730
705
658
700
863
889
804
503
506
866
792
850
872
798
691
521
623
821
757
711
689
649
654
831
601
733
664
609
747
606
583
789
758
584
687
626
592
746
575
881
725
662
529
771
546
702
596
518
650
668
679
642
853
751
841
656
653
789
700
759
805
681
857
710
831
573
814
836
790
785
852
833
691
806
608
571
676
582
799
537
538
595
681
815
671
574
808
718
851
563
606
852
764
814
559
591
877
827
510
617
652
626
660
712
858
690
707
744
814
812
788
702
629
527
568
601
699
775
874
805
772
650
609
630
561
810
680
585
614
896
754
749
782
876
770
774
748
870
823
878
757
656
866
605
747
580
718
534
706
740
772
564
865
567
853
516
676
579
812
772
710
519
531
717
863
520
808
899
763
721
585
565
598
588
846
608
849
843
753
800
632
894
828
554
554
553
807
529
791
873
519
889
870
822
828
856
642
684
590
886
664
759
855
594
601
781
564
619
720
790
882
733
899
654
651
729
705
696
554
736
828
828
644
518
696
807
592
665
688
605
880
851
887
869
738
743
763
617
523
727
798
724
781
767
515
694
783
893
826
710
671
543
672
713
769
641
739
847
900
826
881
616
788
836
504
641
696
665
875
734
605
787
801
863
560
657
764
566
826
809
701
513
726
579
620
761
535
579
757
876
779
718
841
544
783
656
622
522
887
880
806
631
791
590
709
708
634
863
552
689
736
831
883
710
700
535
691
600
765
555
505
841
779
646
624
704
559
602
553
833
863
883
523
877
886
856
731
640
881
723
650
704
855
580
681
825
696
793
696
795
778
519
632
652
511
846
605
593
899
710
671
900
859
525
810
685
703
608
727
739
579
528
586
874
656
707
833
809
605
686
624
547
684
660
736
736
548
539
881
817
606
793
806
859
555
724
700
862
514
794
604
579
874
511
711
881
610
739
563
738
733
668
805
563
706
888
564
868
777
728
606
729
571
788
696
544
833
891
696
710
795
609
562
792
740
888
611
548
809
513
899
566
857
593
830
690
749
693
822
679
684
866
771
776
894
596
844
830
724
585
735
501
805
717
836
795
878
893
705
736
814
597
631
738
723
538
510
687
608
812
568
711
736
514
897
560
818
519
832
815
725
638
746
711
651
760
822
667
675
741
540
826
816
835
566
752
552
815
539
508
711
891
649
523
525
616
835
850
706
738
897
706
671
775
558
900
759
769
682
892
765
804
858
578
541
586
878
795
716
824
585
519
562
532
620
631
553
725
626
604
819
595
613
603
701
569
583
519
555
779
840
625
828
738
770
751
708
727
536
610
777
798
561
897
710
713
889
652
892
656
640
573
555
598
685
513
857
789
851
691
757
563
758
659
533
873
522
558
518
844
599
552
589
550
840
629
542
732
719
801
507
676
562
623
525
812
799
555
860
627
760
708
710
832
898
831
580
632
577
804
808
773
895
797
836
598
665
655
592
784
670
891
673
669
630
683
756
813
610
590
769
748
793
506
810
839
785
726
620
518
797
645
605
857
597
559
867
706
658
879
586
790
555
674
746
719
679
713
518
875
696
754
607
813
613
754
681
570
614
772
796
708
625
861
838
548
611
862
888
731
554
635
580
598
799
728
500
884
645
522
511
732
527
882
859
622
665
644
864
665
884
635
719
549
521
640
754
746
728
842
761
636
877
874
876
830
826
605
526
723
534
572
628
547
792
765
624
530
883
625
712
736
876
505
766
616
866
601
682
824
779
834
543
812
822
585
528
867
710
875
867
834
895
877
610
772
777
847
509
618
509
836
751
733
693
794
640
522
831
534
773
728
838
568
816
523
592
746
586
673
860
502
540
630
506
793
622
729
781
856
600
607
529
888
609
661
573
811
555
745
697
807
596
679
610
711
553
821
682
792
536
750
790
658
735
667
604
525
736
500
649
734
873
697
788
809
713
584
560
534
832
769
770
676
638
515
793
680
787
797
573
831
506
841
578
562
761
659
597
688
687
885
585
645
728
741
838
586
805
831
735
575
543
544
864
804
715
806
651
505
847
722
594
832
758
518
829
731
624
585
607
814
721
776
522
688
860
666
798
806
679
829
741
522
522
578
504
816
647
691
694
552
581
880
549
710
845
690
725
860
709
501
878
518
875
898
879
565
711
683
616
570
550
601
571
839
800
736
892
832
828
501
644
862
674
572
624
593
565
683
772
898
748
848
806
640
720
767
679
748
697
525
700
830
591
513
595
884
619
762
651
633
877
645
722
768
768
652
555
594
557
525
825
574
885
501
665
641
874
681
517
827
806
865
611
613
870
561
804
868
820
891
734
571
542
621
739
795
886
594
521
762
734
809
793
792
535
895
807
687
735
551
524
549
770
655
797
759
508
581
820
675
797
675
676
679
540
608
850
728
759
530
530
591
517
641
625
879
834
741
618
653
814
585
545
855
598
769
770
821
622
770
842
635
859
737
642
575
762
892
678
604
768
539
701
659
602
820
718
747
728
778
507
579
840
795
666
553
623
870
574
719
609
861
759
535
810
640
817
872
881
771
736
749
576
509
732
724
870
676
582
670
753
827
725
723
782
775
564
800
859
789
858
862
607
892
557
533
784
597
847
670
849
632
659
540
808
608
738
681
518
589
599
571
807
663
882
631
887
633
894
589
712
804
781
741
813
753
545
762
558
609
552
659
561
873
657
688
624
829
645
810
691
533
705
676
788
874
591
668
520
529
827
753
835
637
896
660
760
749
897
846
835
559
626
897
746
872
606
669
663
512
818
643
537
886
896
900
650
759
724
624
588
537
842
699
874
788
604
705
513
581
712
863
718
834
655
686
752
648
885
823
595
842
747
572
773
523
639
581
778
746
653
644
590
810
856
800
889
874
853
763
557
854
599
778
693
732
644
686
882
543
841
859
888
565
590
823
573
522
877
792
601
690
664
782
683
767
767
830
631
523
699
609
702
519
793
609
593
832
642
519
548
647
817
866
593
882
840
701
752
858
640
848
746
543
801
518
706
872
502
868
604
823
748
885
599
830
671
750
749
624
688
784
816
559
759
664
814
640
682
842
517
505
514
699
576
699
845
578
791
597
724
669
858
818
864
749
881
773
592
557
531
802
854
706
790
591
900
881
633
722
536
886
828
560
686
659
556
882
879
736
515
665
592
590
808
875
878
887
629
728
550
718
724
706
821
755
816
770
743
696
757
559
557
546
712
885
875
893
814
792
857
857
578
710
627
705
745
653
610
860
547
548
636
618
776
878
750
731
721
523
755
710
791
594
607
569
539
535
672
662
648
639
560
883
782
870
899
890
696
581
749
896
758
513
669
826
584
631
865
744
640
715
743
761
699
527
734
749
705
872
785
717
712
584
616
852
784
665
720
789
718
799
522
814
668
530
504
899
881
893
684
818
657
673
781
749
548
598
868
654
613
553
634
680
828
877
545
804
876
738
558
666
833
604
719
596
805
807
896
769
544
633
581
621
651
781
777
821
775
894
651
753
712
533
631
808
537
882
769
770
890
615
797
774
601
767
690
597
632
722
805
744
804
861
653
732
627
660
634
560
788
643
886
660
555
838
711
585
819
770
678
556
855
529
880
832
687
665
886
770
854
871
878
862
747
578
579
820
655
511
762
533
638
818
720
893
648
593
757
773
520
795
758
596
690
756
631
508
521
507
662
839
697
719
865
597
720
840
833
603
531
555
555
839
709
636
792
646
689
608
618
720
744
775
548
773
744
640
797
620
809
857
874
604
790
684
540
641
709
764
744
560
826
685
632
670
669
713
898
522
621
750
554
592
802
559
618
596
875
633
597
825
623
639
822
809
816
589
838
744
511
644
557
606
789
666
612
635
615
713
531
809
735
606
766
709
827
836
778
672
610
663
510
688
543
709
589
619
673
741
876
543
727
642
553
683
668
642
889
859
514
562
821
719
631
677
532
718
839
704
774
513
596
547
536
737
515
546
636
567
865
569
560
635
784
546
802
796
878
855
705
840
861
540
625
789
877
512
802
725
584
664
826
794
862
520
527
551
814
770
859
658
601
816
524
702
728
586
568
738
535
533
523
608
786
511
535
794
654
864
530
504
529
656
669
751
677
742
635
679
504
755
812
614
823
696
744
799
850
504
687
579
648
781
793
738
657
742
534
726
582
547
665
561
532
500
782
516
609
694
670
599
883
738
574
505
643
720
738
762
603
814
520
625
759
564
834
510
742
709
857
619
629
793
531
543
851
721
501
531
785
680
874
702
819
884
880
547
784
562
543
568
825
504
582
588
692
859
725
899
523
709
604
558
658
511
864
721
717
542
704
762
883
823
859
855
674
532
548
604
726
672
632
766
649
641
529
623
879
900
597
885
524
733
708
650
724
694
721
873
880
774
823
878
568
676
827
544
724
624
868
584
651
683
732
633
528
870
594
719
877
530
511
538
817
644
644
606
731
579
574
718
510
665
778
895
829
562
529
775
880
518
742
875
884
852
885
609
895
628
556
636
832
854
708
507
752
900
531
739
699
801
686
575
660
896
618
541
770
694
581
543
770
571
557
596
872
679
761
720
550
861
899
867
576
688
851
509
682
892
714
563
805
722
634
595
627
821
563
713
622
581
608
881
868
887
859
570
769
830
887
845
805
728
753
858
713
694
587
863
715
837
876
692
562
854
728
717
821
559
578
505
768
826
663
529
820
564
688
873
665
714
867
687
779
644
857
611
518
569
584
772
791
874
702
801
838
695
665
828
631
782
568
789
816
689
767
683
581
831
610
670
659
573
741
810
623
699
870
812
768
586
727
677
613
520
570
814
552
879
655
805
782
500
753
656
837
515
693
760
779
624
562
621
767
746
868
539
882
577
873
766
813
528
875
722
539
722
586
571
782
616
616
826
899
852
719
535
657
849
572
878
808
702
753
732
836
888
810
674
739
526
734
878
801
876
572
504
677
769
891
500
561
844
815
682
746
631
541
600
740
839
770
697
853
865
850
633
819
600
709
773
687
607
828
660
590
715
817
676
842
653
831
604
702
586
574
522
531
534
671
803
833
899
831
778
824
724
574
724
827
635
564
859
812
833
642
520
875
575
749
771
733
609
793
510
528
694
785
536
638
675
893
635
609
663
632
640
603
581
742
738
594
557
645
851
705
526
623
678
808
836
521
850
530
771
788
501
542
742
757
820
532
899
667
831
588
786
610
695
755
893
659
721
741
560
838
719
694
811
642
553
706
650
581
656
789
713
827
832
817
615
876
725
701
741
672
710
767
837
691
835
595
797
645
539
777
635
707
673
635
896
641
684
826
612
526
714
867
578
784
695
503
547
834
681
655
664
881
857
618
841
892
779
599
705
796
845
834
586
810
795
507
838
610
551
525
531
784
862
854
853
629
751
864
761
555
614
745
826
708
637
662
766
578
700
516
741
824
863
555
843
581
770
696
827
736
718
514
655
653
588
880
808
582
822
686
785
781
829
896
534
757
853
810
843
851
886
593
548
523
803
777
506
510
660
665
608
693
828
713
666
637
560
651
876
770
849
645
594
535
721
649
874
838
620
869
636
897
883
843
658
628
894
834
669
606
744
578
800
797
817
811
544
521
811
778
582
809
693
874
550
602
847
549
550
879
858
770
718
756
729
701
521
815
543
521
806
898
719
884
580
593
743
783
665
676
776
608
674
625
564
805
548
640
787
629
805
790
557
642
613
604
830
712
582
679
877
857
806
877
742
561
650
581
883
535
666
505
743
657
895
660
789
503
700
560
741
794
634
576
592
580
656
525
651
542
802
532
785
678
537
791
846
781
680
760
595
742
513
661
860
890
839
620
828
815
633
771
596
757
616
858
572
595
724
799
652
748
736
820
771
855
865
570
760
595
724
630
517
797
855
725
645
626
650
603
625
546
633
522
766
608
683
646
569
756
892
565
729
810
843
607
882
719
661
668
768
738
634
613
893
885
601
896
864
696
559
574
798
544
849
717
513
581
680
570
833
831
576
537
783
891
851
798
852
830
861
565
658
529
665
502
650
729
762
837
619
584
538
628
741
590
642
748
867
688
741
516
804
811
532
543
771
517
752
765
773
792
814
790
604
586
756
886
645
568
655
703
720
835
537
598
704
794
835
882
866
637
717
532
698
560
787
605
569
851
602
648
627
863
521
648
636
731
860
516
703
810
840
583
624
646
600
865
602
575
549
521
536
581
532
842
873
848
578
809
757
615
528
587
653
541
801
751
868
705
750
815
548
528
848
855
678
861
898
622
656
643
754
806
731
618
631
842
555
854
731
545
860
792
835
689
576
695
637
867
706
795
873
760
645
874
752
561
553
740
627
563
584
772
795
874
606
829
893
846
645
737
568
547
783
821
895
637
697
721
869
897
551
646
533
839
523
762
669
722
590
511
564
823
597
629
553
515
509
623
523
865
671
532
649
514
851
772
770
795
515
560
776
688
679
828
810
807
622
605
646
532
823
513
833
752
707
752
825
567
789
605
547
740
659
723
605
502
564
754
562
804
557
737
550
836
585
754
863
622
791
848
530
613
619
868
600
516
666
676
814
508
636
725
577
502
720
830
612
807
654
574
564
892
813
813
787
811
507
550
676
523
838
568
737
780
622
852
823
712
582
769
767
880
635
645
609
628
509
653
712
874
560
682
866
545
740
789
900
725
896
796
704
522
788
683
640
638
573
867
771
736
618
788
543
619
691
586
682
530
535
724
817
784
519
900
511
688
629
711
515
766
873
762
766
753
671
601
620
867
844
875
540
862
776
611
577
839
796
815
563
782
865
534
568
740
888
789
755
647
571
866
872
757
541
900
750
533
731
716
653
841
526
543
605
519
735
612
609
769
728
619
630
660
622
808
541
807
608
591
858
557
871
678
511
666
819
845
693
616
759
875
782
631
548
842
556
692
782
572
789
782
683
818
679
885
799
723
802
570
631
629
569
750
528
640
675
604
574
561
788
683
887
802
531
669
586
694
631
734
658
790
599
629
616
656
877
758
522
780
736
620
854
591
593
867
532
545
888
841
609
648
734
725
814
874
688
644
664
798
550
837
575
554
650
565
830
714
524
788
635
537
802
884
722
691
762
887
524
861
859
565
637
833
821
682
825
655
655
837
537
610
728
749
873
765
747
780
534
667
666
882
702
836
765
794
669
885
795
850
678
816
638
711
850
574
866
788
884
655
585
522
578
736
884
820
578
512
772
827
609
865
669
882
762
895
528
662
748
755
628
900
857
831
518
516
608
500
632
552
705
780
723
673
830
560
850
769
532
511
557
855
714
511
524
598
678
520
882
604
521
719
889
648
868
581
798
572
854
581
626
888
778
891
637
787
776
711
867
633
830
684
773
783
650
559
645
762
747
787
752
715
645
571
735
509
510
518
852
836
553
595
824
584
852
887
632
822
575
540
519
712
578
654
899
512
615
763
599
711
552
623
562
864
524
547
806
871
515
512
571
656
777
652
642
523
873
837
525
683
676
762
860
703
726
856
768
607
821
801
673
860
690
897
875
778
893
592
822
798
726
741
517
507
837
798
683
672
743
718
816
696
514
826
529
842
834
749
712
892
536
719
616
619
543
676
553
816
647
831
661
813
744
837
603
509
601
640
840
592
593
571
787
820
816
629
667
818
896
635
613
822
845
595
594
544
656
806
631
759
697
886
685
703
824
531
617
519
505
616
825
812
527
756
653
753
661
576
573
505
681
533
828
528
551
767
785
704
672
550
732
504
846
586
840
545
595
778
780
608
871
513
612
740
674
878
831
675
554
866
568
774
766
819
688
630
533
826
520
578
512
565
621
652
585
672
502
533
535
509
837
798
523
607
732
508
862
683
889
579
761
750
556
887
643
503
729
547
837
722
750
511
607
674
650
675
673
711
754
712
649
667
562
501
880
641
772
841
777
697
769
517
569
774
757
575
699
561
689
723
759
651
885
788
688
740
797
684
579
682
711
872
632
564
518
804
528
548
631
692
716
807
749
833
555
807
693
665
576
778
528
621
880
661
725
558
823
856
673
745
672
618
556
509
692
665
838
801
636
673
688
532
623
569
816
714
755
844
763
652
813
586
554
897
525
683
525
507
671
848
580
757
612
528
510
531
723
865
643
600
895
574
683
834
647
829
800
668
842
845
538
732
894
527
659
667
749
547
544
838
549
700
532
708
710
614
606
896
580
587
524
830
750
892
537
755
664
696
846
650
583
734
680
547
641
564
639
888
680
889
682
699
724
776
524
846
636
660
669
881
764
675
847
780
783
672
719
800
764
675
670
632
695
573
703
897
727
769
728
507
623
866
890
814
630
747
662
738
754
741
758
853
746
536
792
576
675
741
743
678
697
788
835
758
886
749
860
837
503
656
576
872
785
816
746
853
615
597
895
531
567
847
773
884
681
679
822
665
791
728
790
819
820
542
877
780
708
760
733
822
637
896
809
845
629
846
752
807
670
794
617
508
866
883
683
717
540
542
767
510
723
548
722
574
836
727
587
771
532
638
663
572
656
589
512
589
632
651
567
580
630
675
632
732
777
781
520
869
802
844
795
617
680
550
758
730
696
507
553
680
888
573
681
900
658
619
517
804
675
890
583
587
722
864
613
724
576
732
602
678
839
597
833
844
691
690
532
684
594
854
833
769
593
727
893
816
813
663
509
900
501
765
749
562
591
632
823
843
572
773
867
757
520
651
725
664
607
651
785
591
737
515
672
518
572
684
837
607
822
776
521
858
619
633
565
529
864
522
823
898
870
798
634
863
776
615
534
716
609
687
508
611
554
630
758
864
810
891
665
600
578
834
737
520
813
834
815
796
513
748
543
510
817
776
889
762
739
559
605
677
532
640
790
528
899
768
665
748
649
774
526
752
597
588
546
818
553
540
801
789
646
656
600
696
534
701
599
613
659
834
678
840
725
514
655
715
564
812
619
615
557
510
827
528
795
749
558
627
856
513
661
568
729
501
655
835
709
567
504
878
580
570
834
592
616
733
846
694
640
540
777
696
793
722
607
886
673
509
654
517
729
694
861
842
687
791
761
859
568
614
863
510
527
661
671
800
833
566
694
654
863
502
751
840
770
562
873
577
609
792
577
661
677
658
538
505
751
732
650
586
836
794
586
704
866
746
701
590
768
869
894
656
764
890
711
574
693
626
527
877
853
591
655
549
571
718
666
710
721
765
748
721
503
718
844
754
812
877
707
786
731
516
584
747
862
573
875
883
561
837
702
639
778
831
862
711
820
834
581
871
568
857
646
862
864
804
532
652
719
867
602
530
593
734
583
845
851
804
757
879
742
530
741
720
520
665
713
647
883
764
625
557
611
570
815
857
567
555
765
642
767
653
659
553
836
621
712
867
803
716
527
713
579
574
798
587
894
842
722
583
838
584
794
550
585
621
714
787
672
778
784
536
739
516
535
617
605
575
666
787
560
871
898
514
803
701
573
716
542
564
619
548
891
680
575
651
546
597
729
624
870
648
747
641
519
633
742
597
615
845
813
710
591
836
783
756
826
602
885
760
672
808
734
859
509
637
653
617
673
867
868
692
870
812
573
640
504
551
628
717
796
518
510
723
548
751
592
664
808
632
605
622
766
545
582
518
603
663
510
648
572
714
698
737
621
820
891
557
744
731
682
700
606
554
638
828
540
606
875
511
542
768
518
576
853
817
875
507
597
851
597
655
728
853
503
683
694
596
738
724
677
757
782
555
888
830
822
637
709
877
505
750
508
891
711
674
538
539
636
812
663
558
636
827
626
531
840
570
858
534
705
761
862
573
504
827
666
806
857
588
605
838
673
608
659
695
869
691
857
709
779
646
845
756
800
605
720
636
883
776
687
595
756
791
661
674
568
600
782
618
649
713
851
633
767
794
818
708
785
885
784
622
742
602
895
774
895
583
711
894
796
547
853
890
854
750
567
792
670
857
515
608
539
534
760
884
683
734
667
548
885
546
847
702
833
522
709
653
826
864
843
512
565
518
558
789
733
576
551
611
667
567
783
804
535
756
502
533
504
755
602
856
777
746
801
562
551
572
762
503
657
836
588
523
665
686
765
670
775
632
720
767
724
669
574
569
821
734
707
627
757
704
707
833
595
647
873
789
685
707
575
823
517
508
628
823
636
768
777
733
814
851
665
662
892
562
799
531
821
746
867
849
534
653
843
664
537
611
568
634
549
717
689
848
719
820
557
669
735
802
775
855
797
790
694
558
663
664
651
882
758
756
569
674
745
853
600
809
529
574
556
629
639
530
776
644
702
892
591
829
621
784
701
893
661
763
611
802
676
618
598
722
667
893
515
825
583
709
528
595
556
775
744
830
549
736
703
597
637
569
631
786
806
597
671
646
804
791
882
590
859
760
538
745
792
561
702
833
722
599
601
679
569
540
775
790
575
720
703
681
620
762
545
689
756
880
770
709
813
867
771
528
553
735
725
709
734
856
859
857
690
671
538
565
733
819
677
735
830
606
764
643
659
716
837
710
879
713
798
838
516
613
872
535
694
871
563
682
673
593
578
870
755
516
582
794
646
566
634
840
596
879
600
524
766
610
736
737
845
842
528
548
677
820
678
562
556
697
885
669
757
827
548
655
797
842
642
745
517
523
682
668
797
629
586
771
648
508
751
559
715
764
728
713
817
650
885
692
782
679
645
887
765
715
697
765
778
523
781
627
609
645
569
882
856
542
571
861
847
869
834
618
555
573
896
893
899
784
636
861
687
500
662
860
829
789
885
897
509
513
857
617
816
842
777
868
602
601
841
512
532
736
758
704
517
867
689
701
503
689
836
852
827
760
669
793
605
596
618
559
526
737
856
604
757
643
518
820
861
517
866
500
791
898
750
725
852
668
892
810
841
584
616
503
573
610
568
610
588
612
880
675
667
727
577
871
593
830
854
676
701
681
891
547
807
716
871
640
604
636
860
874
710
577
880
812
566
601
612
601
893
765
764
665
539
646
557
625
741
739
594
701
802
548
500
831
684
535
735
730
700
522
889
886
711
861
669
511
888
522
841
896
501
601
814
852
822
854
508
555
763
818
767
641
833
765
827
800
748
562
871
661
571
535
611
601
736
776
784
858
735
634
651
810
524
524
755
540
682
886
639
646
707
676
547
752
878
596
577
674
601
900
594
594
540
614
641
835
871
732
530
558
700
860
863
850
795
517
830
602
727
615
757
562
603
613
860
826
610
737
680
747
801
709
829
595
768
803
538
635
810
760
809
799
746
579
588
837
659
510
636
890
536
845
706
633
864
773
534
758
820
512
652
770
865
763
645
517
742
593
744
589
525
675
623
823
722
683
759
611
616
557
890
551
506
890
887
741
806
888
778
660
564
880
617
556
893
735
597
781
816
663
653
683
644
531
806
556
809
774
529
767
557
700
685
739
799
574
528
710
610
664
725
554
866
765
781
508
552
554
657
581
619
526
777
634
888
793
562
716
765
714
759
591
502
704
816
800
635
535
532
851
889
699
652
632
561
565
897
847
873
554
869
674
503
810
807
851
709
839
582
703
525
688
512
732
711
844
620
562
729
876
632
718
532
729
502
797
576
537
658
895
703
812
681
571
873
526
584
633
848
606
815
670
727
762
738
693
657
670
626
648
520
677
856
651
746
555
709
763
753
827
551
582
574
807
511
787
560
622
822
778
885
542
697
779
872
840
793
520
820
897
829
732
581
541
560
535
862
567
804
624
566
563
693
858
873
686
789
803
834
634
795
861
872
666
672
699
630
617
719
759
509
799
810
517
763
658
828
728
654
611
825
727
706
670
770
650
793
877
730
876
530
500
562
796
874
679
751
617
574
756
722
786
715
649
612
517
797
708
722
535
728
641
803
613
732
533
766
555
557
890
615
516
516
542
585
713
563
526
832
841
866
867
667
887
646
707
845
824
659
741
565
676
566
692
738
653
580
596
774
854
807
527
803
760
628
812
824
648
689
560
732
667
798
891
675
807
657
506
530
896
826
637
625
882
764
555
627
819
611
587
877
544
585
701
800
586
784
525
853
658
741
587
598
533
742
879
712
891
516
661
850
559
792
799
762
765
769
582
872
809
651
525
875
623
711
824
601
796
710
802
898
794
898
516
718
748
743
895
814
881
800
588
547
717
673
713
606
843
608
510
530
849
788
590
538
769
730
541
833
722
551
882
698
571
504
833
789
695
671
749
775
878
543
842
546
813
597
591
596
843
799
545
685
652
582
842
532
545
777
664
743
543
502
893
601
730
548
883
551
745
878
725
781
572
713
609
507
510
526
842
807
546
896
678
612
519
628
676
871
690
647
657
677
531
566
550
755
519
693
753
637
572
576
684
728
796
847
814
718
593
557
511
894
612
530
572
800
551
788
743
813
712
522
886
661
516
797
798
699
893
549
814
792
689
885
565
658
825
604
615
587
607
771
564
708
516
678
820
789
804
534
866
592
534
682
790
521
885
545
529
657
860
632
838
887
893
882
895
647
764
543
766
619
869
552
628
682
788
727
847
845
505
636
623
860
877
597
747
699
804
846
572
804
527
831
517
505
888
847
704
786
664
820
836
852
590
715
562
562
828
729
650
527
865
558
571
757
538
642
676
580
897
635
686
526
858
645
659
620
668
827
528
890
795
661
608
796
896
695
890
695
876
618
748
836
620
508
537
761
885
841
696
636
736
713
641
547
525
680
858
532
821
515
790
790
500
880
555
856
793
650
898
881
826
789
688
661
716
764
619
795
677
616
895
798
805
556
824
807
770
503
702
891
862
546
896
803
539
648
669
500
504
630
846
860
885
830
533
799
740
709
655
677
880
524
683
789
544
644
515
594
519
717
552
855
674
507
807
731
704
643
838
555
653
641
788
893
592
898
632
524
862
832
562
845
711
556
869
752
579
663
809
888
567
600
712
828
823
661
596
679
852
611
784
898
608
842
774
707
522
799
502
594
708
638
755
721
767
722
867
560
821
847
771
871
848
779
823
578
603
772
614
880
556
573
790
707
650
613
729
586
669
648
727
761
662
854
541
513
818
860
618
749
778
784
740
768
712
880
699
761
730
663
779
514
606
829
803
772
559
526
769
684
605
767
613
561
676
720
788
691
833
701
774
652
878
648
820
689
555
597
860
641
793
509
754
660
749
651
501
796
551
820
688
625
602
755
564
646
605
546
607
567
561
657
532
800
538
575
613
752
827
640
832
719
610
620
553
811
816
566
894
619
850
507
510
764
580
572
883
564
779
880
513
501
529
772
617
707
815
882
640
527
708
556
547
675
855
798
668
589
838
850
536
678
768
570
667
725
759
749
807
796
675
768
884
850
519
691
729
586
729
639
702
881
551
572
655
557
670
875
604
737
623
533
720
738
713
877
509
811
788
606
870
613
638
752
741
865
608
801
643
559
861
513
574
619
516
690
766
807
773
802
664
667
602
555
817
514
838
804
898
742
562
677
850
669
802
528
629
762
598
591
888
513
880
782
769
566
549
842
608
623
823
623
587
881
572
508
538
595
684
898
815
699
549
888
896
552
776
637
730
553
889
686
773
790
575
709
599
619
734
573
589
764
784
794
678
588
515
630
880
862
565
596
757
756
706
887
630
797
648
818
801
682
843
842
889
617
809
891
529
827
645
774
637
773
530
831
636
737
647
562
586
731
597
568
896
754
535
687
898
513
841
822
652
696
862
786
881
688
856
887
852
531
812
899
759
647
626
551
718
501
593
547
887
784
526
587
785
753
829
606
734
746
805
562
707
762
774
598
721
758
822
751
573
687
633
587
667
842
817
549
515
698
556
758
839
645
639
571
506
854
543
665
675
677
664
583
805
647
529
613
668
848
890
733
669
807
563
633
658
795
810
661
626
657
566
710
893
882
697
673
631
862
883
608
664
787
605
568
561
680
511
551
695
525
565
691
792
781
732
790
685
653
787
844
894
606
709
593
539
815
563
851
626
693
889
731
545
832
757
776
726
636
677
509
853
569
508
528
770
635
779
718
776
786
502
887
756
735
533
860
633
730
775
633
676
810
665
501
672
545
721
776
780
837
674
629
507
865
673
516
581
719
814
728
543
667
825
555
722
502
552
700
657
894
810
846
715
864
789
808
629
895
879
622
597
900
556
518
576
607
625
656
663
859
765
573
847
888
706
631
643
684
838
613
605
582
764
882
620
714
576
829
599
507
609
742
557
788
513
857
715
595
824
872
650
888
504
809
723
887
891
886
899
783
581
687
623
568
777
794
575
540
700
593
620
780
829
731
591
803
566
748
501
550
502
857
681
548
857
878
807
522
869
654
594
501
649
755
609
560
557
542
571
819
543
717
623
518
524
876
765
740
582
844
896
626
739
773
553
875
632
874
646
683
859
567
775
571
749
780
529
539
786
506
710
782
685
558
704
585
728
600
855
505
656
888
805
745
861
706
602
511
779
720
633
705
655
541
583
765
873
623
806
695
674
688
828
810
531
785
873
634
700
818
570
577
505
619
730
524
794
900
766
513
673
750
594
683
804
816
870
827
731
890
509
886
826
805
808
687
700
798
820
597
555
704
577
754
680
621
772
670
592
630
898
874
671
570
859
523
859
771
773
892
847
857
688
722
779
560
565
770
887
543
593
652
848
509
525
503
770
575
847
674
768
505
660
834
842
689
778
597
607
697
647
856
856
864
731
835
728
694
534
578
649
843
547
507
841
834
832
683
847
865
578
619
760
745
718
715
822
894
560
806
896
533
828
707
511
710
795
778
573
574
543
588
531
767
548
620
835
659
609
900
794
555
756
611
750
836
676
811
636
534
742
539
510
766
889
742
590
620
650
603
841
768
648
836
708
704
650
582
690
524
611
846
634
762
576
632
644
593
736
654
814
528
634
670
539
729
534
831
525
518
783
515
586
844
851
532
817
853
782
774
675
860
878
745
761
506
515
590
789
776
591
601
589
672
692
689
707
787
519
529
521
740
796
738
749
508
686
688
843
686
732
837
501
723
590
825
676
675
648
513
893
752
630
733
837
671
787
702
694
891
583
658
550
778
786
701
551
654
738
830
736
569
696
509
882
712
821
725
628
587
812
828
858
546
746
572
787
800
681
594
589
870
656
587
532
881
849
569
696
544
643
549
777
627
579
716
720
762
673
746
741
627
783
554
711
792
830
783
771
777
834
704
760
536
840
821
789
764
734
892
603
522
704
630
845
717
671
653
853
666
712
757
884
686
545
515
504
848
758
781
832
660
622
772
566
547
845
728
768
552
716
681
827
784
694
781
895
672
763
600
831
686
642
745
820
753
877
738
788
758
509
649
873
535
566
657
811
654
667
697
539
858
719
546
621
608
721
810
763
543
823
541
885
897
589
823
839
825
649
673
816
535
614
699
507
546
623
645
633
672
893
826
549
575
741
875
659
566
552
520
765
830
810
675
550
734
842
578
611
894
678
755
721
811
592
830
570
834
673
771
824
750
812
516
867
522
592
667
621
828
843
598
645
895
567
848
513
808
691
725
636
765
872
709
830
769
721
590
618
834
681
627
777
711
517
624
516
619
777
658
697
570
804
818
814
731
649
660
531
881
815
876
726
643
847
659
755
645
740
645
773
836
744
527
709
650
891
764
776
668
586
551
723
504
897
574
654
679
696
831
769
836
893
693
872
821
635
769
504
851
815
620
669
551
840
655
774
774
669
544
573
769
636
595
551
885
575
647
761
691
514
563
794
783
630
893
635
789
695
721
869
781
603
738
520
753
559
709
865
731
685
900
879
579
500
849
623
872
797
768
645
643
745
711
564
806
628
582
720
672
804
552
540
669
773
776
647
855
686
847
528
855
526
752
870
622
886
827
645
516
844
799
853
847
734
596
674
647
556
850
579
612
810
854
604
638
638
887
519
663
551
781
678
537
778
840
516
631
841
606
839
893
875
568
587
667
707
666
890
732
666
598
560
897
899
730
724
696
706
848
795
619
779
891
703
806
502
870
822
649
868
698
746
546
831
554
810
627
864
843
887
697
884
646
777
768
616
734
809
572
713
544
567
684
519
583
654
797
752
880
818
664
565
834
649
769
815
747
648
787
593
540
810
800
558
800
672
707
552
624
887
561
539
834
846
821
627
652
629
513
533
549
525
584
681
766
744
641
651
739
858
558
726
536
761
769
818
644
517
625
513
887
772
572
506
858
693
668
724
806
741
829
551
750
818
552
852
856
703
624
810
580
841
503
855
866
530
557
506
608
817
714
649
526
653
803
646
708
668
750
558
890
680
664
812
854
851
569
884
823
706
867
838
699
706
523
821
834
633
782
585
682
841
878
792
723
768
584
745
533
859
551
572
656
550
834
849
665
752
573
707
526
525
737
786
588
877
814
795
554
829
525
890
545
723
790
830
648
741
645
563
537
640
644
530
692
693
860
586
855
552
562
876
774
767
546
711
604
686
671
609
702
560
523
743
513
643
606
612
747
616
676
900
628
572
713
515
727
656
536
626
766
550
585
745
816
757
765
633
864
617
754
647
517
707
754
856
803
719
826
531
805
607
809
791
886
561
637
818
585
539
668
679
518
653
857
826
627
539
754
524
838
697
886
613
680
820
533
519
840
760
848
766
559
522
860
709
810
584
627
833
579
535
659
528
630
563
563
612
711
741
655
633
860
637
890
659
692
843
759
503
771
559
523
780
517
820
635
610
527
547
827
543
770
676
784
868
531
648
834
637
781
762
663
773
705
687
553
756
558
616
693
598
653
774
817
841
651
593
584
568
566
782
565
697
681
570
678
708
844
562
584
824
548
595
531
793
821
568
501
781
821
851
836
541
753
814
625
900
729
674
699
510
612
879
709
631
707
519
790
601
681
893
676
843
656
727
508
872
878
781
521
568
883
847
666
614
801
783
764
739
556
676
527
584
771
716
869
661
599
810
780
602
570
529
851
561
719
751
628
745
506
604
730
877
896
900
562
774
571
548
511
701
653
549
703
518
832
672
612
827
575
570
565
805
578
726
729
794
764
817
695
793
736
730
615
880
846
555
837
599
520
629
706
800
891
742
776
574
657
557
875
761
745
885
759
714
878
718
605
657
666
593
875
523
774
726
547
627
663
811
674
525
744
618
501
642
732
531
795
514
768
828
879
597
664
570
715
634
605
807
605
555
677
709
868
510
570
879
514
505
799
841
817
862
872
575
535
886
513
747
648
659
845
512
817
613
511
505
693
763
811
728
622
764
834
836
531
844
624
612
617
794
754
713
747
520
573
508
713
757
607
874
501
873
639
500
840
587
806
570
571
779
895
809
545
854
877
555
870
757
546
548
676
820
628
729
860
556
878
801
860
880
574
601
894
865
502
725
551
722
851
768
890
693
784
544
749
582
771
842
542
871
750
789
653
613
690
872
789
823
849
811
521
612
795
871
816
556
690
803
627
763
858
640
577
813
661
603
668
668
538
531
692
606
657
794
680
529
530
696
755
787
522
721
865
733
828
591
551
686
574
626
788
759
723
613
536
645
717
610
594
825
834
807
619
622
857
813
710
676
594
791
868
794
784
876
518
623
614
591
711
500
641
688
531
710
644
600
898
663
706
760
765
725
791
727
838
650
675
851
768
767
783
879
533
831
724
534
719
859
662
556
543
719
646
882
538
687
790
637
630
647
653
830
772
857
856
745
800
606
731
880
894
765
707
670
678
809
629
780
822
719
880
853
694
674
715
591
605
638
572
578
796
830
710
820
668
825
802
732
658
693
696
539
842
813
872
795
838
890
510
775
719
820
886
795
543
568
646
827
823
836
786
546
618
572
876
741
572
774
880
573
785
725
780
806
634
636
744
813
550
829
687
821
517
724
507
881
714
849
666
596
828
745
816
563
551
627
650
534
692
744
615
621
760
692
662
786
709
709
615
863
832
854
697
884
561
510
888
635
596
696
627
548
689
540
685
587
522
845
786
561
537
552
675
694
756
757
744
540
719
692
566
896
792
851
768
717
835
621
852
783
653
686
702
840
740
688
892
675
526
685
873
550
750
711
848
634
816
564
521
628
528
898
660
620
676
526
805
519
609
663
829
536
505
635
771
875
533
838
712
644
702
765
525
539
581
620
670
527
773
734
800
888
877
722
771
634
579
749
853
511
667
514
898
808
650
533
721
805
613
644
682
526
577
838
713
807
618
693
510
652
740
789
640
767
855
754
560
864
755
879
674
822
725
797
552
789
763
517
739
693
831
689
576
821
651
714
836
521
591
610
715
524
876
647
834
675
885
733
710
848
833
575
849
769
526
678
676
860
889
789
747
802
601
840
679
514
599
525
595
529
545
742
850
675
535
858
561
765
739
530
509
653
791
855
791
806
775
883
854
716
673
568
613
501
657
536
891
683
759
710
723
664
842
843
568
516
533
682
750
869
779
817
796
596
658
710
558
846
663
774
643
779
688
716
898
814
622
721
719
513
571
612
646
746
748
559
832
664
568
834
751
790
514
878
771
876
655
750
689
574
646
634
797
776
522
733
745
888
544
831
880
691
786
662
619
508
774
891
518
681
510
589
833
580
766
635
855
775
693
550
715
674
650
619
759
666
832
804
517
622
620
755
799
775
509
685
663
868
542
798
601
551
604
814
847
553
825
899
597
700
823
580
609
596
891
589
835
754
729
699
805
656
558
825
833
717
565
704
646
709
886
693
837
578
776
768
531
887
635
687
797
785
696
843
830
681
873
725
737
563
798
613
734
755
550
623
833
607
623
884
874
656
745
550
676
812
554
519
500
792
662
706
637
880
775
844
558
863
740
662
875
873
632
690
780
698
672
574
733
668
698
751
829
794
827
698
673
625
518
898
760
580
759
882
730
605
693
568
608
584
883
805
781
737
593
748
740
655
582
893
893
616
596
559
895
649
787
641
500
895
879
862
572
753
649
769
869
662
531
847
752
518
598
506
615
792
793
558
817
601
690
885
630
599
531
527
650
845
893
778
797
880
596
528
899
671
615
714
645
647
547
725
612
709
782
533
809
583
688
584
864
561
532
784
647
766
719
732
863
510
751
629
619
795
831
578
758
743
738
875
636
624
875
629
648
850
807
544
532
642
528
826
645
640
642
738
534
722
577
511
887
580
738
653
585
552
582
696
532
714
711
501
743
591
662
759
643
831
594
668
707
736
630
631
790
518
567
524
801
527
678
823
691
836
781
891
557
823
835
825
688
807
865
835
545
681
729
640
820
625
557
705
664
895
637
770
748
662
599
503
546
642
779
611
508
818
756
581
538
709
738
694
772
728
551
590
847
502
551
555
700
544
857
682
786
826
618
824
550
844
721
884
548
693
888
653
538
512
778
586
814
825
702
788
681
758
614
891
586
786
813
876
873
636
549
788
833
882
899
703
654
703
702
790
867
778
709
748
649
603
529
584
759
858
522
512
654
505
662
673
743
695
621
616
768
803
755
745
852
877
608
630
702
540
880
553
533
553
854
571
798
705
633
505
719
782
723
623
694
629
802
688
841
564
693
665
562
656
894
711
668
625
596
558
520
899
852
839
563
603
655
728
668
677
576
720
774
665
525
782
601
865
806
610
825
889
638
861
506
532
900
764
739
654
718
669
845
792
605
695
856
587
543
535
787
584
564
651
673
816
771
752
817
738
760
893
602
673
668
754
717
688
771
669
619
565
801
826
619
622
601
715
632
744
850
607
500
637
685
676
887
732
790
783
834
883
811
519
862
888
841
512
565
703
555
538
683
595
592
686
811
539
898
704
845
868
605
539
505
634
650
547
842
848
828
717
623
540
685
820
834
761
616
900
823
844
804
573
655
800
837
877
751
735
710
668
513
587
734
529
776
540
750
891
522
512
881
728
832
710
771
751
553
539
553
898
710
779
616
590
864
539
562
549
735
573
764
672
646
885
685
833
632
554
739
815
528
740
540
726
578
889
655
652
595
659
508
785
652
595
754
893
616
884
657
576
781
502
529
646
887
622
543
771
535
658
733
879
816
684
535
877
884
872
749
561
886
757
694
780
671
724
530
527
634
834
856
849
761
562
844
740
526
713
588
648
520
605
705
555
773
726
801
533
688
814
594
641
771
554
555
897
678
842
640
747
625
681
628
792
853
828
693
782
622
819
842
822
743
528
864
604
892
684
508
527
781
701
877
687
571
742
698
573
887
857
833
807
510
854
673
622
682
622
561
514
642
764
569
517
558
766
837
655
837
774
760
674
797
711
794
645
500
541
644
765
802
558
728
651
891
679
653
763
524
738
838
551
570
895
500
697
587
671
565
679
649
899
704
669
825
545
556
637
768
735
722
833
598
570
606
550
683
509
872
866
757
865
668
667
548
860
606
665
668
866
524
841
679
541
823
843
567
859
790
512
508
846
613
642
564
662
569
634
729
741
589
695
740
565
795
649
547
512
766
669
799
603
888
722
749
734
739
505
879
636
591
848
501
790
692
605
875
683
766
763
530
548
595
868
549
781
819
733
683
667
824
624
647
763
734
893
588
651
705
593
566
851
686
591
740
582
859
748
860
829
703
722
753
586
554
654
831
540
580
552
683
877
843
731
561
851
584
731
671
851
725
720
703
567
642
805
853
558
882
673
689
695
512
571
651
730
826
567
655
667
785
650
721
745
811
583
656
899
659
524
860
784
601
503
689
607
781
521
679
509
524
524
619
759
500
807
759
853
561
586
782
583
813
608
569
738
879
665
752
784
682
892
766
606
611
702
577
685
602
515
535
553
795
644
774
681
797
782
891
597
513
812
850
507
686
864
759
771
614
676
701
696
717
843
628
625
511
691
735
623
873
790
782
797
526
555
729
653
889
624
513
608
505
722
869
608
820
577
549
751
536
840
665
673
783
573
739
680
598
534
500
694
539
728
682
876
672
544
656
891
553
654
894
776
571
652
873
520
772
861
514
734
685
597
587
734
898
507
604
643
630
589
875
604
753
796
848
718
541
655
611
528
615
567
811
658
718
820
592
705
781
748
643
565
653
834
746
657
814
667
792
531
758
720
583
655
589
687
775
717
611
505
718
808
837
633
762
638
808
577
848
867
763
603
530
894
871
802
734
731
892
705
832
767
822
654
609
639
631
726
891
892
764
700
757
757
676
606
648
555
752
701
731
752
579
528
726
800
762
885
566
689
856
556
828
837
768
527
763
541
516
684
508
725
815
760
899
792
813
653
850
525
668
886
539
707
728
897
551
894
676
815
737
770
742
865
878
621
532
736
867
772
650
867
862
894
593
551
668
546
812
772
578
782
679
812
888
522
639
787
839
540
570
559
709
735
880
596
696
620
813
704
569
544
802
793
523
639
825
825
829
651
546
697
810
740
657
585
900
899
647
674
752
849
873
637
536
524
527
892
891
833
768
712
526
647
671
576
611
682
682
641
796
801
650
678
601
771
557
875
855
835
809
724
894
829
563
728
550
655
863
788
661
835
890
627
656
875
619
730
651
788
584
543
532
693
756
885
696
696
588
568
622
674
523
601
889
893
760
771
847
654
751
783
868
792
793
900
572
853
865
525
565
690
740
831
789
720
899
809
658
698
884
741
813
755
616
687
763
585
538
621
648
768
764
598
614
611
645
778
887
719
608
883
708
588
636
787
523
751
590
726
775
848
661
843
573
555
797
586
614
556
714
884
848
542
620
786
680
822
664
625
580
633
739
505
779
853
638
584
614
830
772
582
707
537
752
898
508
856
639
797
510
768
562
801
667
775
873
889
818
737
892
740
804
532
705
884
753
648
640
736
782
566
857
520
660
811
772
617
899
585
533
579
781
694
549
791
661
612
596
665
825
513
647
800
872
698
813
598
851
515
696
621
868
698
878
645
795
791
564
612
677
773
816
755
523
682
748
731
641
513
747
813
652
538
578
853
880
844
805
519
694
566
636
866
775
857
657
805
585
794
519
884
597
882
606
673
651
594
874
521
666
764
723
813
883
705
630
503
880
795
699
800
750
587
826
603
545
603
549
737
858
546
895
757
889
806
739
800
867
788
541
663
711
516
841
708
872
588
846
527
734
801
553
691
644
636
704
696
632
862
654
719
644
741
727
843
527
602
691
733
710
790
719
515
804
701
679
550
756
781
681
685
639
651
699
662
515
874
744
844
581
815
631
566
826
731
587
703
651
512
549
656
845
705
659
548
537
800
775
891
682
757
752
737
718
802
872
555
576
862
619
846
515
784
891
898
689
693
735
536
575
541
579
547
748
844
822
651
632
635
701
650
533
724
655
880
595
685
591
702
528
578
779
821
779
534
685
634
539
578
524
628
760
700
569
618
505
507
832
831
724
743
692
898
528
812
822
503
722
742
686
707
869
518
756
742
751
594
751
599
706
635
605
853
663
890
541
800
686
631
654
664
569
637
590
522
620
586
850
520
743
637
710
760
754
727
751
755
717
875
772
787
570
525
520
565
541
715
552
768
543
663
662
888
799
646
834
878
702
589
701
851
740
591
542
556
644
803
900
676
511
551
779
679
887
699
755
862
721
615
621
773
858
845
745
848
833
856
651
624
577
586
808
890
754
840
603
513
570
654
729
546
531
830
556
827
899
709
670
890
504
733
621
846
554
794
605
862
651
802
560
645
711
637
658
641
701
649
660
735
508
638
507
731
685
504
579
509
794
601
786
836
539
767
608
826
749
683
672
786
641
850
561
642
821
849
897
827
881
835
577
768
660
876
565
664
605
607
647
651
856
802
833
610
546
553
842
756
579
812
708
602
561
568
721
542
588
571
572
775
536
884
701
875
718
836
615
804
517
894
791
824
533
869
791
533
735
714
725
776
623
896
809
746
697
774
586
545
573
833
518
532
594
712
580
776
843
792
505
664
552
562
752
889
591
602
738
507
836
541
746
694
747
754
714
876
709
724
630
554
615
630
579
598
663
600
735
580
757
514
508
680
505
626
515
630
838
692
859
682
854
865
646
586
883
876
648
590
775
821
763
679
890
885
562
552
893
543
728
808
780
620
699
624
764
637
675
776
554
732
704
849
541
856
804
835
522
859
808
843
840
503
719
546
666
898
816
684
745
849
853
573
540
514
847
502
630
746
895
860
796
528
531
731
825
863
648
552
860
797
717
756
570
755
793
520
577
538
700
889
837
552
545
891
713
840
765
501
559
799
540
750
722
533
794
780
751
769
611
720
537
549
685
700
701
513
562
560
578
693
764
832
505
670
655
539
806
899
588
657
823
888
867
594
777
623
886
834
836
827
853
866
836
865
885
635
822
615
782
746
897
715
548
723
601
588
590
664
550
818
558
862
505
526
829
628
767
871
863
712
568
794
537
766
574
893
532
762
788
673
501
669
727
779
603
697
859
854
674
626
706
515
637
518
764
648
561
855
651
665
699
673
797
775
743
641
756
546
853
671
535
783
769
834
802
641
857
584
549
523
595
589
809
680
564
591
662
533
740
809
720
802
827
838
562
878
675
753
614
697
751
677
890
823
768
829
588
779
859
664
565
807
586
624
729
764
783
854
733
785
573
786
861
799
854
742
833
592
715
607
630
860
759
829
588
873
851
897
843
505
625
619
682
537
823
822
507
637
540
616
857
833
709
517
506
650
866
683
761
667
739
646
605
746
870
843
642
776
565
535
629
859
674
825
671
539
612
802
780
866
706
807
869
604
837
614
816
680
868
560
852
536
748
669
739
534
588
861
514
719
805
690
505
894
853
607
894
767
875
540
635
816
688
705
767
786
660
777
690
875
623
601
841
808
579
605
803
518
614
748
505
878
537
892
720
882
612
724
754
778
600
531
510
513
845
619
693
640
535
620
855
604
853
821
897
612
764
889
692
888
634
805
667
822
534
594
791
590
500
653
751
756
751
732
758
534
617
623
844
772
773
816
555
871
722
573
783
615
712
534
634
615
848
534
721
618
614
590
830
584
871
632
627
551
614
635
778
635
810
510
764
746
816
504
690
705
508
881
821
816
506
696
831
886
567
517
524
626
523
704
838
679
769
576
835
601
683
706
879
849
560
523
641
749
750
550
620
680
632
681
692
894
620
729
746
859
722
537
616
679
546
604
883
849
803
817
833
559
867
738
627
664
734
740
679
717
718
774
814
640
573
519
768
664
564
812
589
602
851
756
510
506
597
744
552
522
572
607
691
650
635
555
830
547
703
758
891
732
715
560
859
536
745
504
657
572
674
740
831
818
874
792
884
777
543
717
831
597
558
854
661
892
813
779
844
591
618
515
694
899
628
507
628
772
602
800
657
775
875
601
859
502
758
750
819
900
510
696
800
724
699
501
894
845
627
573
788
715
687
664
543
550
692
747
510
632
693
864
580
576
640
749
657
610
759
594
584
806
645
771
686
673
593
684
604
586
795
543
687
592
705
615
869
563
675
757
789
676
805
508
626
663
868
704
752
717
841
657
829
503
692
666
880
603
837
525
702
843
846
789
883
680
580
713
862
719
527
529
764
806
606
812
551
750
874
746
726
530
604
621
748
589
767
821
502
821
516
579
745
627
574
806
530
579
534
712
710
850
689
790
823
629
772
801
829
575
795
856
847
821
618
534
793
577
751
683
886
837
828
850
708
683
741
650
725
586
886
632
870
814
556
698
734
529
537
684
685
514
848
883
515
588
696
511
870
700
749
789
579
640
580
520
753
735
638
726
888
753
533
895
601
766
690
511
630
750
577
620
818
827
581
690
809
567
659
555
873
795
858
734
889
666
768
594
855
683
692
858
849
734
719
579
586
598
857
652
656
690
608
795
899
582
636
545
557
897
805
611
728
662
680
649
829
600
832
695
650
836
626
880
696
837
801
782
799
505
593
646
610
812
589
806
573
619
789
866
545
523
804
589
652
731
713
755
629
507
874
536
839
825
634
546
584
584
523
750
620
781
511
771
730
691
714
575
873
566
598
880
575
680
700
665
689
579
709
848
668
567
786
851
596
503
612
867
565
540
738
879
784
550
833
530
645
761
610
612
587
656
864
853
860
510
523
653
867
788
656
738
546
578
779
855
622
562
859
603
814
757
563
857
721
548
828
825
899
747
839
522
663
511
585
598
708
876
862
718
806
507
528
549
579
787
777
818
874
608
722
869
562
571
825
771
659
571
880
834
776
531
816
833
811
791
640
586
645
574
687
659
802
505
723
529
880
825
885
797
522
656
684
794
766
546
514
621
635
620
690
505
529
691
721
604
776
521
873
576
674
888
878
622
563
832
713
837
647
608
619
835
538
641
637
624
731
834
788
551
639
586
518
785
523
886
867
789
683
749
647
747
824
896
555
583
676
768
721
515
722
777
645
648
857
522
569
548
784
599
698
624
679
787
811
626
816
794
740
806
702
831
503
853
607
877
829
727
653
806
656
675
741
527
571
783
555
642
743
647
612
754
737
556
683
590
756
529
858
870
884
770
882
575
681
604
795
684
787
702
525
511
899
699
687
610
815
501
534
788
604
721
642
636
884
728
853
850
536
897
708
523
601
570
685
781
589
788
617
633
665
628
543
749
784
890
752
588
767
588
706
771
550
890
502
881
768
517
546
524
670
713
711
843
845
882
709
546
518
818
807
882
616
581
524
834
505
536
608
767
706
514
774
516
583
807
533
766
860
892
808
849
750
780
855
796
702
610
656
867
569
624
880
895
693
509
764
775
597
678
821
866
551
574
705
876
751
798
870
856
854
539
519
576
797
834
629
798
864
879
642
709
868
817
510
671
540
643
752
553
833
742
658
705
664
711
705
800
695
894
794
828
845
725
862
662
621
632
625
758
737
792
523
639
736
533
559
829
887
814
564
763
520
567
528
766
865
514
801
667
822
768
710
588
844
895
721
629
548
898
888
832
873
660
589
724
569
513
575
804
649
700
743
585
641
723
772
676
899
560
841
793
862
694
543
627
686
843
791
732
840
879
518
578
659
884
722
540
748
740
722
796
646
723
830
769
697
570
614
899
562
784
829
833
803
500
710
558
591
875
555
616
556
725
801
556
594
605
636
724
740
882
543
826
597
889
659
774
697
714
865
676
898
597
605
785
778
562
597
822
783
600
747
743
635
554
553
693
557
750
634
580
576
800
876
873
540
888
606
594
860
611
753
784
613
839
812
695
831
819
718
837
559
586
723
530
841
613
616
583
568
546
667
703
764
530
730
534
842
718
872
601
642
824
855
790
844
785
847
530
600
654
759
830
642
823
669
738
587
714
834
881
862
607
563
620
749
683
595
712
657
841
697
846
623
657
827
814
861
768
582
670
859
736
786
706
833
681
575
504
610
750
724
805
558
780
749
836
762
570
845
527
527
559
544
632
710
664
760
838
894
825
531
721
659
757
756
717
582
608
748
818
731
697
769
541
618
740
869
507
615
577
727
641
548
879
547
526
731
531
895
519
727
681
806
653
801
679
638
562
596
645
517
824
784
555
537
570
772
563
858
900
516
747
864
808
842
604
586
733
578
688
754
520
895
797
590
894
894
857
807
582
633
785
747
833
867
617
630
860
543
812
779
827
723
716
739
853
899
723
856
727
842
610
691
723
594
590
783
812
650
854
542
888
701
744
533
545
559
641
611
516
798
567
813
671
663
678
550
812
638
594
819
704
576
667
859
602
833
762
664
673
805
606
716
504
550
520
637
578
808
607
733
521
735
587
528
890
890
889
653
844
832
792
727
794
665
722
739
642
644
701
770
791
866
551
570
516
649
832
665
704
620
537
859
797
582
805
757
578
532
561
529
704
699
886
613
814
734
799
575
568
765
503
531
574
770
667
639
626
628
877
872
651
794
821
730
647
731
834
712
566
694
500
644
541
868
619
750
653
631
873
705
755
636
745
849
667
583
797
867
569
554
702
635
785
850
552
694
705
835
559
678
692
839
826
897
616
506
751
811
527
757
764
590
650
585
611
682
866
884
530
713
515
541
759
749
806
659
670
788
854
679
868
619
670
898
733
861
833
730
552
613
797
868
688
505
701
561
633
840
520
650
872
740
790
661
886
547
625
525
611
541
761
558
801
571
869
560
857
832
709
710
652
810
647
557
777
622
620
767
612
841
610
868
746
535
860
785
770
557
717
898
862
539
737
874
663
592
667
724
665
590
854
819
511
884
774
876
760
738
747
529
628
758
583
745
519
869
816
527
537
747
829
760
822
696
649
702
860
572
697
604
729
555
707
843
520
895
656
847
678
593
855
747
704
888
778
891
817
588
513
892
717
765
539
554
674
544
767
650
543
635
716
672
501
632
838
880
693
677
748
837
704
503
866
794
715
573
659
569
773
536
554
764
862
822
691
528
675
824
782
615
500
823
722
677
518
812
880
803
730
669
809
619
656
677
644
547
534
707
659
867
855
574
861
850
671
893
650
568
723
817
550
771
599
721
795
871
517
790
752
753
500
729
774
529
862
766
899
642
799
894
856
662
791
539
795
628
730
580
845
761
770
779
511
605
900
558
550
545
518
805
561
823
895
751
562
628
683
779
622
625
613
571
773
717
600
834
729
585
541
709
677
751
847
594
595
649
822
617
719
797
554
805
734
866
660
588
756
526
672
704
725
893
717
880
577
619
566
646
543
791
812
535
779
888
663
841
600
732
627
516
891
841
652
852
660
581
835
830
873
571
754
887
767
619
575
633
641
740
652
641
810
602
609
623
736
788
889
580
854
640
667
507
790
719
848
813
517
547
890
840
800
774
598
635
834
614
672
537
712
870
575
827
807
767
796
720
536
567
600
644
545
535
878
584
568
841
862
568
849
759
709
614
514
778
689
668
591
704
829
659
635
596
592
694
872
887
825
574
825
859
873
684
800
831
753
763
768
722
805
612
673
506
813
657
514
654
845
666
681
862
769
706
827
641
726
648
643
613
628
615
807
648
826
559
557
508
505
599
511
741
695
594
819
761
885
599
790
510
805
897
539
694
865
572
754
691
689
827
800
563
694
859
766
862
564
781
894
827
525
766
744
721
848
526
551
768
686
587
702
881
762
759
679
662
794
799
863
747
864
842
783
619
667
636
791
705
514
544
816
888
562
709
540
616
764
503
508
658
835
609
654
880
744
659
528
710
889
530
782
597
856
519
651
848
865
536
767
802
751
703
855
725
892
541
848
722
546
528
530
653
546
715
620
851
758
681
513
730
541
696
827
727
646
585
511
514
786
759
611
893
657
689
607
826
814
854
703
697
670
893
610
784
519
516
531
843
506
724
657
655
609
854
599
508
722
756
582
870
725
758
788
859
575
730
749
645
608
599
749
592
852
893
593
757
560
792
501
755
537
634
577
740
814
880
580
766
870
621
712
802
643
753
767
594
597
803
534
578
826
532
563
561
743
684
773
769
756
652
726
634
820
797
591
764
664
855
625
554
543
712
629
547
529
509
537
847
717
773
548
830
749
593
541
686
607
643
676
743
633
898
598
898
674
698
766
773
741
814
800
588
637
802
678
504
536
689
683
711
821
774
756
709
563
873
766
649
881
851
803
800
566
756
842
787
829
576
763
565
562
734
688
795
556
870
596
638
843
573
783
788
681
583
731
576
898
590
681
506
584
565
560
579
728
844
767
648
852
524
629
661
832
899
817
585
829
673
624
826
740
622
800
626
811
824
602
754
535
598
656
608
670
809
521
654
509
568
864
583
774
772
851
578
802
759
779
806
886
617
772
658
899
543
652
631
734
613
709
691
835
619
664
841
624
869
834
580
522
662
698
626
550
507
835
631
836
865
614
795
734
829
756
801
617
857
833
530
832
522
764
700
790
784
578
888
630
763
647
805
514
633
786
780
703
719
899
862
879
626
586
616
778
815
507
834
664
843
868
758
569
603
758
733
844
887
744
542
686
579
678
552
580
590
659
761
667
567
607
881
561
885
822
585
663
844
638
629
686
536
557
666
800
636
572
808
728
813
701
847
695
834
771
545
767
859
731
582
546
855
752
527
855
723
562
501
591
826
656
570
847
587
871
642
720
820
802
551
891
522
874
687
585
512
828
718
838
655
888
615
818
894
596
821
660
587
606
603
802
853
710
679
783
815
522
836
787
743
672
572
760
642
665
670
815
760
863
509
731
546
720
878
605
696
865
726
847
806
753
638
806
613
809
711
830
571
668
845
765
755
744
625
591
507
759
884
725
820
583
734
653
729
504
854
875
550
864
526
857
521
705
889
546
696
659
759
571
612
663
880
523
568
638
779
565
685
555
627
690
716
746
534
820
710
594
611
798
623
753
603
646
767
855
516
547
695
545
661
775
682
532
504
885
567
736
511
862
758
666
617
633
546
571
784
765
824
825
847
882
752
785
560
515
555
754
757
684
742
599
751
889
523
836
510
700
669
610
782
508
722
810
530
774
624
582
572
708
825
728
672
701
868
835
690
706
571
609
866
893
517
515
644
779
827
570
756
859
763
826
820
562
766
721
695
588
735
648
738
663
738
663
568
689
891
865
889
729
576
693
724
537
733
775
653
554
751
729
888
850
532
673
640
600
782
567
569
570
900
510
706
502
603
606
555
864
514
747
581
671
863
684
785
558
704
779
561
534
663
547
794
604
572
530
548
820
621
645
701
883
673
736
664
829
535
673
745
899
733
854
614
857
636
889
666
544
713
554
587
552
772
647
760
574
869
837
552
708
509
798
521
849
690
520
736
662
582
830
501
575
795
700
748
598
805
503
572
547
673
523
628
777
852
654
640
531
707
845
811
641
869
729
560
894
536
579
893
678
854
867
843
531
824
680
609
660
542
808
898
813
533
529
686
504
567
706
557
509
860
712
738
886
605
730
782
808
779
501
592
877
818
828
850
823
615
680
760
810
544
589
731
713
614
621
573
581
508
729
663
532
743
741
500
527
732
735
788
559
726
814
821
616
618
863
652
766
537
772
732
861
663
734
543
595
769
712
771
694
652
579
852
577
752
856
506
735
882
770
597
848
843
546
669
576
610
588
697
741
663
766
801
829
879
745
679
776
852
757
520
892
825
824
692
687
559
827
632
516
500
895
843
840
621
581
869
616
820
537
816
874
882
635
671
663
881
617
603
718
883
836
553
684
649
568
680
500
775
881
687
810
553
702
851
660
528
567
571
725
604
717
521
788
740
823
742
502
854
806
782
837
566
604
794
764
612
808
797
766
643
751
569
788
641
573
680
559
682
785
561
684
546
869
576
758
775
737
679
793
578
608
617
570
735
748
595
513
695
691
701
730
545
646
543
588
619
805
779
749
754
820
627
669
673
652
521
711
733
839
863
510
700
626
546
747
746
666
852
805
520
845
621
879
772
538
802
765
700
659
780
545
793
862
655
590
680
729
655
547
745
843
808
533
660
855
669
844
838
729
794
836
749
692
536
719
728
861
780
565
577
889
763
569
775
756
531
754
512
778
602
622
594
815
654
800
521
869
825
542
729
599
579
664
545
852
877
542
900
887
707
727
584
645
839
882
511
781
769
803
858
650
849
767
554
639
793
714
514
638
563
824
709
858
779
840
817
609
522
789
599
669
686
598
799
658
642
677
634
605
886
523
643
586
645
644
543
822
649
569
522
760
776
550
532
693
766
762
847
865
522
841
652
637
786
881
622
854
721
761
559
825
810
601
577
856
591
702
886
511
735
690
506
562
693
815
531
516
571
682
516
607
520
834
636
612
660
617
542
597
887
711
559
799
579
828
820
655
827
772
844
513
617
819
502
589
540
517
509
563
808
586
684
872
554
770
538
852
679
597
567
534
822
807
504
576
768
704
692
648
608
603
671
731
516
500
773
755
857
839
779
824
869
670
759
854
746
709
507
628
803
552
571
531
791
675
867
644
711
561
689
657
804
547
637
730
872
757
620
848
608
591
870
552
500
787
805
541
504
763
555
614
550
662
808
827
810
729
686
771
591
700
613
614
893
590
749
596
738
806
780
696
719
575
857
536
568
753
531
594
816
582
856
856
519
734
591
808
879
627
539
871
506
841
625
886
763
583
809
700
876
856
550
721
894
694
829
573
623
800
815
847
831
856
591
799
723
662
536
672
729
521
857
579
798
863
519
511
583
891
518
814
632
540
658
602
610
766
597
802
628
793
597
542
778
542
724
674
527
749
774
804
612
753
771
638
675
502
767
667
512
574
755
866
841
808
608
873
612
625
841
891
600
758
691
808
802
897
710
698
701
854
882
696
837
724
601
712
553
843
841
723
593
659
761
815
650
780
618
504
642
893
583
649
538
661
706
541
625
540
734
572
853
605
834
890
813
848
559
779
507
605
788
845
590
672
704
631
719
620
698
890
500
542
837
668
517
502
855
781
871
713
508
609
674
644
765
616
533
633
637
610
542
786
637
897
664
785
769
588
685
634
769
660
615
581
816
803
783
709
699
770
524
770
872
900
820
591
550
588
795
622
612
566
697
536
792
870
567
832
873
707
838
573
885
566
510
525
580
850
629
554
796
569
873
642
828
847
638
883
827
845
540
586
574
886
746
722
771
776
620
562
560
599
676
513
733
573
658
667
725
768
889
849
635
742
597
548
527
698
889
578
576
600
531
873
649
559
599
809
668
724
500
732
803
847
875
631
900
799
795
867
533
844
511
800
802
515
679
514
602
516
802
627
692
631
783
548
776
633
646
594
732
892
892
629
639
631
756
862
725
768
881
630
639
795
763
894
805
592
744
779
700
505
719
786
684
762
517
702
894
786
655
613
832
598
893
802
870
667
764
578
859
572
629
524
856
716
897
836
781
765
591
877
518
645
646
587
556
861
707
757
702
804
809
762
843
796
543
767
596
845
538
507
502
586
717
855
705
719
811
775
591
827
754
670
894
815
818
518
572
530
659
716
865
836
835
798
812
886
570
876
887
874
614
651
852
886
855
505
557
823
805
653
582
864
725
683
567
868
817
529
774
578
724
599
876
871
633
796
512
679
569
503
606
501
541
634
716
861
576
799
626
764
786
669
885
839
773
646
503
550
662
584
750
504
680
714
574
574
890
534
538
680
501
812
736
547
788
641
543
545
690
712
882
538
515
526
556
695
748
796
592
750
779
706
786
562
752
722
514
843
703
820
739
865
727
502
804
794
532
525
617
795
645
679
796
561
544
777
774
729
630
588
654
887
528
711
663
815
520
896
645
824
695
622
811
681
564
847
764
512
758
621
762
532
681
771
694
791
577
522
533
894
888
558
841
691
835
874
600
652
540
530
527
895
707
565
593
824
820
587
843
712
621
808
747
720
549
678
584
758
654
771
644
860
864
889
706
546
731
548
775
786
741
747
648
852
504
723
682
572
897
780
897
719
633
827
703
830
883
737
746
645
651
784
532
597
721
629
844
873
508
832
619
531
519
695
609
837
694
895
619
787
621
860
645
836
536
524
725
626
704
520
899
770
594
589
661
686
722
507
729
699
764
885
789
772
535
816
899
872
575
830
726
838
789
866
644
555
813
635
560
654
688
635
556
538
851
538
649
812
668
699
574
537
605
693
631
758
856
834
609
730
662
667
670
613
826
891
627
524
654
861
533
652
747
511
843
756
826
861
870
556
724
617
865
669
506
780
511
635
900
616
552
881
630
655
678
651
834
546
837
647
823
607
512
855
605
817
698
546
667
600
615
558
530
654
512
897
814
514
724
743
670
725
563
625
580
879
766
509
603
799
598
743
534
501
582
687
532
583
733
723
526
840
517
605
746
766
500
853
566
785
694
729
629
820
793
538
805
601
793
513
733
660
565
817
665
819
671
897
615
536
840
667
568
750
527
741
577
505
825
573
708
590
641
695
861
690
711
694
720
579
554
695
563
830
876
687
716
868
548
780
501
857
702
799
698
764
524
602
877
847
873
703
833
809
737
718
886
638
706
628
788
630
738
785
588
563
577
509
666
896
833
661
546
577
853
693
616
664
716
802
866
618
862
637
881
532
666
587
783
891
885
679
651
871
673
667
853
534
683
516
551
752
780
673
675
523
753
700
621
779
765
515
558
715
875
894
643
755
733
714
892
724
887
873
696
809
715
687
637
553
811
719
731
644
858
793
877
531
608
626
749
729
634
604
800
879
592
539
653
790
578
685
864
693
523
560
602
753
819
896
812
741
564
783
553
826
570
567
778
782
721
893
865
571
719
694
668
508
602
690
661
632
585
857
761
527
820
588
529
828
642
663
758
525
582
691
574
583
797
612
527
862
694
717
820
817
838
785
541
561
606
837
561
548
751
885
523
788
839
755
510
740
819
888
531
853
701
801
705
555
508
834
768
579
815
673
833
629
716
806
834
697
669
624
506
869
764
853
826
797
501
873
545
769
870
667
891
594
843
811
899
900
541
877
708
813
652
569
567
681
866
731
886
872
625
727
575
813
782
563
862
538
855
754
546
767
720
689
580
618
582
821
528
766
748
642
712
650
513
625
558
689
790
838
673
888
762
573
762
841
820
733
508
518
843
859
818
891
740
510
802
732
640
702
670
593
530
878
656
780
545
695
735
672
866
762
681
805
735
581
795
546
566
782
741
722
504
643
831
845
545
636
610
687
644
893
612
765
772
714
733
505
590
535
837
879
855
787
580
608
645
543
507
556
657
729
621
513
531
668
870
539
843
749
866
554
731
819
568
853
506
534
693
895
522
865
562
890
835
772
870
747
784
879
623
874
742
622
861
894
549
650
833
601
614
770
897
592
872
861
555
860
802
598
872
507
856
607
648
697
514
527
771
524
799
811
562
601
555
665
793
515
575
675
721
539
594
807
592
603
593
855
522
631
847
590
888
636
510
535
626
765
798
598
503
635
507
520
778
549
521
783
895
758
768
795
836
855
684
550
744
555
636
689
521
745
848
510
789
588
623
685
789
722
787
873
876
668
865
596
891
609
543
566
805
583
705
612
723
791
682
573
590
641
505
789
850
517
542
597
835
547
587
840
533
559
780
509
621
783
552
874
630
711
523
827
642
749
831
771
690
758
854
762
806
641
615
658
844
785
513
699
882
743
863
885
513
670
889
637
596
636
884
660
836
537
746
790
806
897
831
729
890
899
827
821
709
602
597
850
890
770
725
714
816
732
791
711
725
680
889
757
639
714
852
744
726
675
769
868
625
836
713
801
865
546
517
688
571
533
715
633
501
566
858
858
853
715
764
731
557
583
671
575
774
530
800
775
524
576
761
633
529
724
788
804
856
655
704
898
524
671
680
891
579
638
575
868
507
667
732
819
892
786
796
526
726
820
754
877
615
678
504
787
854
759
513
669
563
707
615
567
804
684
704
570
795
760
806
676
811
658
613
855
589
708
599
651
726
840
612
560
556
692
896
757
692
812
894
898
657
579
775
820
795
634
696
770
633
652
684
565
626
547
828
672
659
888
540
620
861
500
657
752
709
661
783
645
639
773
573
511
812
826
666
503
624
638
581
733
897
721
569
790
663
706
873
531
584
715
854
775
891
789
545
756
832
855
501
507
837
678
736
758
744
807
822
728
629
643
643
823
577
826
825
615
556
614
854
511
870
593
555
802
670
607
717
873
633
759
815
639
678
817
607
885
790
505
868
690
863
638
628
872
518
848
541
581
511
689
505
532
540
642
623
831
510
504
856
655
735
628
631
653
806
773
715
814
887
643
617
833
828
607
845
808
818
573
574
597
840
815
752
658
569
826
698
576
521
598
641
746
703
557
825
896
876
531
528
813
880
887
633
775
870
654
719
638
681
664
741
626
858
639
703
746
834
851
619
694
628
786
557
854
548
579
710
662
822
729
594
521
677
636
751
599
670
816
768
743
786
571
742
765
797
886
724
863
559
828
625
822
699
871
885
753
840
719
828
664
650
614
699
778
868
885
729
900
677
859
887
620
701
551
606
733
522
510
812
538
536
595
525
764
792
867
796
872
649
808
523
850
750
844
580
548
539
564
587
820
896
763
632
528
897
545
777
634
593
532
517
801
596
604
522
588
647
671
644
735
887
619
517
520
601
580
821
549
824
694
725
837
723
502
711
698
597
720
547
512
788
553
559
661
570
524
776
630
715
635
627
570
570
556
503
610
582
563
805
872
860
675
754
682
681
506
781
774
690
601
740
747
886
671
744
744
572
735
518
640
681
751
777
637
645
671
536
785
575
546
759
655
690
663
706
713
846
739
698
528
587
522
586
687
839
758
894
613
544
780
885
615
538
813
828
753
564
615
842
732
722
729
540
637
886
579
527
652
766
673
523
815
601
539
814
810
780
589
658
639
850
652
668
564
774
830
740
880
873
672
878
804
698
624
726
582
861
742
546
614
626
502
542
735
736
688
510
843
539
702
788
882
671
712
866
559
643
639
584
512
774
761
852
529
739
715
714
505
506
830
545
703
798
820
898
850
549
780
587
512
838
787
527
837
836
843
716
660
732
571
828
676
704
583
500
790
845
577
896
591
514
749
730
602
764
633
594
635
807
600
841
769
777
760
880
842
741
668
777
847
778
829
631
875
604
637
799
893
519
578
879
583
793
810
842
865
635
673
526
877
879
858
847
727
597
556
740
805
504
740
584
596
535
506
830
729
537
811
841
651
780
831
854
668
527
846
669
569
702
599
567
517
693
599
558
767
661
875
504
808
662
668
772
894
874
683
793
735
890
771
881
806
579
752
678
570
678
779
676
825
684
742
502
596
571
557
613
618
597
625
559
678
876
506
879
645
643
894
660
685
593
815
763
586
667
543
803
626
768
808
587
711
898
846
827
666
798
627
570
606
671
706
753
573
523
627
756
710
808
658
888
508
541
747
573
645
896
521
527
717
815
754
894
701
524
875
647
580
504
806
830
865
659
686
510
629
799
608
835
835
575
751
769
515
521
599
500
569
517
617
643
711
732
849
650
757
894
850
539
608
837
729
773
531
523
768
850
804
761
718
770
811
856
797
678
553
539
557
837
728
726
613
694
507
746
688
677
582
536
630
845
704
629
523
743
657
508
809
544
663
872
832
666
604
539
886
878
741
654
682
587
621
874
726
795
756
775
886
620
633
512
617
617
759
874
596
729
813
622
670
871
638
554
670
539
755
808
808
539
538
715
877
611
532
569
835
627
787
890
790
759
614
800
726
785
540
892
756
690
510
685
536
786
828
618
521
576
680
506
783
794
592
524
544
792
669
694
653
731
653
519
683
653
575
516
891
543
654
630
895
732
628
887
549
614
529
800
819
819
855
583
594
634
878
898
678
584
654
711
579
734
519
838
757
539
718
522
869
540
762
649
850
630
741
559
797
685
520
632
752
860
720
595
599
798
567
578
691
568
855
558
703
862
692
627
644
788
745
773
837
842
530
844
814
534
502
646
501
733
500
507
644
897
831
819
681
571
622
524
892
631
616
587
843
705
523
605
635
555
818
587
839
742
738
852
562
591
630
836
734
816
727
859
887
784
785
872
851
739
574
813
843
830
710
564
522
714
841
740
520
705
648
778
729
872
676
553
580
785
601
621
701
676
797
889
830
816
803
548
766
568
655
630
584
513
842
865
864
683
622
817
760
685
852
886
682
643
793
536
501
726
517
500
567
885
881
730
601
519
900
814
647
670
689
566
777
852
792
584
673
562
637
566
889
806
772
609
533
534
763
745
824
860
694
894
655
580
530
574
727
623
525
887
839
608
588
569
508
529
553
666
585
558
884
745
521
793
780
874
662
616
512
877
594
889
684
526
558
704
664
739
642
562
505
767
669
740
799
620
639
717
847
550
571
658
706
628
741
819
678
671
874
831
570
574
862
787
505
876
531
808
853
897
664
596
668
688
603
705
756
705
650
865
868
518
599
500
599
659
675
827
893
892
643
677
593
829
893
680
860
777
543
811
519
646
680
829
730
753
702
503
857
813
706
654
700
660
874
785
643
606
611
710
530
840
856
606
821
538
628
691
547
694
610
840
753
758
852
816
581
704
882
750
599
668
615
855
636
532
796
662
686
540
512
525
769
715
887
699
586
851
677
805
597
846
567
876
529
755
658
742
841
709
762
779
500
877
746
694
731
811
881
693
719
575
824
723
611
822
799
874
892
848
657
694
841
646
894
696
695
825
806
731
880
617
695
545
867
561
647
812
737
517
570
639
787
613
685
634
714
599
897
830
761
626
601
766
758
808
604
645
748
752
887
838
603
617
683
524
861
808
850
802
761
686
822
521
676
597
535
566
806
712
734
790
860
733
629
604
725
750
738
842
598
511
871
846
809
554
830
900
686
678
854
854
560
709
546
539
633
668
554
586
751
563
859
879
888
508
656
629
790
561
735
502
715
609
540
684
779
662
610
826
588
845
593
544
648
717
712
869
574
705
504
763
786
665
725
875
886
773
638
783
853
593
808
564
590
694
737
605
650
572
569
551
833
536
764
642
655
586
738
550
607
534
590
874
524
709
860
746
681
664
728
663
722
567
802
778
691
738
677
806
837
654
556
704
510
679
786
681
636
818
589
800
850
872
530
571
830
564
741
719
771
696
876
640
675
854
728
800
877
887
820
888
577
784
711
656
662
609
876
663
862
540
512
883
531
712
526
614
833
841
887
755
620
557
612
732
773
515
893
728
585
694
693
683
707
860
775
796
688
836
501
674
614
662
655
787
610
678
716
794
513
615
748
806
693
652
655
552
775
859
777
852
881
500
547
754
736
876
514
571
774
646
605
567
596
893
859
631
851
862
798
728
685
846
581
687
685
686
717
680
853
851
782
613
509
509
663
765
825
802
638
874
583
734
886
545
850
755
530
713
507
578
748
846
653
728
601
837
692
894
831
753
621
611
554
796
808
760
838
704
666
683
751
817
636
621
845
797
783
817
682
621
613
868
848
547
584
782
596
822
540
666
838
724
793
721
899
708
549
841
624
886
848
891
646
896
873
889
821
658
627
840
858
819
603
516
845
602
763
677
889
753
662
608
899
648
879
784
702
501
506
853
860
738
763
589
591
687
720
728
702
852
517
817
696
599
638
563
530
735
727
841
853
724
612
875
590
885
514
572
731
701
679
649
691
548
617
662
831
631
812
850
746
617
515
646
752
826
834
535
577
669
556
652
626
841
677
644
692
680
526
667
880
613
561
871
739
517
516
500
899
528
869
778
846
501
588
590
625
620
592
695
896
576
673
777
676
657
703
712
786
710
754
615
761
641
647
765
505
597
500
802
810
640
526
575
768
509
670
585
661
672
539
882
786
686
783
643
798
627
656
713
536
656
900
703
824
651
657
637
898
770
762
611
821
579
593
529
641
754
815
618
684
524
742
770
591
592
660
899
753
599
652
625
731
698
625
820
568
517
731
543
645
900
557
778
537
585
517
597
879
638
599
887
857
830
814
720
848
735
818
579
855
788
647
897
618
671
625
663
503
729
827
695
747
741
596
741
654
700
730
857
603
653
543
693
845
637
791
640
596
701
603
737
890
776
677
678
612
823
890
704
770
509
616
555
552
522
722
517
874
628
801
889
875
660
874
624
746
527
640
859
758
708
724
631
644
771
619
656
712
809
668
575
600
526
567
650
727
858
813
672
682
876
733
877
685
651
698
871
745
724
812
829
768
541
522
534
564
577
573
596
821
875
524
769
672
675
676
789
863
737
825
694
773
689
602
629
797
837
562
601
666
509
576
558
653
595
861
696
845
674
794
672
712
551
832
761
885
766
518
650
798
713
872
866
751
889
756
635
880
730
707
804
557
620
633
668
565
591
557
618
890
814
525
665
697
867
568
542
846
827
645
729
661
616
794
883
509
641
774
767
627
614
562
526
746
661
674
564
870
528
808
597
853
571
746
787
861
735
825
728
562
658
628
671
598
806
650
620
725
857
510
551
841
508
717
853
800
581
563
528
513
863
642
735
582
890
555
784
845
653
829
867
736
669
560
703
850
762
570
806
597
685
718
662
860
591
576
687
565
527
823
756
745
771
803
774
734
718
772
714
761
753
859
628
771
784
510
810
596
736
660
614
786
528
686
868
569
766
861
615
776
859
745
576
719
775
601
755
511
552
589
540
717
868
573
519
894
603
629
587
522
748
770
586
580
601
739
813
752
834
832
616
553
841
743
797
660
661
739
644
758
669
739
592
785
715
714
551
589
676
897
708
752
712
738
615
587
705
830
634
732
826
809
840
809
751
852
617
711
796
698
778
775
534
758
763
885
742
729
718
559
660
578
561
682
530
524
607
826
857
762
547
527
645
634
605
647
574
547
523
697
547
659
662
775
851
766
552
709
578
716
756
604
888
550
824
773
868
625
891
861
528
742
893
879
799
824
795
804
794
649
860
818
690
548
812
879
730
741
621
791
706
549
820
570
576
740
782
712
710
548
502
799
671
643
708
886
672
824
898
746
858
824
532
570
767
574
694
780
884
845
503
827
568
544
650
666
617
722
722
509
642
611
601
678
537
593
885
544
853
579
588
739
623
517
684
507
836
704
735
628
600
744
823
701
598
777
792
870
883
505
830
792
674
666
511
784
896
676
789
841
528
761
733
734
767
740
544
836
644
615
541
603
714
899
572
592
754
877
617
751
863
894
883
879
752
544
712
527
772
552
712
896
697
743
887
814
659
644
804
564
766
777
662
641
866
776
582
730
631
893
806
839
895
783
746
733
886
779
575
509
757
583
899
858
738
654
608
676
752
717
500
717
875
662
563
505
802
650
664
834
857
810
660
549
840
508
595
784
852
604
782
503
624
539
807
743
823
690
650
749
881
771
521
516
752
548
735
675
829
816
760
501
616
767
526
531
547
832
748
521
507
602
778
746
854
702
838
699
545
557
694
556
592
770
632
608
889
651
692
870
875
681
710
649
553
752
749
587
710
583
716
558
781
575
788
719
871
544
773
733
867
772
897
554
787
682
732
878
633
863
741
615
773
666
727
813
700
517
559
864
568
860
634
824
740
767
553
783
732
738
884
561
859
896
753
849
605
706
504
735
850
571
861
529
625
827
796
646
854
668
570
562
521
742
878
840
635
754
619
725
854
826
885
792
666
857
767
599
842
530
593
532
823
588
580
713
812
614
506
839
716
565
810
537
755
830
667
791
702
673
733
883
627
744
713
871
647
753
595
555
761
819
785
630
878
900
558
752
745
561
654
752
636
757
547
661
536
722
820
644
889
746
692
710
593
627
642
638
871
796
547
587
842
899
711
666
586
684
577
521
657
668
879
714
732
573
553
773
830
846
621
566
805
676
633
580
718
536
805
701
636
861
628
892
745
801
583
867
817
684
578
839
801
685
508
615
606
838
727
514
687
655
726
534
726
797
687
815
763
516
725
799
534
812
785
647
847
844
892
757
783
859
732
684
531
849
746
509
786
807
780
601
600
672
650
801
529
655
722
783
869
774
561
633
691
518
560
799
780
564
831
685
511
542
656
801
839
718
572
632
550
678
874
538
558
685
850
523
717
729
711
777
847
875
880
509
882
879
542
803
593
577
656
816
756
732
881
732
893
757
568
823
691
528
695
632
526
625
803
675
867
544
735
883
677
869
670
656
612
524
754
807
876
504
729
568
789
690
876
539
709
566
789
875
725
871
624
888
829
841
823
870
533
772
822
788
833
766
810
782
782
524
743
763
762
821
755
576
528
657
750
533
770
559
595
653
649
758
578
592
667
516
791
505
758
805
620
589
657
810
635
760
680
867
523
896
854
539
835
788
656
643
568
700
884
532
718
845
780
829
883
793
831
532
838
897
802
601
845
841
579
853
885
514
710
581
779
867
742
721
821
502
674
562
738
701
572
545
778
618
665
885
777
874
900
840
785
871
890
505
763
771
649
755
786
874
848
900
654
530
577
534
626
590
702
605
808
744
526
885
691
574
703
631
540
811
842
774
590
611
701
881
674
603
643
671
688
893
656
546
587
758
627
659
581
896
760
543
541
743
737
574
566
805
630
730
856
804
568
639
714
877
580
630
803
659
596
566
810
887
557
747
665
660
680
512
627
689
811
569
560
615
591
763
685
794
542
880
815
506
626
646
621
509
817
869
693
646
683
885
523
848
739
890
568
520
878
638
738
844
589
852
665
736
633
884
615
748
775
814
791
598
656
856
544
548
524
803
884
608
758
847
758
747
889
556
696
811
569
501
535
621
769
892
507
538
893
770
508
620
615
771
830
678
679
612
845
771
732
754
763
683
899
809
813
823
817
522
688
801
676
892
650
785
638
808
666
528
734
594
750
831
722
568
738
899
597
623
615
681
642
723
739
565
618
774
535
752
698
544
557
876
890
827
714
591
751
837
776
680
665
898
818
721
754
500
605
882
865
619
863
572
783
582
778
895
693
528
592
799
717
553
705
800
832
604
518
825
817
610
546
852
643
849
763
558
780
772
846
787
590
737
899
613
661
558
835
842
577
667
759
725
589
769
791
816
547
770
513
891
897
529
656
873
752
783
666
714
559
848
731
628
798
619
706
533
634
600
836
862
819
795
727
559
708
897
845
853
558
646
604
569
661
598
825
604
708
880
648
551
893
795
674
502
770
723
788
823
550
544
690
505
886
771
768
873
890
519
854
749
505
822
840
720
800
734
872
542
586
803
610
518
514
648
768
594
643
580
621
840
584
579
586
615
833
635
775
746
864
656
846
527
769
537
630
841
623
831
898
545
754
872
717
801
671
602
866
570
587
527
584
646
739
556
795
761
541
634
625
779
578
767
556
862
596
623
671
783
716
855
501
878
687
746
880
547
544
861
569
826
752
542
757
891
712
704
517
702
619
551
644
656
626
805
891
633
661
624
578
609
696
717
699
583
607
765
681
508
611
559
701
854
529
752
652
559
566
875
837
711
736
738
744
898
834
776
846
891
742
782
674
760
884
660
822
761
661
641
824
883
640
826
752
840
846
614
694
729
669
813
709
847
800
900
735
773
857
879
519
619
727
605
588
579
680
881
801
793
534
816
679
606
849
635
825
600
696
857
752
756
573
753
728
507
727
544
530
550
855
684
779
820
548
726
710
644
835
839
551
620
611
784
606
605
795
730
630
582
721
640
769
547
891
792
692
530
505
612
554
724
788
712
828
829
818
711
648
510
745
527
865
541
708
720
774
579
585
591
750
830
880
851
881
551
522
898
828
629
786
852
739
534
677
874
599
693
610
792
523
545
768
553
768
550
790
512
745
746
504
662
554
622
504
605
856
882
793
842
821
791
718
641
832
684
639
586
696
552
771
783
692
683
815
642
567
859
501
744
618
560
747
517
861
635
523
679
690
841
878
711
679
532
512
706
682
548
751
640
850
745
725
889
683
558
844
683
594
791
834
569
739
793
607
568
715
635
649
658
853
661
567
653
701
770
527
599
500
838
882
575
549
749
640
624
544
607
769
788
718
611
890
895
601
697
869
556
594
757
638
896
848
543
863
618
804
895
754
863
847
608
579
530
638
612
815
506
687
805
801
686
725
837
830
639
780
776
540
866
712
520
678
552
858
735
770
751
601
743
633
502
583
617
528
691
874
578
526
809
622
633
616
790
821
543
856
813
591
538
894
774
730
527
879
711
532
752
559
544
598
596
573
677
521
767
757
894
502
597
711
704
781
596
763
854
571
826
614
689
741
555
791
526
633
737
620
558
655
678
871
757
855
853
658
797
754
767
727
528
516
885
624
827
591
634
593
625
549
511
731
548
700
855
858
873
701
778
867
658
575
691
777
808
710
793
832
704
759
673
629
820
887
824
621
887
609
760
617
744
759
764
590
879
682
809
763
566
746
515
877
731
815
612
702
528
841
508
727
849
567
620
540
619
569
759
760
762
637
777
614
688
683
854
727
665
687
882
596
848
776
798
529
573
682
828
841
609
574
750
753
676
600
727
897
711
500
512
844
769
500
791
730
501
516
767
860
818
538
899
650
857
516
503
839
766
849
889
656
663
874
734
694
759
646
502
630
831
855
761
817
870
683
673
500
584
590
631
623
874
633
775
842
664
535
593
510
886
681
682
855
534
856
864
584
540
526
736
877
607
508
859
664
614
728
750
542
570
814
646
725
769
795
549
580
537
600
844
527
654
746
885
799
641
651
659
555
666
642
634
712
829
559
653
507
584
842
538
686
530
863
547
506
687
553
826
511
872
886
578
586
746
861
536
876
808
879
663
842
530
855
636
660
843
815
629
766
865
890
646
786
689
827
887
671
768
880
786
503
672
835
723
841
523
672
609
788
813
683
531
757
595
698
789
547
599
712
889
525
581
785
749
842
610
599
698
626
671
790
862
594
628
508
726
627
571
612
511
848
846
540
532
668
875
545
523
894
537
741
893
836
672
599
681
844
592
832
755
585
646
684
546
593
876
605
897
714
875
527
860
539
880
778
551
688
563
513
838
523
619
594
896
597
848
581
529
793
764
858
819
644
598
810
803
822
714
751
614
580
525
845
759
655
788
732
683
622
847
563
635
887
746
771
562
704
595
549
733
578
843
736
554
565
547
682
895
540
778
545
672
784
802
590
573
551
874
705
554
546
899
544
854
672
863
538
845
642
827
673
622
531
531
665
889
826
648
684
731
883
623
799
515
620
627
722
501
615
517
776
638
820
712
662
882
723
866
719
863
794
572
558
898
598
647
507
658
629
635
874
691
865
625
668
666
708
685
820
536
648
622
753
788
796
863
862
663
739
638
754
624
535
511
822
667
834
624
584
564
675
630
516
729
861
700
621
609
526
682
605
782
887
743
763
549
774
595
801
895
546
665
551
841
562
777
600
522
717
723
846
781
894
721
542
773
763
828
643
529
636
745
567
733
503
644
844
584
771
776
846
703
649
767
550
894
707
841
741
780
773
889
873
814
829
842
576
806
551
833
887
831
731
576
744
556
578
804
842
542
867
696
870
740
726
506
593
561
527
702
698
796
510
869
878
804
771
546
549
631
598
900
689
573
677
801
841
635
528
730
743
555
609
616
845
812
574
892
830
739
793
538
825
564
609
855
549
767
833
866
548
674
513
791
613
792
825
717
591
613
797
617
538
701
579
730
590
730
707
648
654
824
823
786
629
560
640
884
601
534
568
568
709
791
842
596
694
842
781
607
620
626
655
843
520
645
843
677
744
617
796
655
707
529
702
575
789
688
780
695
823
714
742
803
721
550
621
848
843
780
592
510
841
546
551
892
663
696
617
608
670
839
856
616
814
506
767
602
893
877
736
631
673
531
890
619
852
625
793
646
686
722
686
579
680
861
674
896
683
667
772
546
518
550
775
707
555
591
822
659
874
600
515
762
663
895
559
768
572
509
513
609
509
780
629
652
666
623
756
887
604
525
835
707
878
542
783
846
832
823
846
847
795
752
749
644
667
788
638
722
503
800
840
592
863
733
741
757
571
707
703
836
834
588
654
825
722
643
668
878
612
656
855
553
542
535
527
720
793
581
725
624
865
758
876
604
767
838
586
797
606
552
815
573
753
788
812
766
813
797
869
581
887
848
587
562
554
510
531
546
641
882
784
769
583
640
663
887
752
730
854
678
524
707
712
786
698
538
705
890
723
665
626
811
882
855
508
690
678
657
873
695
653
647
618
836
837
787
577
650
593
623
633
680
613
653
580
649
560
690
874
890
548
597
538
841
656
718
516
585
590
782
746
702
853
590
785
848
510
900
849
667
897
751
685
656
511
818
582
536
734
882
789
600
569
775
702
560
855
560
835
663
848
896
865
900
544
755
821
529
861
510
689
840
674
816
738
871
824
896
751
781
705
510
822
821
666
532
854
638
707
752
542
709
652
524
788
553
784
841
640
806
823
869
510
569
830
875
662
830
752
529
571
891
746
634
769
560
510
726
875
693
515
721
877
724
706
541
660
832
824
541
875
587
888
647
863
875
685
871
678
612
562
698
715
547
569
760
515
773
849
679
829
628
726
690
696
783
533
695
810
739
533
828
731
745
674
887
792
857
666
819
842
870
783
660
557
839
706
522
897
588
782
735
758
551
633
652
507
818
801
868
641
642
781
852
771
514
788
552
575
719
837
580
707
638
726
816
561
609
556
528
542
671
619
691
620
558
609
786
840
848
844
706
782
738
848
863
665
831
675
765
513
582
593
640
689
576
599
507
780
750
751
796
860
667
523
837
778
704
772
773
691
720
764
553
670
602
723
601
853
668
751
729
691
864
506
859
641
702
841
737
633
582
620
861
666
882
544
620
642
599
603
815
687
840
633
551
761
721
567
715
745
846
709
632
572
776
782
842
877
671
859
527
774
792
691
728
610
818
723
589
536
608
619
780
876
614
686
739
795
670
859
638
835
646
817
604
767
735
685
770
644
823
776
849
650
705
658
741
791
766
670
755
808
665
569
688
840
763
737
588
817
766
880
643
597
858
618
519
866
862
819
835
663
563
639
790
817
604
659
603
893
560
824
724
872
747
771
658
787
555
516
588
509
843
590
889
625
884
591
742
507
605
708
515
858
853
697
693
857
774
508
877
782
676
828
805
661
651
504
655
739
593
639
662
675
900
710
580
841
689
682
865
534
504
878
573
767
569
584
786
778
830
607
650
869
770
605
575
850
654
857
658
874
897
740
568
522
690
659
500
724
847
820
839
812
869
652
874
870
771
647
546
809
791
628
518
744
513
728
885
595
825
876
794
741
791
764
671
737
677
895
662
542
813
727
693
697
656
557
758
544
537
650
594
714
882
730
788
881
884
854
820
577
758
575
607
617
691
684
549
696
769
860
576
763
664
545
626
523
635
889
734
651
502
577
676
526
766
884
587
771
891
606
554
689
623
813
704
649
807
695
726
837
810
676
576
748
755
570
671
502
561
690
514
604
886
759
617
563
590
730
589
518
741
580
729
522
839
521
761
520
729
572
755
790
768
727
850
792
829
809
857
690
592
870
823
581
583
788
897
695
819
629
847
869
587
661
563
824
736
856
628
592
536
628
587
668
664
571
867
604
788
789
572
838
583
567
581
554
887
851
519
804
529
772
774
819
505
754
772
769
754
652
680
732
707
510
678
671
783
730
698
832
854
816
669
879
659
507
871
894
867
833
500
728
803
740
581
543
749
652
837
692
667
749
623
654
505
740
749
532
652
893
608
771
856
721
814
519
712
879
542
787
870
537
805
792
889
538
610
513
554
531
546
588
628
582
589
870
827
538
882
811
795
545
840
695
501
817
617
622
735
561
582
509
799
641
728
697
686
859
863
695
833
546
776
610
679
503
805
531
819
756
517
778
843
749
656
529
608
892
511
884
828
832
883
718
762
600
500
764
503
785
770
604
606
551
774
606
534
617
731
752
611
550
739
590
542
700
567
586
615
643
771
511
893
532
886
785
896
750
849
893
726
590
868
720
658
662
704
786
707
602
510
501
532
733
585
706
891
536
610
852
581
567
634
691
668
554
687
739
572
722
659
736
892
630
588
736
796
726
597
512
849
822
701
592
509
687
885
708
884
736
583
587
764
732
783
831
561
730
683
733
794
710
804
714
548
671
879
664
654
731
806
658
699
761
845
899
844
770
609
872
847
745
691
510
758
857
822
600
888
822
633
720
790
869
762
798
577
754
652
754
796
700
827
637
879
849
723
733
529
720
639
669
615
767
820
863
544
745
732
616
507
887
696
767
776
855
833
874
794
788
810
599
855
882
575
656
801
566
545
721
780
740
538
743
594
671
843
656
712
652
523
833
748
589
751
552
737
665
664
816
666
873
652
863
785
618
702
770
883
610
899
687
503
823
687
861
733
533
582
521
754
619
611
568
509
761
866
818
618
583
564
789
713
580
609
689
753
813
875
514
531
578
794
895
758
776
636
810
759
502
731
608
876
822
514
592
857
528
860
844
534
668
826
702
867
879
666
593
776
866
849
863
562
750
626
746
710
756
501
884
895
785
580
796
673
714
683
760
876
560
734
541
577
735
549
688
630
595
788
691
840
896
629
678
807
804
675
577
515
653
524
680
828
872
624
572
864
750
829
525
568
721
739
605
691
787
716
800
741
609
751
619
568
653
701
831
539
631
831
827
677
668
634
686
616
693
673
828
542
628
541
808
546
617
647
541
705
548
805
875
819
632
618
896
653
608
868
672
881
551
768
886
847
790
763
853
570
883
520
687
504
766
625
704
557
759
897
725
762
820
664
829
685
826
777
642
659
900
757
626
617
580
579
611
830
625
602
755
661
688
591
843
580
591
890
630
543
820
548
632
839
595
830
624
775
780
618
696
605
550
604
881
622
611
784
895
503
892
567
617
878
643
764
752
539
614
541
698
695
884
597
828
746
549
688
815
805
671
842
756
772
834
518
851
572
728
852
535
537
733
750
536
577
636
504
719
675
523
743
778
713
631
679
500
771
522
745
580
893
806
841
791
750
570
538
793
735
713
725
771
511
792
736
766
844
684
837
532
500
675
860
865
779
799
766
528
830
631
608
704
592
600
641
707
583
681
630
513
794
675
898
569
792
867
812
520
641
580
765
819
587
742
783
639
511
794
854
546
545
767
849
826
631
742
579
782
661
841
589
865
588
706
791
869
774
693
502
878
503
759
613
506
704
516
626
770
692
696
598
846
606
824
758
778
648
611
876
743
896
787
863
526
851
721
744
718
807
526
891
843
825
602
777
683
534
842
829
524
646
706
740
555
884
785
852
643
761
841
703
695
616
547
835
686
600
836
564
625
556
533
685
715
593
870
504
599
611
663
593
645
636
791
841
503
900
758
899
828
788
558
601
502
514
726
587
733
700
712
887
897
590
643
853
895
819
658
776
671
790
570
651
745
733
546
660
521
849
606
818
830
897
518
503
784
740
837
659
684
632
658
873
827
786
666
567
566
731
582
551
515
503
722
874
883
702
828
505
601
784
721
661
799
766
753
751
501
686
846
535
660
718
506
513
651
660
579
521
570
799
720
833
580
866
715
852
752
701
531
791
877
723
746
581
596
839
627
591
741
862
552
560
781
690
802
650
852
726
871
792
698
688
802
551
790
804
578
604
868
638
718
874
793
671
528
821
894
696
899
788
783
792
891
567
725
585
665
512
737
876
637
504
789
807
838
573
576
537
589
682
615
760
791
755
558
527
793
607
885
843
880
685
531
722
808
666
638
655
689
539
742
858
502
638
550
692
599
655
857
553
613
879
610
887
549
535
615
563
730
535
846
708
753
532
643
856
797
716
540
783
784
839
758
516
733
726
886
594
665
667
713
746
861
849
835
545
706
509
655
838
625
635
791
820
718
827
559
833
848
898
720
500
667
735
717
609
660
667
823
720
619
594
583
528
726
813
839
549
555
526
557
811
735
584
789
900
846
788
702
769
840
825
662
506
695
501
528
647
702
833
694
570
838
562
548
717
864
899
887
890
741
727
881
571
828
560
811
818
669
558
727
826
645
536
593
663
537
862
574
791
513
605
732
763
721
850
625
867
630
577
799
549
898
885
687
786
812
878
645
543
676
900
507
899
533
699
750
805
553
525
879
551
710
582
814
598
696
734
793
733
551
802
824
591
783
518
610
580
555
676
891
896
865
608
541
654
661
542
846
778
669
754
559
507
798
540
753
893
568
837
709
556
890
560
856
653
601
871
695
561
523
584
560
602
576
611
823
697
739
506
747
680
773
502
547
749
734
786
709
570
807
868
842
517
775
590
528
509
843
758
535
514
840
841
819
560
834
678
679
878
557
547
632
736
786
658
521
852
826
712
566
715
600
884
625
719
900
873
842
621
570
532
891
659
744
625
886
753
840
611
885
631
890
685
503
680
772
558
744
886
827
551
598
821
743
824
731
660
734
874
868
842
729
896
639
719
792
763
734
832
809
878
597
656
643
826
566
588
784
579
713
875
503
557
735
523
638
504
792
606
514
789
666
604
685
892
718
652
696
502
851
657
809
860
860
581
689
839
568
864
638
537
828
530
688
760
668
780
760
779
754
746
726
749
773
612
673
773
861
852
729
754
659
728
606
884
849
746
611
852
866
674
623
650
800
547
560
611
700
586
679
640
680
693
895
819
717
788
579
705
729
790
899
842
662
543
842
627
789
683
742
686
548
776
766
605
527
508
589
806
726
878
518
505
693
834
595
816
731
752
607
854
521
711
745
515
535
511
782
712
748
577
730
514
669
853
864
851
779
900
680
847
563
880
640
514
874
771
548
588
820
697
556
650
751
583
631
836
503
838
766
849
755
620
605
563
592
594
813
654
720
607
787
566
855
785
851
897
796
820
522
590
821
892
792
542
900
526
584
817
658
617
585
833
699
736
603
539
599
522
577
768
771
531
808
858
704
558
565
723
890
564
520
675
881
801
770
613
515
582
545
746
643
801
895
516
645
691
628
805
677
699
650
821
763
596
878
668
856
755
537
500
799
858
843
700
619
810
850
539
507
791
667
733
503
593
708
702
792
550
782
770
840
859
751
891
648
548
735
649
506
815
687
696
546
775
558
603
766
881
619
612
602
615
697
886
515
844
561
538
866
544
584
588
875
594
752
684
887
716
581
799
632
524
583
793
587
794
672
873
500
523
780
776
712
528
591
667
785
610
533
758
793
655
809
573
818
750
726
668
803
780
796
785
869
866
892
800
691
842
830
641
657
652
742
634
865
649
781
517
691
561
613
824
776
619
689
606
594
799
672
890
530
565
504
883
826
665
611
633
809
803
680
551
740
587
551
512
709
862
503
689
797
560
734
518
669
589
835
833
554
515
693
727
762
553
781
641
627
866
802
824
865
898
639
607
892
847
823
798
627
686
664
628
799
839
732
698
679
814
736
848
723
720
581
810
869
837
781
687
651
551
849
543
816
605
797
796
539
890
676
797
777
568
733
683
881
845
543
687
899
618
543
814
669
620
809
675
566
551
524
822
570
766
600
526
813
594
775
651
582
515
869
524
652
795
525
584
878
676
667
579
529
721
510
825
524
650
661
791
895
584
513
779
765
722
579
623
530
692
720
511
883
710
622
851
716
572
663
568
768
635
714
619
568
522
721
825
658
767
666
888
693
552
699
539
592
863
692
847
727
607
798
848
664
767
796
788
765
873
687
864
606
720
530
510
769
537
554
621
757
648
628
675
870
787
776
679
674
516
574
665
783
701
623
651
613
543
718
655
890
590
779
592
896
520
739
812
727
808
873
805
677
869
524
609
603
816
784
631
757
760
535
881
571
744
812
565
505
689
752
728
557
659
709
751
790
726
830
656
840
898
635
878
584
699
859
653
640
850
873
752
699
794
601
855
520
843
574
690
544
514
620
616
607
662
816
819
877
509
683
825
762
762
881
730
578
825
640
574
888
838
767
654
861
743
865
541
588
875
598
698
521
514
653
867
641
694
698
877
546
772
637
750
627
846
888
638
524
714
830
521
531
635
547
682
781
556
557
547
822
679
805
809
828
643
586
611
886
865
700
763
637
685
809
749
598
745
557
530
779
688
663
556
568
839
511
835
679
732
831
605
810
606
871
601
565
716
835
636
573
828
762
652
502
806
509
801
706
734
698
871
547
605
545
718
751
792
597
610
503
587
687
540
544
757
774
801
795
521
587
681
703
817
567
640
562
737
736
644
542
675
757
565
873
813
846
864
515
772
742
777
558
884
649
867
666
830
820
593
780
897
617
771
752
754
594
699
870
538
779
804
701
625
523
847
674
892
586
877
738
696
621
821
869
514
847
829
803
536
865
710
568
635
708
530
657
641
610
745
729
887
563
879
814
842
544
801
709
759
657
846
836
526
674
748
750
728
562
654
806
849
735
617
824
605
641
505
678
818
888
779
836
896
590
593
754
752
598
573
562
627
692
733
836
608
811
683
542
570
682
897
735
645
885
534
720
547
764
826
709
854
504
851
820
672
691
868
614
544
679
872
666
533
763
766
784
881
799
809
834
759
857
519
756
516
529
873
654
550
655
505
810
518
522
684
666
576
518
696
764
553
707
589
730
594
663
509
693
631
545
662
803
900
666
771
591
835
545
803
894
831
839
835
563
895
510
552
670
781
665
740
800
590
701
553
894
581
660
640
533
754
566
681
815
757
649
525
748
820
605
590
703
847
560
780
719
837
793
798
515
754
677
799
807
649
589
875
765
556
566
716
651
560
669
863
577
561
655
666
587
777
725
744
821
703
564
501
761
706
549
753
782
786
828
722
523
738
613
702
578
653
829
562
877
582
730
813
826
500
529
730
509
879
576
646
516
682
608
645
869
863
716
613
599
819
508
843
621
779
847
623
720
699
802
605
748
584
576
890
515
613
733
619
741
853
699
877
644
786
650
782
511
670
792
787
681
517
762
507
855
505
680
557
691
682
622
688
891
692
778
839
598
896
626
625
678
694
783
880
898
874
633
584
885
870
535
588
793
583
677
631
856
795
635
851
879
712
660
548
698
646
760
803
565
638
659
507
737
861
845
878
895
846
556
704
502
755
891
790
633
615
718
563
779
694
748
709
866
673
900
718
522
753
777
536
832
621
620
662
799
656
508
626
810
683
673
774
868
899
714
779
824
886
640
811
568
529
536
736
684
605
537
660
575
823
600
821
570
747
843
882
532
885
790
650
807
776
704
836
719
675
887
814
837
593
686
861
553
627
608
804
814
627
508
865
509
576
613
512
537
883
873
617
717
731
717
645
803
692
590
771
834
811
849
641
772
663
845
853
649
754
626
799
625
532
864
636
712
585
833
768
846
686
511
579
877
504
654
575
518
518
615
788
540
734
571
500
764
855
522
511
604
548
848
789
762
562
833
651
878
884
540
661
607
628
722
601
738
826
597
614
843
800
855
581
510
799
655
658
696
521
786
606
724
505
728
795
679
676
680
549
616
723
509
737
781
737
565
789
516
504
671
857
546
593
829
865
899
890
548
525
892
889
687
828
678
822
711
858
814
834
682
752
707
703
751
557
772
508
546
750
695
630
601
534
672
789
632
712
756
808
624
761
774
562
596
571
797
575
658
836
781
652
536
674
845
885
527
858
900
576
607
547
860
680
729
525
579
628
610
709
584
626
826
599
664
695
887
808
719
817
792
855
883
606
781
653
785
552
519
884
761
562
642
831
571
657
504
795
836
896
652
774
581
673
845
678
810
528
653
682
816
677
757
837
787
666
835
772
741
745
872
878
622
686
896
559
742
727
568
770
590
564
886
652
837
701
530
882
753
674
857
860
723
531
556
639
501
700
553
794
502
602
538
900
889
580
686
605
562
895
744
661
564
702
576
824
655
795
731
737
699
504
809
541
554
651
897
676
667
555
806
670
869
524
651
612
580
547
699
616
825
509
812
790
900
861
835
663
791
584
615
858
505
560
831
836
550
822
773
868
681
882
563
858
529
774
832
679
754
830
604
765
618
706
578
716
735
855
626
580
653
854
548
653
792
556
776
880
645
791
517
799
765
573
879
787
607
671
613
758
783
837
617
828
511
848
541
725
518
702
728
821
830
700
880
613
733
821
553
594
864
560
617
710
527
681
607
608
680
500
779
789
673
618
668
516
715
695
830
530
689
872
817
528
622
724
700
571
604
624
783
779
599
730
562
789
785
773
655
658
772
785
727
815
634
891
876
832
799
500
524
882
539
831
679
831
727
889
541
603
777
635
795
614
524
802
597
516
655
833
511
815
500
824
679
712
874
835
789
852
735
738
839
755
596
502
899
678
807
724
771
724
829
847
742
640
653
861
744
652
525
679
744
809
851
643
547
848
534
755
814
552
849
770
551
516
804
880
884
631
591
517
769
504
537
787
652
739
619
772
680
527
703
549
682
508
820
550
771
848
741
588
528
791
520
894
629
617
580
866
527
621
865
828
721
571
511
873
808
827
624
590
830
684
669
723
748
683
724
650
564
677
780
828
525
718
850
823
806
822
769
840
803
615
580
521
824
561
778
717
666
690
774
779
767
526
745
806
597
733
596
865
570
693
543
710
627
710
615
863
810
899
813
881
568
819
656
860
892
713
716
539
881
632
808
701
526
734
805
747
645
802
591
693
867
630
781
747
843
823
685
869
532
898
558
723
808
637
638
606
551
827
788
590
513
737
773
890
721
649
601
531
843
612
784
529
672
774
621
538
560
608
775
610
638
604
581
691
707
598
743
669
579
782
613
674
770
737
818
892
620
666
593
747
534
621
645
759
867
670
518
592
843
624
852
627
542
684
692
806
576
755
887
535
651
718
500
646
661
745
531
754
635
606
840
795
754
571
757
799
545
856
542
760
694
891
684
702
834
545
572
761
519
605
560
855
702
740
652
567
541
832
881
766
638
781
526
676
545
767
655
719
678
740
748
609
768
869
792
685
863
724
815
569
848
842
696
547
852
514
621
674
623
733
784
840
705
665
829
537
764
505
605
597
604
535
669
637
757
702
876
541
772
644
688
826
647
745
844
563
779
712
869
808
862
704
757
861
728
810
881
814
734
812
816
681
765
715
690
511
583
675
569
808
523
603
686
696
843
680
845
583
814
581
740
606
822
859
891
778
775
812
843
521
557
605
525
527
639
698
733
554
595
724
843
883
619
766
518
689
687
619
707
776
877
517
590
759
694
823
837
869
804
707
512
899
704
567
572
586
881
745
742
545
642
636
575
680
837
746
773
524
798
681
514
670
558
744
515
849
828
655
898
641
717
742
742
665
881
743
810
630
699
840
519
513
790
545
624
898
878
642
525
749
544
640
686
727
815
668
801
527
779
624
860
725
766
632
724
855
789
525
553
832
517
577
818
691
899
869
644
666
876
583
545
778
810
883
732
532
819
802
890
717
622
708
857
531
598
577
626
842
574
572
775
819
733
617
776
639
782
609
845
854
728
809
735
822
665
752
589
698
638
720
870
580
777
676
784
763
512
663
702
516
698
847
614
584
530
780
552
570
745
634
888
856
731
774
855
685
796
556
613
565
560
543
679
576
688
511
509
863
890
781
599
528
625
608
607
832
599
870
754
748
787
648
611
567
522
562
847
773
876
656
782
647
776
737
786
737
868
532
852
511
739
827
660
861
538
900
694
866
871
836
724
782
821
900
505
866
845
828
718
622
576
845
775
528
689
809
651
666
766
787
650
876
650
809
873
811
687
876
625
684
802
865
640
583
576
538
675
557
665
850
696
663
576
769
747
667
703
797
533
643
786
863
629
726
504
799
756
557
683
724
791
571
892
837
548
646
694
564
824
610
659
849
847
806
739
551
624
796
693
721
823
676
521
541
713
850
898
553
584
513
699
817
590
678
738
581
552
588
549
877
753
717
591
790
839
578
514
706
727
548
550
656
648
834
519
660
822
651
762
871
674
581
888
878
809
900
502
826
792
885
524
855
801
553
702
574
690
827
734
551
637
801
502
781
782
533
891
537
770
628
672
892
533
618
606
530
588
895
500
843
797
666
758
701
688
694
624
872
608
628
632
860
881
510
760
569
734
554
642
702
605
705
679
834
673
727
854
593
628
563
605
826
760
583
866
794
569
570
697
765
633
833
888
543
731
707
799
500
762
566
756
514
630
790
810
558
872
719
844
721
549
812
825
825
719
735
700
732
825
691
891
646
744
734
622
573
769
546
804
716
692
845
747
656
573
645
673
843
557
812
690
507
710
842
859
538
579
725
768
753
674
838
725
633
710
756
774
527
559
523
841
818
690
892
572
665
622
537
895
607
883
815
793
879
779
822
881
536
623
763
711
732
651
523
844
772
647
562
873
512
755
700
832
634
724
634
673
829
741
871
874
689
547
661
696
592
698
829
630
740
732
652
502
617
787
567
778
766
504
661
638
500
520
845
509
580
785
570
626
720
884
857
729
595
892
688
817
759
638
533
600
871
610
667
727
861
897
534
504
509
723
755
537
866
589
743
660
501
572
562
684
767
525
569
779
676
691
587
638
553
583
596
807
677
836
896
638
638
736
736
643
853
629
814
838
823
604
692
512
857
881
535
545
536
546
649
778
597
696
809
647
817
511
666
551
760
544
744
672
543
736
522
538
594
824
688
809
574
569
800
809
606
599
615
595
605
774
809
521
602
535
848
775
790
538
588
544
795
612
531
707
875
626
698
693
811
803
509
756
669
588
510
722
755
683
797
764
797
844
807
878
542
894
655
502
726
803
770
590
510
858
848
807
845
599
597
698
753
601
563
781
575
721
678
876
800
820
657
709
893
829
605
533
535
811
514
784
762
845
665
685
635
889
678
778
838
601
610
878
698
606
579
616
594
633
663
611
665
607
708
878
679
840
667
600
615
847
758
644
866
600
641
543
712
630
874
623
815
895
576
635
825
725
587
803
514
894
697
687
600
574
554
791
730
894
701
752
529
587
678
729
564
664
867
693
824
728
812
832
633
505
512
646
542
807
768
590
793
630
801
820
810
878
634
790
559
850
655
640
561
677
746
569
880
643
755
825
697
534
836
579
637
547
556
767
854
767
844
810
846
522
668
583
900
519
582
851
760
805
501
663
512
846
588
747
625
565
588
653
593
671
707
549
686
617
843
677
867
593
871
622
685
853
780
613
853
586
589
570
785
739
766
638
538
627
556
732
736
726
520
789
674
800
648
566
613
849
504
827
700
659
548
676
850
622
865
867
638
639
617
501
655
752
681
521
800
793
549
695
656
812
775
594
788
832
748
898
604
640
782
788
752
625
705
881
816
571
524
874
788
527
897
780
828
869
582
628
664
610
741
732
595
592
839
755
582
661
855
848
650
880
729
583
751
831
690
755
657
552
707
732
528
507
742
734
871
837
548
616
658
731
649
713
697
598
873
521
819
679
709
673
781
804
740
613
732
896
819
704
768
755
580
863
634
699
846
529
587
685
545
671
512
726
837
775
759
867
595
579
717
733
790
605
840
620
572
675
793
532
639
845
651
634
558
796
718
700
612
765
680
688
547
874
855
773
719
673
772
577
509
693
713
516
604
507
700
845
806
631
568
876
830
538
803
785
785
817
611
783
695
516
846
688
850
817
798
817
851
810
856
884
715
765
681
558
684
622
895
681
603
720
888
881
661
564
726
829
575
629
815
788
587
502
864
769
765
576
671
843
858
598
537
736
758
739
549
766
630
801
610
765
811
544
875
867
838
611
674
794
854
718
700
526
721
588
521
596
514
581
805
834
583
527
715
827
822
630
707
760
566
775
662
860
757
701
642
752
885
724
592
737
853
551
510
726
514
631
900
676
713
770
614
602
665
531
786
738
593
504
672
819
519
804
689
770
795
688
676
703
673
678
578
900
866
835
713
537
895
549
503
610
654
603
774
767
852
527
833
749
592
562
607
615
598
817
593
895
715
653
791
850
687
764
737
578
671
812
512
898
885
601
718
842
764
749
783
640
516
664
801
759
837
772
747
614
890
554
752
522
595
666
822
839
820
684
503
621
509
553
815
695
621
624
604
631
550
855
747
884
593
807
635
737
658
796
526
727
660
721
581
714
740
895
623
786
808
802
746
766
821
847
762
597
779
750
589
868
644
588
853
593
569
615
675
810
596
734
865
875
577
626
545
814
747
727
675
734
766
744
867
534
872
625
842
753
696
714
622
849
510
858
708
527
564
875
741
579
764
851
513
758
672
511
564
782
558
807
690
725
718
858
676
777
544
838
693
621
649
676
531
541
586
747
779
679
646
650
688
599
868
567
572
619
842
523
610
709
502
785
749
835
807
694
684
516
825
827
691
568
841
809
524
613
883
840
753
592
778
899
822
502
613
536
607
697
754
699
823
622
547
663
650
581
506
648
548
594
875
841
667
667
510
658
553
636
683
612
794
661
614
665
851
521
517
703
645
717
771
822
718
733
674
538
886
741
876
503
513
565
734
787
742
809
504
736
783
538
797
824
552
729
804
575
857
535
640
705
517
731
893
526
755
755
892
805
584
801
738
533
598
700
644
659
678
756
747
776
792
503
841
705
871
859
592
588
623
638
857
723
716
717
720
757
608
545
873
840
898
893
679
547
571
728
741
609
741
564
736
694
740
850
783
804
874
535
673
746
681
846
569
647
538
899
758
676
831
604
699
894
826
764
738
890
588
697
863
528
651
611
518
850
726
801
547
743
695
662
795
516
581
749
729
854
578
702
761
851
562
789
890
757
572
701
755
576
605
584
611
674
673
812
542
784
566
626
512
580
854
812
635
681
546
743
565
626
632
832
867
668
679
806
527
819
683
549
505
558
603
811
807
635
721
553
820
837
716
534
721
788
531
823
618
722
651
761
891
867
503
549
820
841
575
784
703
501
740
882
754
519
860
555
536
603
759
518
658
660
794
860
675
540
854
870
797
841
893
648
590
520
634
593
729
677
849
529
635
609
883
556
812
756
638
669
704
715
668
659
505
505
820
642
595
607
858
814
716
540
762
648
736
807
805
858
591
717
703
654
550
841
777
862
577
601
877
894
832
560
685
804
643
633
869
567
752
577
824
573
892
650
832
558
793
595
759
568
602
801
641
500
897
783
623
690
504
694
523
594
861
632
855
567
764
694
513
796
581
539
717
893
686
663
543
779
575
662
592
718
876
655
500
546
885
539
637
805
651
769
582
689
656
608
839
718
860
627
616
500
709
820
598
733
759
680
638
700
760
808
667
778
538
684
544
853
817
596
736
813
554
897
773
696
820
671
675
795
646
799
744
553
610
798
532
681
826
854
845
721
733
746
573
825
521
850
716
763
794
856
790
519
595
575
839
813
900
676
528
722
758
727
605
679
723
824
673
750
576
510
857
791
824
605
759
557
761
687
611
550
630
857
792
685
563
704
771
728
713
892
508
589
757
778
767
726
644
639
846
732
833
747
655
534
739
882
809
567
891
823
538
624
719
630
610
895
524
611
502
590
809
723
500
656
530
643
595
722
624
800
546
657
560
687
607
868
803
781
660
688
895
829
652
685
629
600
855
829
507
548
826
899
622
507
720
759
734
670
507
829
589
900
590
723
899
749
729
812
778
612
860
869
624
582
712
687
758
823
529
809
612
721
872
852
890
531
518
813
583
528
690
653
512
844
814
643
532
899
835
510
595
606
848
787
548
861
692
766
732
789
703
602
721
717
575
690
804
844
720
764
637
750
840
512
872
555
519
604
860
896
578
785
534
592
889
554
647
801
502
877
748
810
862
520
834
562
662
687
866
610
821
573
669
877
825
773
885
836
633
593
522
523
881
614
541
641
749
630
684
808
517
849
581
886
866
872
609
857
636
736
621
550
672
753
831
540
593
729
616
729
867
814
756
689
596
869
807
761
582
622
843
682
798
839
643
675
831
853
690
512
757
830
683
736
855
754
650
850
778
533
856
770
637
653
613
819
867
773
885
703
700
724
821
719
666
668
514
746
698
783
898
642
587
889
718
853
529
789
869
859
766
710
743
540
526
819
741
582
894
887
536
624
645
647
824
638
716
570
786
714
710
526
685
639
872
681
593
544
556
806
668
712
784
602
758
823
638
762
595
559
667
715
803
756
709
622
528
832
513
739
627
885
782
674
797
721
652
867
501
880
538
511
668
506
590
655
681
533
530
780
676
762
561
776
620
889
799
697
818
858
589
564
889
560
895
709
897
608
870
639
796
688
693
768
528
530
680
838
611
571
697
639
697
513
780
543
708
600
890
627
525
524
838
643
548
536
526
620
531
855
726
621
713
890
717
726
782
762
546
720
595
609
809
603
824
707
656
862
777
502
586
821
538
845
643
601
582
575
791
540
879
587
775
819
779
849
854
797
606
695
829
589
696
565
775
568
752
772
699
764
679
581
840
668
892
604
796
818
692
868
801
671
500
719
789
807
886
801
705
506
647
691
628
560
734
707
798
750
528
543
608
586
725
783
587
513
899
754
885
541
570
816
556
657
507
838
777
602
506
873
712
643
856
634
812
663
656
734
553
755
567
832
740
867
859
754
724
504
814
708
787
855
544
508
640
571
557
560
567
576
539
857
723
578
853
802
547
595
886
544
792
552
661
741
702
716
535
894
861
506
515
649
640
752
530
854
853
843
848
858
662
770
725
778
571
572
706
679
837
703
627
790
568
883
881
842
671
630
563
690
657
826
555
690
658
889
762
878
787
767
687
892
711
710
610
679
752
621
767
867
804
591
777
596
674
557
546
628
666
877
824
731
789
714
872
569
762
701
683
581
726
696
586
635
589
531
863
507
706
828
819
766
701
878
575
784
530
846
598
567
682
735
643
501
877
529
744
684
890
710
705
877
784
585
857
552
870
752
649
863
796
746
865
761
680
591
532
868
801
623
583
690
646
542
761
577
557
681
794
777
690
566
704
736
764
712
765
629
869
552
712
866
782
642
553
637
800
851
541
692
505
744
884
640
870
607
545
595
861
798
817
630
833
601
842
797
508
691
688
575
694
717
569
862
770
782
754
768
844
566
720
863
798
869
590
678
688
892
749
608
871
753
898
667
537
637
661
681
733
818
572
896
532
538
689
562
575
848
893
501
900
802
656
755
865
535
515
807
884
753
739
711
800
840
688
661
546
516
505
674
786
706
783
539
767
628
790
577
757
816
502
675
838
812
586
685
700
817
536
511
669
693
612
672
549
866
843
654
696
556
855
580
764
552
607
536
512
621
591
713
855
884
871
641
770
669
679
743
647
671
725
858
603
600
751
642
752
746
879
502
695
651
769
524
761
559
704
614
837
854
531
619
867
587
764
615
612
790
615
750
786
659
769
808
522
511
701
781
714
657
791
543
730
508
574
836
819
815
507
727
724
553
695
771
532
634
593
713
570
688
693
849
852
563
590
783
670
810
859
752
768
842
522
696
629
638
765
606
836
787
855
751
635
587
546
821
501
834
704
722
668
559
854
727
556
824
554
730
678
789
696
749
578
859
778
634
648
657
733
773
543
563
664
813
845
519
603
678
692
734
599
587
718
855
681
600
803
827
749
726
553
681
727
634
733
844
817
674
804
735
658
538
513
778
659
551
527
688
654
691
605
530
886
849
643
669
609
769
507
737
615
622
849
588
890
693
568
689
650
624
623
519
719
810
679
573
846
556
622
840
776
700
780
653
763
845
600
899
766
815
512
575
737
806
797
767
765
657
599
719
666
544
838
834
648
807
794
792
710
856
782
880
706
530
564
752
514
519
753
882
823
828
623
575
677
724
649
870
734
766
771
590
765
580
867
656
883
741
540
800
899
655
769
891
678
740
814
589
681
525
641
895
632
752
554
626
774
741
711
812
820
629
573
664
879
734
576
832
811
834
617
639
763
813
612
729
701
593
539
569
651
809
720
819
582
833
510
606
681
762
744
637
653
814
575
809
625
841
565
619
761
757
809
706
896
848
572
586
713
529
793
511
761
548
678
799
541
828
598
794
538
691
744
717
586
846
520
872
841
703
737
750
685
844
574
707
777
864
602
816
764
587
887
668
811
661
811
643
753
602
780
663
778
598
635
684
717
842
605
510
644
701
710
761
743
859
793
582
510
584
587
572
611
636
525
539
869
605
526
576
802
780
845
516
580
786
648
842
594
615
502
792
539
799
738
900
609
869
802
769
777
664
667
793
804
776
500
588
789
732
770
711
668
727
723
816
615
536
520
715
745
623
602
626
535
740
778
751
805
778
620
884
558
671
646
758
605
700
582
760
503
525
543
874
593
535
593
783
688
679
777
544
711
560
893
742
868
666
788
500
871
845
505
577
584
724
557
540
826
702
675
601
631
785
600
571
602
640
604
711
862
629
638
556
844
608
781
683
746
764
841
762
554
707
695
630
636
786
889
678
515
553
700
885
696
801
887
840
545
666
808
747
881
900
545
589
750
518
523
549
755
693
506
590
830
784
750
603
644
778
756
555
789
899
637
525
711
698
698
813
578
868
790
823
812
808
892
791
717
529
560
577
632
724
694
618
734
571
771
705
642
696
829
718
689
581
776
632
572
743
599
698
760
718
778
631
601
816
526
634
772
747
599
673
868
686
772
507
854
570
873
900
815
848
810
683
874
502
736
527
743
878
525
589
776
624
653
872
550
728
533
594
561
641
551
579
721
620
704
749
897
508
607
859
745
822
898
660
511
869
745
522
563
764
611
805
885
687
859
755
811
900
711
700
614
511
576
812
679
676
822
605
543
852
599
754
534
631
544
529
535
579
830
520
542
866
676
572
876
896
540
838
584
728
626
593
580
628
788
748
731
707
567
879
586
516
598
876
724
606
669
839
585
517
878
541
763
761
821
528
799
660
818
601
537
695
684
523
558
675
810
723
812
710
742
778
827
729
667
702
566
840
752
894
660
792
744
692
868
662
582
690
571
687
758
824
650
764
757
690
733
840
538
768
711
673
799
594
647
787
523
560
786
547
826
740
727
736
636
795
546
706
658
653
878
511
601
822
647
712
873
702
553
765
695
645
764
547
678
755
715
636
770
877
526
565
848
779
639
715
894
576
688
580
570
516
501
714
601
823
891
809
841
547
722
568
783
670
646
560
748
639
661
639
784
831
661
795
561
877
763
778
548
597
840
885
611
760
604
853
839
751
782
749
852
665
523
866
521
598
852
519
762
820
882
790
798
511
560
765
660
575
611
638
849
579
784
508
622
515
746
661
643
875
768
822
793
715
672
587
715
652
761
856
720
864
586
896
597
517
572
626
546
758
869
795
835
568
740
506
549
613
598
618
838
709
751
857
541
650
891
773
726
841
713
541
798
508
633
549
819
803
728
766
552
573
874
698
654
796
726
738
574
535
685
870
900
809
575
738
831
664
556
634
708
618
663
821
761
662
891
532
669
719
638
591
862
670
593
507
784
597
849
837
897
823
833
811
561
760
574
593
739
827
721
667
873
532
766
779
739
572
685
834
783
567
695
613
782
787
512
644
860
527
616
715
773
793
849
547
658
897
795
644
651
873
733
781
828
705
814
642
843
887
595
793
548
847
813
565
618
792
668
887
887
578
511
881
561
515
691
716
612
587
764
739
839
728
735
599
500
674
768
818
567
762
872
603
559
665
897
522
680
652
598
525
897
625
587
708
793
616
718
506
884
767
653
809
633
537
889
514
793
703
774
847
654
589
708
674
900
894
876
772
743
857
775
763
637
788
655
564
870
617
570
595
761
811
722
593
682
588
504
860
530
537
761
897
675
554
862
771
541
508
608
568
810
733
630
797
696
841
784
653
619
818
757
565
771
511
699
797
698
808
728
855
758
884
572
878
591
664
817
889
511
857
669
617
628
805
843
623
749
812
790
797
859
631
869
814
885
678
750
586
538
751
876
806
505
660
571
762
820
591
648
876
766
673
774
798
729
585
631
535
821
734
870
556
884
690
737
895
639
609
619
733
719
754
536
638
846
760
748
585
799
798
592
704
554
564
603
873
877
680
627
525
666
579
801
839
721
702
713
627
778
784
850
823
590
613
541
827
530
875
579
748
644
647
708
888
729
678
746
534
534
707
798
759
555
847
857
506
606
623
595
776
695
766
697
592
805
765
781
518
863
835
523
763
852
886
734
703
684
740
573
564
790
653
801
699
654
627
671
827
612
841
546
737
542
546
620
673
654
509
695
687
801
811
580
830
557
674
766
852
567
554
681
794
777
609
841
842
692
544
715
877
760
588
530
582
776
844
634
583
609
781
894
841
900
741
532
726
835
899
862
865
636
839
844
757
585
554
856
572
852
645
899
577
888
622
629
668
750
653
725
824
549
863
704
734
671
686
673
602
687
598
569
696
754
797
730
823
583
715
515
700
889
861
639
634
503
724
814
746
872
794
598
665
840
504
888
513
604
854
805
753
617
724
714
821
861
745
561
889
752
809
575
818
541
516
532
892
850
669
851
557
598
745
762
733
583
870
653
839
645
756
627
621
781
727
711
686
626
636
543
889
753
680
721
831
873
646
797
741
607
596
735
501
738
543
772
603
739
547
694
557
725
633
741
604
619
583
678
762
898
737
753
669
513
831
545
714
706
888
840
820
898
822
553
637
822
856
568
828
513
891
865
753
598
833
688
813
762
518
690
840
701
803
691
735
581
780
847
580
680
548
745
520
574
554
683
838
711
578
619
837
656
787
674
677
766
569
762
837
516
535
759
548
859
750
655
666
668
870
676
861
506
673
666
761
557
644
727
796
545
640
680
621
768
600
703
794
764
723
580
794
727
700
840
899
730
806
531
820
568
531
723
747
729
767
518
799
708
631
834
580
677
869
716
776
724
894
871
521
772
602
640
661
883
728
663
782
860
671
774
783
821
596
766
500
624
642
793
620
573
545
788
698
748
694
784
606
675
802
764
638
652
631
796
689
504
721
795
544
804
602
535
515
603
771
756
818
792
569
526
771
600
898
840
672
768
566
520
588
651
645
775
614
762
609
813
580
511
886
704
692
766
809
509
685
516
654
600
726
673
594
519
784
867
729
679
599
729
536
668
524
721
689
720
614
690
554
696
518
874
736
717
834
780
606
720
830
859
722
647
790
705
528
888
894
552
566
804
564
845
663
639
702
874
592
711
629
518
887
531
574
558
503
755
555
765
590
697
501
887
602
814
577
719
778
884
528
578
863
520
638
879
887
801
892
632
744
707
854
686
641
794
832
859
696
899
630
879
650
582
565
528
521
729
545
514
761
542
835
818
537
604
736
633
624
666
519
883
562
600
859
628
722
819
770
526
799
561
867
665
630
731
840
702
868
774
512
759
666
607
769
729
709
522
613
798
621
812
805
559
587
798
526
875
849
796
701
746
535
787
886
681
559
694
719
664
781
733
879
830
857
689
893
500
644
749
764
897
695
613
502
575
549
746
692
840
653
841
562
845
813
717
640
672
819
594
716
651
502
821
535
571
731
841
500
512
765
693
846
565
561
613
615
621
866
721
641
775
628
825
826
821
764
756
640
808
644
580
752
501
687
730
762
859
893
762
809
533
500
615
845
637
634
522
771
570
616
635
685
788
888
671
786
736
565
760
613
589
647
500
890
712
504
893
897
893
830
702
589
658
799
579
836
509
861
788
786
539
768
636
777
697
798
576
749
644
740
651
844
517
897
886
864
562
874
743
632
827
716
523
655
632
704
688
558
755
808
897
513
535
763
853
792
721
525
880
880
665
842
603
785
670
583
709
632
830
881
546
800
647
722
862
694
677
693
819
659
511
580
795
886
795
527
723
708
753
534
522
712
573
772
783
892
858
674
847
718
624
810
668
516
641
890
508
831
727
752
559
580
532
611
826
616
689
700
766
615
510
585
500
761
708
647
681
541
585
770
586
615
798
759
550
699
581
695
671
710
514
672
875
664
683
874
609
595
595
757
510
811
819
896
833
660
519
764
577
503
611
717
758
808
538
648
593
664
835
500
704
887
661
683
721
605
817
600
674
747
593
523
798
624
591
708
762
765
832
757
885
513
646
599
669
710
786
895
678
832
573
811
555
858
564
885
689
689
624
626
831
668
645
656
806
732
649
849
691
792
687
790
894
606
823
523
640
684
546
822
694
695
502
900
601
508
532
553
515
594
698
541
634
549
631
600
605
648
500
882
551
712
593
729
639
707
830
704
567
791
799
665
551
761
647
840
813
501
634
804
812
874
858
771
708
741
749
790
779
670
824
570
809
591
576
868
525
823
529
746
582
859
670
880
549
621
785
584
835
879
730
516
624
824
611
806
557
895
533
875
684
548
607
531
809
611
535
823
637
549
872
644
747
716
698
828
891
858
802
513
673
694
514
612
784
823
827
808
836
778
774
711
719
596
532
584
581
755
663
807
703
894
599
548
609
631
567
705
547
563
725
784
529
550
787
639
694
692
630
717
835
775
717
525
805
590
539
846
854
661
788
546
705
563
873
865
607
643
502
789
776
862
535
701
514
539
680
570
545
649
877
685
563
717
563
686
730
807
617
625
768
616
679
558
725
747
759
895
542
507
807
542
741
655
639
856
674
506
782
678
846
592
822
755
602
714
847
655
758
598
747
829
755
795
516
841
892
829
528
626
773
620
805
690
873
695
849
503
597
888
838
643
724
553
582
784
873
691
699
789
879
724
808
692
749
733
509
650
578
724
574
703
814
592
523
568
670
859
648
674
793
691
735
887
765
651
815
641
700
507
730
827
596
638
748
509
522
717
745
648
765
601
893
511
590
689
861
525
531
595
677
572
811
766
512
890
628
524
811
662
824
653
803
810
570
863
717
881
661
857
555
796
517
525
737
638
718
759
794
831
692
758
524
851
642
618
791
636
645
864
549
686
844
887
699
683
788
669
506
620
513
532
677
674
723
854
682
648
837
519
542
717
840
514
660
857
747
548
719
856
773
808
740
802
566
726
596
884
709
833
844
805
510
645
604
816
728
828
759
861
526
591
751
885
836
759
684
778
772
899
612
645
509
816
745
583
827
530
653
599
574
545
781
689
608
753
733
715
861
830
884
829
521
654
523
664
895
522
554
644
570
834
765
708
609
636
790
710
887
855
580
790
569
669
610
887
749
568
528
527
584
715
520
727
860
555
714
819
780
614
544
608
552
597
690
517
816
613
596
646
710
727
805
775
693
502
632
555
567
739
871
559
651
564
776
603
683
506
738
727
823
879
784
817
767
760
625
505
597
649
514
553
609
894
631
786
620
565
506
595
723
549
511
513
612
539
514
532
685
583
681
530
842
720
605
738
797
683
883
660
688
752
652
776
880
609
689
569
633
630
856
851
852
637
627
736
794
611
751
523
894
598
851
679
789
510
535
763
840
639
885
868
719
782
649
887
544
721
881
814
647
566
525
672
638
525
561
837
890
772
542
572
756
610
784
765
678
544
581
653
867
662
805
675
601
567
532
715
573
521
852
836
721
532
560
889
640
516
826
663
843
881
795
516
697
786
565
529
724
709
668
647
516
754
697
513
625
657
808
819
745
617
832
620
843
541
714
753
652
586
859
742
852
897
802
811
844
595
742
875
506
554
606
522
504
881
727
685
608
728
719
774
530
538
725
644
829
677
741
513
515
540
579
899
740
649
616
584
750
717
687
595
579
691
846
698
749
609
743
569
859
651
551
689
837
867
619
528
865
701
784
588
817
545
713
842
605
818
703
860
818
872
797
834
841
872
724
744
570
819
878
694
762
701
881
753
596
661
878
858
725
505
594
601
889
583
572
798
585
635
725
874
732
826
821
756
509
740
691
701
514
704
503
610
602
893
761
860
815
844
884
612
843
663
817
852
525
727
738
647
629
622
526
525
744
635
757
755
635
728
536
758
566
682
827
633
607
667
581
678
649
646
849
704
644
621
640
665
581
675
529
603
595
640
580
592
689
556
755
725
635
810
669
599
718
809
895
705
611
639
695
707
894
609
754
640
839
837
808
570
844
611
851
557
716
621
571
540
829
541
663
586
689
746
795
629
705
893
801
716
786
684
550
593
663
814
751
706
757
512
752
736
726
842
847
863
692
570
657
728
684
598
563
873
682
512
844
873
698
873
717
886
545
572
559
680
725
627
799
831
649
589
555
834
890
625
542
833
707
805
717
725
661
654
857
693
735
645
751
894
565
728
676
679
722
663
660
872
710
707
612
795
739
550
615
522
769
608
875
539
894
548
569
665
747
578
587
850
677
524
882
649
776
501
653
865
894
836
899
623
660
532
774
517
809
695
582
750
517
600
757
751
845
573
831
603
819
853
780
531
577
607
820
607
864
793
859
641
763
518
689
625
647
770
849
612
882
758
616
680
636
752
520
681
540
814
851
740
830
538
684
525
642
551
829
590
836
626
676
723
737
589
785
688
699
817
573
533
503
886
883
629
743
850
607
840
544
593
775
643
564
860
656
652
689
888
856
562
577
541
891
560
789
562
532
627
863
853
585
798
603
789
703
732
620
506
550
829
752
657
551
675
801
837
849
889
794
873
610
841
603
625
641
585
540
616
589
702
775
733
789
890
869
761
723
706
747
623
782
573
861
852
750
750
504
623
518
778
597
842
566
758
641
757
557
742
821
678
804
858
869
692
644
652
523
516
849
730
882
759
851
789
754
536
640
789
879
853
821
548
573
876
546
733
645
829
742
600
568
783
745
846
588
532
520
554
537
799
850
880
526
825
772
561
731
608
677
763
613
795
837
856
876
563
595
590
775
894
750
553
514
559
505
526
877
686
611
623
717
686
898
600
867
722
580
754
573
532
819
574
769
876
808
842
883
804
630
650
547
663
621
608
726
807
838
600
753
615
854
897
786
694
514
812
739
538
762
753
717
840
836
536
765
541
711
670
760
785
828
791
548
849
533
521
846
768
865
679
744
865
504
713
727
887
617
673
641
747
646
788
538
638
569
651
681
754
610
639
550
552
697
562
863
717
723
755
539
667
898
604
543
588
688
697
642
858
732
698
602
556
671
869
674
594
600
893
622
749
520
644
846
591
731
846
787
759
503
569
651
502
800
709
818
780
743
724
756
791
858
570
735
591
863
678
654
882
741
572
776
858
663
717
525
768
819
856
863
792
857
841
775
796
678
610
735
665
702
742
680
690
693
567
692
651
579
795
831
694
672
809
874
721
824
535
811
530
798
593
546
842
851
857
864
698
604
610
572
852
870
609
828
759
601
873
833
549
565
514
507
513
838
563
867
622
709
578
609
546
709
852
689
721
576
531
823
678
543
735
893
568
540
728
654
736
579
855
704
681
544
520
608
521
745
603
850
706
894
541
588
601
630
589
645
793
721
631
687
564
687
598
784
878
696
592
670
566
637
845
891
646
895
664
695
596
846
812
874
857
501
809
594
893
843
705
824
613
671
676
832
789
870
859
608
705
900
836
893
553
834
751
730
852
851
872
730
881
686
670
888
683
674
639
770
819
812
771
795
555
519
510
756
544
809
573
546
502
628
688
536
757
602
782
713
588
585
722
651
807
863
654
816
597
864
800
756
662
565
753
720
748
514
880
889
810
838
776
522
606
657
725
896
617
872
540
590
669
727
815
666
711
652
628
822
611
561
711
640
530
623
539
639
562
858
686
574
734
519
548
883
571
597
711
654
815
869
785
606
573
842
548
852
509
548
856
792
881
580
742
747
852
521
622
746
578
897
768
715
867
737
666
526
808
755
892
543
864
785
595
753
549
834
697
759
597
758
503
837
623
636
548
881
799
733
784
853
600
718
576
584
797
788
586
846
783
552
788
639
889
839
870
707
841
762
757
589
508
646
679
610
876
862
505
761
626
800
552
792
578
505
812
705
500
753
863
563
520
817
630
710
600
513
888
841
658
614
776
580
590
500
735
703
747
640
611
749
867
833
583
582
883
538
889
613
591
880
529
691
726
714
824
718
895
805
526
863
542
706
536
781
532
891
816
619
731
834
623
800
837
566
738
882
710
516
828
664
746
624
591
826
723
848
735
530
594
871
773
569
859
644
642
758
747
764
601
754
826
701
820
549
600
770
535
529
540
752
655
841
731
504
769
765
831
561
547
781
630
566
885
865
507
564
548
612
614
834
565
866
502
793
519
654
818
863
558
681
558
638
830
841
538
644
822
708
859
880
677
569
828
776
659
560
652
674
801
831
818
573
557
612
649
666
512
745
890
740
638
808
827
802
534
520
636
604
809
843
584
711
823
502
710
529
728
621
594
735
525
524
714
665
554
685
794
513
808
698
737
548
635
889
868
840
667
881
808
828
616
747
653
759
813
558
633
716
620
655
721
748
803
886
852
723
889
576
712
883
680
567
650
764
755
887
808
852
655
635
618
698
641
741
851
900
709
503
764
590
897
555
603
554
570
874
703
674
635
532
640
763
891
651
836
715
659
517
825
798
633
865
510
673
741
850
694
656
514
534
802
890
809
513
787
555
675
711
594
815
723
691
852
864
676
667
504
676
715
847
627
816
880
690
786
806
881
689
858
822
685
516
771
755
534
798
846
728
828
633
868
825
853
568
648
563
720
511
728
662
789
739
773
592
538
817
552
769
897
660
562
504
721
651
884
556
808
895
821
581
575
576
578
757
636
701
508
527
755
827
779
555
840
700
650
707
796
882
555
745
659
799
807
667
634
885
804
563
664
587
842
752
811
559
813
519
561
594
730
674
889
729
725
573
687
572
642
592
878
607
751
793
626
881
897
739
722
875
569
880
544
888
530
731
614
596
697
868
543
669
621
533
871
771
553
759
519
631
607
841
590
710
558
572
610
647
638
547
867
648
597
819
565
671
694
552
563
758
560
572
603
825
824
681
877
754
538
765
504
555
663
824
598
663
576
855
682
766
735
779
740
532
698
534
546
893
788
772
609
578
843
610
615
602
684
642
705
851
648
856
564
568
696
673
506
875
557
600
862
780
529
509
723
762
595
806
627
690
612
754
663
866
594
678
899
654
514
740
634
696
512
773
533
629
831
517
573
707
799
581
785
616
516
837
649
746
563
500
510
754
689
563
896
518
511
763
696
724
705
633
742
802
805
900
639
698
880
587
724
894
620
868
872
763
524
766
773
612
802
781
810
603
533
670
658
712
787
671
520
516
769
797
533
643
893
681
628
500
650
557
726
711
531
790
670
864
805
815
553
501
573
506
567
805
750
679
644
673
608
811
623
703
864
778
809
590
603
537
863
726
853
596
739
785
869
741
605
694
643
812
649
900
690
617
615
786
891
882
816
839
888
711
850
577
856
801
633
752
549
748
804
597
897
608
589
612
598
654
845
592
844
720
885
764
769
565
607
850
532
786
673
784
573
857
872
734
584
781
730
588
657
707
810
654
712
822
695
701
857
763
706
832
575
644
572
711
812
684
847
870
747
728
515
679
675
819
720
740
628
788
504
685
506
745
870
875
838
504
711
586
829
866
831
518
832
543
534
720
741
714
729
698
664
684
534
795
588
748
769
845
802
765
619
735
585
663
616
549
775
898
874
559
686
742
524
724
842
900
832
667
608
765
752
768
627
607
786
720
846
876
758
834
894
502
509
682
734
626
725
658
862
511
890
532
796
813
525
712
744
531
686
791
846
550
521
861
591
881
817
767
653
837
793
583
679
590
626
873
895
506
771
525
518
627
853
534
517
728
534
855
724
596
591
747
813
735
609
887
647
594
509
664
800
779
507
780
643
543
597
615
750
501
754
694
841
531
610
575
599
541
594
609
747
560
740
888
631
785
543
680
900
826
664
535
880
758
768
857
849
585
827
707
848
738
859
567
696
891
806
582
728
548
876
688
613
533
588
532
572
680
528
562
824
607
675
714
628
506
857
826
729
595
688
769
596
635
507
717
771
788
703
627
535
894
652
543
806
651
533
698
841
727
739
710
895
617
532
855
613
705
569
581
549
744
790
821
557
600
776
768
683
766
745
798
750
611
758
667
805
899
608
854
820
568
775
619
827
775
851
748
753
752
859
706
547
687
698
704
549
621
666
872
891
886
669
689
820
693
538
753
692
797
608
797
578
873
896
808
815
674
596
708
829
639
803
722
792
640
883
781
786
837
844
650
613
697
504
694
667
555
691
606
730
848
743
585
519
803
814
800
900
684
829
598
664
573
864
875
789
623
700
827
652
792
619
860
759
832
778
512
561
560
585
721
898
586
551
699
719
624
866
698
868
865
750
501
687
769
577
574
606
860
767
624
579
747
504
504
626
772
724
873
503
633
781
573
835
640
816
528
699
836
658
860
590
591
643
834
573
821
647
536
701
546
711
569
609
771
800
508
663
563
848
839
523
749
528
821
843
522
656
748
569
650
517
590
623
603
793
826
796
712
524
573
659
804
634
767
707
709
612
620
712
650
712
660
521
675
767
858
779
661
580
501
848
583
567
500
875
786
665
550
558
799
712
871
533
852
513
569
523
798
745
591
722
764
684
735
819
680
644
745
501
665
848
634
795
834
655
674
632
717
670
509
873
614
763
563
882
865
529
719
526
692
568
866
867
785
564
722
786
546
712
526
639
888
513
525
886
590
689
676
785
585
629
697
559
559
529
672
828
778
662
635
850
818
717
724
656
615
594
641
813
739
607
518
736
610
618
575
733
600
750
714
599
648
886
615
782
642
820
560
667
782
595
600
718
686
644
619
893
539
622
571
765
786
716
633
508
828
601
572
855
565
883
515
634
588
865
568
870
696
641
577
556
809
807
816
715
534
682
649
729
642
575
755
768
638
631
728
869
835
797
623
751
886
533
654
813
870
776
505
629
659
879
687
581
668
564
790
613
865
687
534
590
715
890
547
784
592
514
843
882
688
528
807
726
660
585
553
762
860
660
820
758
696
881
690
682
663
650
516
503
793
636
689
831
714
858
533
655
841
654
523
666
747
628
534
753
804
540
688
811
572
801
640
748
732
805
526
607
705
639
764
793
800
730
601
786
827
669
560
807
501
839
851
573
841
616
539
683
675
611
618
621
816
523
848
588
559
560
674
532
581
674
677
585
828
870
775
707
793
640
518
738
881
554
571
863
728
605
871
603
542
582
765
521
515
676
791
672
624
774
765
713
812
523
763
617
846
641
881
531
587
886
815
715
796
826
556
573
840
564
694
563
582
812
609
872
642
882
500
768
638
890
602
898
864
693
611
894
539
875
696
716
541
864
784
880
893
783
683
634
709
595
557
615
823
538
691
895
853
662
888
519
720
807
616
866
527
539
729
664
638
842
884
805
590
724
612
709
700
579
509
792
727
741
660
645
594
503
622
637
555
631
705
741
563
543
544
679
688
738
864
814
756
552
732
702
568
771
513
580
821
797
887
564
767
794
613
774
683
714
751
875
789
660
766
658
505
867
884
776
656
872
690
574
596
534
517
688
860
836
578
886
526
611
784
716
849
686
716
887
632
546
558
602
521
542
686
799
621
688
651
850
698
723
590
695
637
883
527
597
586
780
762
764
548
662
579
517
829
547
808
555
778
539
668
692
503
787
756
613
714
574
502
855
646
890
643
570
709
762
769
755
717
827
677
661
670
879
855
622
796
675
571
602
515
554
758
855
610
717
838
663
880
811
780
535
821
819
840
728
668
832
516
601
894
500
653
841
847
812
900
563
883
518
623
892
558
848
748
754
852
776
812
660
645
851
567
837
826
648
760
589
647
569
893
563
598
662
506
898
694
792
827
568
527
698
801
575
764
503
805
786
586
638
685
832
688
743
514
715
726
844
750
794
536
768
517
872
820
672
891
533
848
857
894
893
532
543
813
583
699
737
576
792
871
624
560
722
870
590
677
809
693
864
697
876
538
817
623
628
894
878
812
632
513
637
788
716
570
545
835
787
730
624
574
691
573
669
715
777
574
809
500
870
730
542
845
516
894
865
776
825
652
585
502
767
738
509
644
783
784
577
524
584
649
639
603
793
594
780
668
884
547
580
800
506
596
825
870
758
773
823
544
624
702
868
606
586
644
670
861
733
861
691
790
503
859
577
856
559
691
888
875
671
787
794
755
562
830
680
701
857
630
702
899
699
704
887
831
708
894
802
744
698
737
726
544
602
841
665
669
639
838
709
844
510
834
538
714
827
728
722
657
547
830
750
769
896
552
871
834
818
772
693
811
720
770
576
634
852
548
882
631
529
787
691
624
824
500
803
527
750
615
562
637
726
771
538
829
849
693
771
572
674
733
860
823
777
830
548
561
543
797
574
857
611
609
670
669
695
882
504
897
885
694
554
825
505
790
841
747
758
587
848
809
732
554
540
897
859
596
809
670
828
702
766
774
725
761
714
746
776
615
531
619
589
674
640
522
789
809
604
755
809
528
542
688
597
790
800
697
752
594
870
577
628
534
843
753
849
741
618
811
559
710
548
667
701
821
890
669
572
823
719
745
878
871
873
754
737
858
796
725
636
740
688
786
592
790
705
501
877
619
587
685
644
517
545
517
509
839
645
771
562
848
513
541
853
897
585
598
607
749
764
746
596
784
552
514
588
778
695
766
512
761
715
835
664
538
763
653
640
558
859
532
720
779
780
732
718
521
500
607
831
811
894
886
890
782
631
510
565
802
811
627
835
542
884
588
699
678
711
607
663
656
774
589
723
752
885
584
787
748
574
559
854
697
741
787
545
652
598
784
805
556
861
848
791
747
869
801
550
579
869
813
582
771
797
524
659
652
772
623
584
885
518
802
619
804
699
846
628
805
826
550
818
797
881
880
594
863
765
897
793
794
551
644
778
564
512
532
665
889
860
516
718
736
796
867
535
575
748
545
602
889
705
591
892
769
768
517
741
659
674
556
789
681
557
688
642
518
580
814
816
790
750
718
710
657
640
560
738
732
755
757
715
732
564
899
658
682
594
536
562
534
894
503
734
650
804
520
551
539
560
513
850
830
577
548
832
812
636
837
549
830
711
533
597
680
805
601
516
576
581
897
678
767
822
773
555
893
586
568
636
572
740
745
617
632
612
678
894
837
555
844
668
732
711
654
688
719
604
521
573
510
686
715
664
693
751
547
533
768
759
749
555
727
536
557
771
750
506
688
867
844
708
536
797
640
671
585
591
614
743
719
673
750
615
530
760
620
826
893
536
500
804
743
858
555
577
629
800
598
832
855
877
877
787
848
711
559
849
722
774
539
849
684
818
706
854
649
710
663
586
805
522
813
699
855
522
854
741
673
791
705
685
891
853
603
575
623
659
641
823
640
620
779
880
530
677
775
616
876
691
506
746
517
646
890
620
675
900
816
705
798
847
596
719
859
610
565
628
689
529
754
869
572
621
816
632
817
695
637
552
641
728
870
754
536
885
684
643
520
522
613
820
775
655
672
718
542
825
592
521
812
516
897
629
626
527
835
760
591
884
795
558
565
570
790
537
540
835
508
505
844
891
607
511
710
585
796
605
704
716
543
892
716
828
566
705
787
652
595
898
742
618
619
829
610
602
793
608
813
539
779
581
767
627
701
784
682
739
738
727
540
891
803
642
856
752
562
665
588
785
690
553
680
634
801
899
528
754
558
557
847
846
865
816
771
641
556
707
529
520
741
564
654
759
571
540
825
712
852
893
723
657
832
511
807
656
663
614
802
875
776
589
864
621
782
704
832
862
747
564
526
612
751
658
668
710
860
642
898
660
669
667
673
773
741
581
649
535
684
751
664
759
546
876
761
694
545
676
785
761
621
771
572
754
684
554
779
689
788
540
511
739
552
592
503
869
747
897
779
710
836
529
829
720
775
533
768
739
803
765
624
844
607
550
841
766
702
547
866
841
843
569
706
785
779
503
562
649
671
849
856
893
825
586
628
540
763
896
696
788
508
683
534
694
546
774
579
844
717
516
757
526
692
801
870
691
580
803
602
524
538
796
828
897
681
845
883
794
628
710
871
552
610
626
564
712
562
674
537
632
741
569
776
825
663
815
641
631
747
559
719
611
516
513
768
833
873
768
702
657
576
770
651
543
509
605
819
761
557
722
559
777
776
795
790
801
769
836
611
823
610
657
669
571
519
802
774
695
601
593
792
511
716
602
791
562
814
611
602
624
623
810
824
838
814
526
672
540
661
703
542
650
650
584
673
640
580
804
723
516
527
744
710
777
733
891
796
597
769
806
808
800
554
843
741
537
832
760
577
687
689
895
786
626
510
593
874
831
703
773
696
788
558
543
587
634
683
680
625
646
734
568
891
897
877
845
655
617
664
635
736
539
713
753
558
895
523
833
694
711
650
767
576
734
570
834
548
530
655
871
825
795
638
620
621
875
809
744
522
523
557
845
845
816
578
753
849
695
714
544
788
708
733
861
882
642
566
843
575
578
746
886
671
753
597
839
832
757
537
658
646
621
660
724
639
853
624
600
630
730
632
733
795
727
730
851
630
533
877
863
873
652
847
824
618
559
680
796
794
771
535
522
500
521
708
623
564
635
774
562
862
735
850
732
838
699
824
675
504
580
832
716
625
650
706
829
791
688
667
749
545
758
581
845
793
515
877
896
787
817
673
855
837
660
813
508
827
677
749
705
879
755
513
665
509
526
668
868
754
836
643
507
733
790
856
779
743
888
578
701
575
675
850
605
838
848
870
753
721
868
886
813
643
589
669
794
792
532
764
575
602
526
567
514
654
699
776
522
527
591
820
667
885
810
749
642
742
601
523
835
863
539
654
721
617
880
892
679
894
512
884
560
732
596
624
659
897
683
847
682
830
801
827
856
802
559
737
724
615
779
626
816
785
675
561
607
562
633
671
538
577
871
851
707
736
600
727
739
742
595
737
586
517
613
829
857
723
780
882
707
864
881
503
771
806
779
839
689
544
575
688
681
740
727
713
554
647
818
874
601
554
636
518
559
556
749
795
728
629
583
614
847
808
661
817
759
715
593
822
548
871
664
504
854
682
527
680
695
507
716
687
684
585
696
839
680
677
801
789
672
594
748
800
611
832
506
774
810
744
508
501
821
865
742
508
699
681
893
679
633
745
528
864
724
745
792
756
624
537
723
862
790
881
612
866
703
554
670
732
759
886
807
532
780
810
742
653
588
522
770
664
705
889
895
591
694
797
882
588
872
854
865
891
658
536
871
860
551
874
587
658
804
727
684
785
808
521
610
573
696
612
888
778
524
862
861
747
548
750
666
892
725
832
754
897
801
890
749
585
687
553
666
739
587
576
553
695
658
598
622
760
530
649
751
504
884
519
878
883
867
584
799
537
898
736
709
526
752
770
544
885
656
777
871
825
768
707
812
796
526
617
550
602
656
756
627
764
583
566
626
710
521
577
658
821
633
567
769
890
755
651
754
577
578
623
885
718
658
798
562
697
860
580
580
843
830
536
751
521
610
606
795
545
515
551
568
897
874
778
780
551
696
812
546
761
795
800
598
547
684
697
537
501
699
824
886
811
800
888
523
790
686
558
641
542
626
625
725
519
757
565
518
854
818
507
525
717
537
538
772
521
823
614
557
687
541
531
738
843
777
749
898
756
895
658
661
602
598
588
564
521
772
890
777
795
881
704
772
797
755
898
817
662
501
896
554
616
699
702
839
876
610
685
783
806
519
842
627
535
803
760
747
763
894
660
817
854
759
810
673
612
834
556
686
895
545
588
653
544
565
577
856
873
830
728
680
509
578
767
630
747
535
745
653
630
873
876
601
541
807
743
602
677
871
794
650
694
615
781
538
505
623
552
572
802
774
758
631
883
619
606
636
579
816
740
662
758
517
668
698
703
541
726
711
513
664
691
782
811
810
809
664
765
837
673
594
671
668
756
737
598
626
542
609
754
560
849
595
812
679
550
616
564
563
638
775
631
524
526
885
517
711
757
797
749
507
538
636
646
674
786
757
536
828
897
847
592
669
571
826
808
557
872
753
560
867
643
754
790
895
641
530
541
509
820
559
859
680
614
852
810
890
542
831
601
849
864
677
855
713
525
884
671
863
704
751
572
740
586
816
676
527
729
629
504
703
657
819
818
687
545
577
676
573
519
796
692
647
886
847
830
561
554
548
683
853
735
795
738
755
742
746
880
625
850
544
516
691
618
688
856
614
520
656
894
887
837
544
800
652
756
727
784
578
659
727
777
610
551
514
731
864
689
754
822
795
750
889
665
538
774
693
546
619
529
679
585
595
620
881
508
602
623
675
606
795
811
877
761
817
658
809
723
532
561
605
845
713
568
819
513
690
716
863
827
831
650
830
851
615
769
582
530
892
537
661
818
719
732
870
688
791
589
612
695
819
885
585
895
851
813
722
649
514
714
616
825
641
869
883
793
576
537
753
653
803
851
830
531
712
761
596
711
699
541
701
730
651
741
576
517
744
532
850
792
707
742
846
513
686
683
746
662
730
565
821
873
671
889
525
547
778
517
501
520
564
602
610
866
810
751
813
770
736
605
695
587
583
783
814
740
761
585
563
899
751
666
677
644
821
522
859
771
732
875
717
876
744
752
801
764
744
552
567
623
816
832
861
610
528
748
829
775
540
686
741
625
767
590
900
841
741
634
643
822
820
596
609
720
566
508
730
523
509
828
777
795
864
764
561
841
679
531
524
506
610
683
754
679
756
503
500
716
698
898
814
703
854
833
679
732
651
606
624
717
663
787
677
753
535
701
631
731
690
751
811
705
667
701
552
612
734
791
672
685
862
717
647
827
658
776
898
563
683
758
555
642
838
758
753
606
506
827
602
639
684
669
728
564
610
873
767
555
527
591
500
774
860
728
896
839
734
719
697
691
665
722
714
885
774
892
756
548
622
803
612
647
756
774
606
888
508
657
560
711
770
648
754
711
767
674
702
757
897
694
745
545
571
589
731
793
562
719
612
632
884
523
702
836
609
824
520
516
610
552
557
859
666
550
879
705
793
517
601
641
839
773
786
573
633
748
604
796
718
822
607
720
705
680
603
857
517
508
614
550
642
732
886
757
636
734
555
793
725
696
746
886
776
671
615
900
835
810
722
869
739
766
591
696
567
551
542
594
523
880
794
761
814
604
524
722
546
887
574
624
899
715
876
541
817
780
631
551
534
763
664
792
594
550
834
704
721
653
851
612
636
894
827
684
871
856
551
740
838
766
604
805
874
623
699
859
584
865
524
717
748
523
732
557
558
527
629
560
661
541
565
702
510
890
882
571
581
637
596
782
872
587
882
663
507
709
894
854
610
659
743
576
688
781
761
704
731
636
714
517
746
547
663
738
573
588
694
529
672
844
728
507
844
818
590
658
556
704
844
557
578
580
823
591
843
861
848
664
875
728
655
781
852
863
734
874
633
666
701
678
517
739
816
763
784
616
526
583
736
860
635
875
825
791
672
560
746
759
743
772
804
525
726
873
870
854
709
815
834
898
803
577
682
757
689
793
686
524
872
713
629
879
843
837
799
554
618
786
515
896
763
815
561
800
823
684
795
655
592
586
560
649
506
714
500
875
590
731
661
534
549
502
660
854
841
816
777
645
752
657
744
611
655
825
741
701
656
622
833
827
507
709
900
894
870
569
751
744
563
725
845
803
713
898
584
748
568
560
818
610
863
580
561
637
505
831
769
676
638
628
662
659
728
513
553
634
891
591
747
529
876
889
641
502
593
898
828
624
669
598
669
822
642
719
798
566
824
819
664
646
799
719
517
670
539
739
751
508
502
569
858
713
707
662
848
797
570
583
561
817
567
771
616
657
872
594
716
596
769
606
653
626
633
865
696
508
615
747
625
684
721
549
650
618
727
521
856
801
710
839
703
507
709
861
806
815
707
719
629
744
884
873
534
728
717
761
611
740
509
842
783
706
850
814
704
821
814
652
649
647
819
673
795
779
763
631
521
688
639
610
525
660
537
642
780
543
815
790
574
868
790
744
844
593
888
586
862
541
646
704
875
698
553
895
701
623
502
702
750
711
729
737
876
838
622
824
630
840
721
764
561
645
641
709
535
614
730
700
630
846
703
584
729
898
682
595
641
802
677
784
778
817
887
587
595
727
586
608
872
609
682
798
756
841
541
577
872
507
527
849
535
695
779
531
634
798
726
583
673
819
793
858
889
865
613
589
755
618
706
712
640
615
650
793
602
833
530
740
710
743
592
554
627
870
875
558
859
815
743
776
642
795
872
887
571
713
628
760
733
882
848
737
609
742
807
604
693
777
616
703
804
618
635
634
704
743
697
876
826
820
856
714
686
892
795
609
777
573
790
641
811
701
805
829
654
697
833
858
838
872
748
900
660
798
562
638
625
868
593
677
551
508
852
861
733
763
813
777
608
837
813
793
728
840
808
692
551
769
756
774
815
664
602
604
758
654
776
536
723
610
622
588
696
738
764
717
775
811
750
516
697
629
706
762
522
739
742
837
659
862
561
719
639
540
797
526
645
695
672
533
711
805
807
834
726
872
562
869
812
719
601
885
787
677
520
581
536
817
838
592
886
544
857
881
751
718
722
862
560
501
538
557
759
509
893
559
889
882
789
637
790
506
521
725
886
559
695
759
709
692
658
764
631
508
897
879
886
879
893
601
518
804
893
611
543
533
623
675
734
731
752
878
509
664
727
893
519
871
727
863
573
757
764
506
714
841
727
834
895
567
651
605
594
577
720
693
780
882
815
863
670
795
792
850
793
810
711
845
591
565
678
871
728
629
816
696
502
574
707
675
518
644
809
594
764
809
646
802
553
623
760
629
785
750
852
561
788
892
743
765
508
529
609
757
686
744
728
579
813
801
518
501
767
589
824
832
569
833
573
625
541
784
877
724
752
769
672
627
654
814
750
751
883
582
649
822
635
896
736
525
553
801
652
736
814
545
805
740
549
614
660
699
748
677
512
646
882
641
652
574
601
541
754
507
535
554
589
657
780
743
804
806
713
776
577
522
747
802
823
567
628
508
819
612
739
672
820
732
733
866
889
651
519
674
608
666
553
640
808
881
737
624
772
900
747
549
522
528
662
693
850
532
796
809
606
749
658
584
882
712
803
734
763
900
767
698
861
618
806
884
772
667
595
730
511
562
693
576
839
605
565
598
655
679
656
531
608
516
587
842
590
607
879
709
542
557
838
673
783
598
580
541
653
841
780
671
861
685
594
868
567
875
547
596
788
826
721
679
875
845
639
892
513
532
562
672
800
627
729
540
743
697
899
543
893
637
650
741
639
900
560
564
519
850
589
628
734
607
656
510
767
736
799
771
502
699
689
610
762
675
745
528
888
563
835
542
750
802
650
779
525
772
895
554
594
895
523
887
554
729
671
670
867
684
505
524
585
814
692
692
553
652
718
742
653
649
644
890
617
540
742
704
807
819
706
547
572
808
729
862
781
716
744
579
628
772
898
685
796
690
624
525
688
628
506
668
580
643
563
861
834
897
526
728
606
638
554
693
864
873
702
763
813
738
772
653
707
759
739
890
744
649
897
539
831
895
845
861
547
823
546
629
542
851
757
869
814
544
690
585
800
616
518
584
645
879
831
660
889
567
510
827
561
722
788
635
595
553
559
842
662
662
787
724
852
687
638
715
663
765
795
835
848
839
742
882
889
723
667
759
674
832
526
725
589
595
803
509
817
742
681
769
727
689
669
818
509
611
784
561
718
580
730
886
842
750
647
597
645
555
511
713
572
734
543
692
657
542
725
543
788
588
595
847
835
879
616
779
700
815
640
761
832
770
887
630
649
786
785
633
857
708
617
748
654
703
881
587
775
638
816
673
503
717
517
844
846
889
885
770
508
721
555
688
727
877
726
758
714
857
792
802
566
593
678
536
758
896
532
757
662
551
790
746
722
517
521
574
504
787
865
649
682
548
646
828
564
592
552
687
812
503
716
605
614
650
578
665
867
701
698
725
893
571
710
572
504
641
732
826
671
660
696
701
648
869
555
546
595
553
881
611
512
796
542
737
634
563
682
592
627
523
673
501
568
768
661
541
658
619
876
505
593
865
716
798
801
742
823
651
768
511
596
771
534
520
878
569
721
700
853
740
699
536
872
843
708
675
629
606
554
756
580
634
649
811
851
786
690
755
714
770
740
512
826
817
692
887
543
767
713
625
547
750
642
561
590
675
736
635
811
522
690
741
501
592
649
609
799
525
695
813
837
868
797
627
722
889
501
579
752
773
810
630
723
654
538
895
846
551
620
811
832
529
842
729
565
757
685
673
837
563
650
787
619
776
722
609
550
665
557
734
787
871
896
829
658
754
587
692
774
543
538
590
549
607
781
806
592
741
638
785
885
812
829
584
582
591
838
797
846
876
892
732
805
834
805
507
830
892
792
751
710
701
847
756
693
643
730
871
696
794
876
885
692
608
717
606
825
506
671
531
844
705
726
882
855
705
796
826
859
740
751
862
695
682
848
748
747
546
720
726
847
637
600
785
540
647
891
887
680
784
607
743
528
840
804
688
502
563
533
664
724
847
538
774
646
583
572
732
889
814
774
632
500
814
722
722
563
784
710
838
605
528
564
765
740
822
872
890
632
518
654
834
829
854
658
512
769
567
684
638
876
714
591
885
589
705
895
660
672
513
810
555
792
501
501
582
661
501
608
589
723
785
550
852
534
556
803
588
542
724
545
765
622
548
797
626
544
852
558
888
671
813
600
732
809
722
617
876
766
502
732
711
879
780
504
877
601
826
668
583
581
641
861
567
847
687
820
773
855
679
847
896
595
588
824
714
840
556
780
586
747
663
775
856
839
741
875
817
751
670
551
895
842
731
759
888
747
655
709
794
643
780
769
691
594
722
635
736
535
633
885
879
594
869
866
848
834
824
811
532
538
563
618
780
832
652
654
824
826
718
768
615
531
581
662
845
815
804
673
686
529
543
573
763
509
634
589
644
684
709
789
519
707
658
587
838
840
506
586
720
627
622
636
843
544
844
564
830
577
645
688
532
818
574
599
796
605
747
752
870
804
757
589
521
772
623
719
885
758
824
832
524
698
599
852
550
637
559
766
784
773
671
523
854
738
667
639
694
505
810
625
584
651
819
808
857
534
882
744
509
634
748
651
699
551
543
806
536
683
683
580
630
864
899
709
885
823
897
527
522
657
772
586
603
686
831
836
657
900
521
727
774
665
607
552
728
534
876
900
779
695
815
708
795
802
863
536
579
714
878
844
505
581
680
606
719
881
833
777
584
851
677
585
729
671
732
594
530
533
660
687
887
586
810
682
672
756
540
750
555
900
654
505
725
790
675
659
672
742
644
831
866
543
530
843
527
594
651
667
609
746
650
725
888
614
899
731
576
745
717
717
599
526
596
683
748
659
853
638
728
555
744
885
612
799
847
830
789
858
531
557
698
865
517
801
679
822
606
736
894
756
599
668
551
654
859
857
835
623
760
744
688
847
534
884
800
808
835
706
608
788
772
675
587
683
672
797
575
560
721
628
556
794
781
666
510
779
569
761
577
692
812
840
873
690
864
594
524
641
851
530
684
762
770
592
671
556
684
842
628
898
597
507
652
540
670
508
527
836
691
727
572
886
615
553
548
727
685
575
887
514
833
781
891
820
574
590
808
890
511
549
787
838
598
759
673
551
684
509
822
500
793
608
513
510
825
601
723
897
891
602
746
791
898
554
830
674
601
772
590
871
669
787
763
620
568
641
835
649
517
573
715
880
864
544
822
848
697
616
801
713
712
899
820
710
536
718
527
568
676
864
661
520
680
720
632
757
850
800
640
531
590
552
870
594
871
711
601
682
656
823
534
887
668
567
662
887
649
845
682
817
545
583
787
728
619
796
544
602
831
610
862
558
801
633
638
627
622
741
568
548
665
516
625
520
844
589
546
572
516
557
854
724
750
604
658
784
774
709
837
745
855
731
849
654
620
520
702
864
603
512
690
752
565
621
786
698
848
627
768
772
695
722
554
746
893
643
649
717
526
692
852
577
705
867
714
762
700
539
711
782
841
858
827
600
883
553
662
633
615
819
526
685
812
811
529
699
694
519
591
622
503
643
732
776
695
542
752
532
626
607
697
739
818
884
573
844
657
631
608
741
603
863
743
765
664
631
525
567
518
512
644
869
650
548
734
707
646
513
583
671
552
827
757
504
843
671
835
569
866
708
809
610
743
858
786
833
735
788
574
758
618
699
887
558
507
895
796
854
898
591
735
627
552
519
705
689
693
886
883
705
791
839
619
792
840
587
717
811
825
621
574
553
803
689
518
833
604
766
591
507
824
870
651
726
580
635
745
722
875
698
598
787
686
533
616
518
835
558
895
586
587
588
863
843
585
660
543
631
884
849
610
541
774
855
792
833
748
586
523
749
688
854
632
797
735
727
603
644
616
853
731
828
638
851
759
855
873
667
747
534
759
732
775
673
850
531
682
811
627
894
886
745
692
742
726
806
789
733
560
850
718
545
620
584
742
672
783
781
864
526
659
751
654
551
877
765
595
900
607
548
515
847
773
651
779
576
574
693
513
790
621
571
777
654
847
623
899
710
631
646
711
602
770
816
632
645
877
643
635
755
784
862
559
642
785
556
637
805
665
811
696
669
631
591
866
850
612
581
625
850
875
539
543
619
632
588
671
624
838
730
744
564
799
595
833
595
814
899
775
568
524
735
571
626
552
690
697
674
750
712
752
875
776
628
760
611
762
822
697
747
556
747
838
538
685
709
681
555
812
502
802
710
738
774
755
868
646
675
806
834
643
526
695
730
703
865
750
535
692
796
688
827
707
747
695
550
857
629
804
642
733
560
643
828
549
851
778
840
827
775
726
749
560
727
526
705
648
647
559
744
509
619
900
556
811
650
745
675
670
877
715
895
685
774
733
738
792
827
817
754
771
823
634
620
550
893
672
772
676
661
743
722
720
886
519
756
888
617
540
513
511
610
787
635
888
843
899
651
684
805
805
504
570
759
663
743
635
538
638
811
546
776
880
502
569
896
670
589
726
891
898
543
659
727
842
662
525
769
549
788
697
508
563
808
639
737
889
526
771
709
564
651
752
593
613
695
514
624
866
591
726
734
616
611
757
657
542
867
578
774
824
526
864
566
693
887
723
556
579
588
703
649
558
554
649
575
570
609
594
552
814
729
751
883
612
587
753
792
802
707
660
725
814
685
882
761
536
627
586
603
859
754
803
834
605
721
709
852
550
772
512
677
513
564
811
531
751
722
880
708
613
850
609
552
759
597
886
844
834
764
893
695
716
790
769
646
601
883
630
569
671
675
657
561
705
517
660
837
622
509
839
534
731
859
529
886
839
767
599
645
677
631
643
756
836
538
527
568
875
830
895
604
501
576
758
511
651
524
869
739
863
888
639
773
753
888
703
541
659
855
762
675
742
771
602
733
799
568
737
700
582
707
577
669
552
536
826
703
892
838
825
629
831
520
594
554
717
847
750
509
761
834
630
735
631
633
717
510
820
516
673
813
816
570
690
752
737
636
782
735
792
862
753
595
615
567
845
765
667
525
883
858
571
687
592
845
790
609
605
546
520
549
884
872
676
644
544
745
853
562
632
569
545
668
769
696
554
721
609
638
897
670
856
791
814
828
781
792
528
881
694
826
862
875
595
685
758
811
535
725
803
802
505
655
569
719
653
609
567
871
501
591
893
546
882
677
867
519
879
656
571
795
719
765
650
817
867
832
522
559
854
652
825
806
584
624
761
538
885
649
660
650
664
739
674
815
843
847
715
862
738
659
836
716
867
814
798
753
800
864
592
541
560
865
640
581
566
826
899
836
851
744
638
507
666
576
879
611
542
601
617
757
769
872
565
713
545
722
881
769
787
589
545
710
875
815
634
758
538
797
877
619
747
723
668
682
671
616
782
885
557
691
666
814
574
529
515
599
589
844
749
503
748
639
875
676
893
820
530
682
668
511
829
761
843
852
698
728
604
814
734
756
776
608
533
650
563
857
759
570
724
508
794
683
730
618
775
759
572
861
638
670
734
665
649
572
545
509
797
664
833
553
802
839
563
753
655
681
855
537
668
747
695
670
692
718
759
778
711
637
845
708
559
837
650
747
828
696
772
804
693
895
874
871
524
503
561
691
818
669
550
734
686
788
595
816
643
514
593
885
682
878
763
708
695
721
507
711
619
895
757
760
567
535
599
515
541
897
530
630
507
693
733
831
631
784
772
553
886
847
863
718
667
769
856
873
546
652
783
710
558
566
869
718
746
857
585
872
883
535
615
736
566
537
786
517
565
670
833
811
596
736
523
783
665
549
645
509
532
734
732
624
788
571
831
602
697
518
659
778
898
745
593
780
877
581
767
866
520
840
685
536
506
733
862
664
631
805
899
664
528
834
751
770
734
621
881
627
841
834
551
883
586
795
644
506
523
809
808
735
899
568
757
823
807
585
668
684
584
731
855
811
677
533
775
505
734
779
551
886
863
668
823
676
628
722
632
793
706
811
753
591
610
838
640
647
580
677
612
810
845
601
717
741
585
719
661
818
657
864
559
708
713
771
641
826
783
791
656
665
780
826
582
678
614
525
542
697
621
882
674
558
849
889
801
589
529
584
513
767
843
579
690
599
614
709
527
864
638
731
598
763
630
780
598
682
772
691
779
650
837
775
751
896
623
608
730
652
561
548
717
787
826
765
604
860
620
565
581
573
896
522
591
839
719
507
520
611
890
587
866
804
646
562
544
739
620
584
780
629
782
797
669
660
658
635
775
780
864
886
748
855
562
829
540
814
535
687
875
815
773
897
735
607
893
762
658
589
702
864
589
751
763
737
597
805
518
655
669
584
758
803
557
578
683
755
763
895
795
853
784
507
536
826
577
853
688
705
873
598
729
682
531
656
624
522
869
774
539
815
531
646
782
794
566
811
834
705
841
756
702
816
807
711
573
814
635
812
601
628
522
539
672
823
852
840
835
728
787
656
864
899
766
761
829
845
589
754
839
876
769
697
856
853
892
713
898
529
614
583
833
535
558
604
659
789
551
699
829
704
843
521
592
607
520
632
618
720
676
554
894
718
549
712
830
743
637
730
872
566
612
613
746
653
831
735
883
667
849
762
613
860
811
822
684
719
597
865
568
827
533
738
679
719
731
850
575
768
790
523
803
834
823
678
593
807
700
792
596
789
627
767
625
868
863
561
879
575
838
576
796
591
816
860
551
672
735
771
702
842
876
641
636
816
510
659
568
660
610
899
566
664
501
501
783
604
664
846
895
673
534
756
595
759
880
531
604
758
781
659
748
583
685
818
545
520
724
859
700
527
809
611
821
799
763
894
600
542
759
606
539
773
690
587
567
898
514
891
846
684
500
770
542
686
510
884
796
710
827
759
502
887
719
765
680
597
590
812
507
702
823
753
620
665
763
885
569
712
741
893
734
521
797
657
848
621
668
700
833
500
703
737
892
874
580
709
598
855
810
859
788
553
859
722
650
643
597
757
687
823
727
532
558
830
598
634
614
697
622
713
557
777
716
669
500
759
783
894
604
818
634
758
818
861
571
555
848
624
681
625
859
677
870
768
862
670
699
773
703
573
555
667
714
682
879
588
663
742
720
685
573
792
545
878
832
750
890
889
676
599
809
592
836
684
646
574
545
773
687
838
754
643
751
549
862
866
566
637
606
850
860
524
510
873
651
797
533
595
892
841
883
515
855
525
555
626
535
835
587
756
837
693
512
592
745
571
720
701
691
733
716
880
728
549
867
791
601
531
705
633
551
573
630
787
591
613
669
741
674
648
824
863
838
739
681
898
513
844
815
668
664
514
842
723
524
723
769
754
552
609
813
503
856
871
584
789
675
761
842
879
731
506
757
763
787
591
739
710
897
527
761
597
591
757
505
755
637
556
557
876
786
795
752
559
810
677
635
712
872
669
851
877
852
614
884
766
699
779
511
756
584
597
720
800
833
668
614
543
762
891
664
603
766
694
815
788
637
770
537
714
805
667
867
695
728
727
650
765
501
563
853
657
799
620
534
781
668
801
834
566
639
665
882
840
542
542
693
785
784
519
753
732
589
569
728
761
566
888
657
574
825
731
860
528
782
632
632
777
683
742
845
832
670
814
617
745
878
688
709
749
533
638
520
565
511
754
533
816
722
824
689
522
828
870
577
750
747
706
659
778
775
571
541
560
789
520
886
585
643
815
505
662
720
703
592
883
868
515
691
558
683
531
656
588
586
848
628
539
526
820
693
710
670
709
565
678
717
542
873
614
759
732
859
606
595
873
551
798
706
805
510
718
701
751
796
790
887
576
678
506
881
719
530
630
765
701
820
507
786
701
506
802
679
702
663
507
701
782
721
869
681
745
807
852
581
759
620
549
668
644
576
618
597
885
777
856
620
890
820
802
544
532
617
677
511
625
657
744
753
683
513
649
520
597
542
567
659
678
567
597
682
779
699
623
790
647
548
874
659
800
504
892
767
704
523
723
662
726
819
613
879
727
703
849
636
628
878
656
893
754
762
745
544
795
883
782
523
718
807
805
829
846
648
842
742
854
610
613
634
744
863
692
691
764
841
744
614
609
816
792
569
870
858
635
789
723
720
541
620
850
627
843
652
654
574
543
723
537
557
603
680
538
545
771
651
595
735
800
693
795
691
563
679
816
771
678
738
530
614
507
739
645
675
550
735
736
694
752
856
504
655
718
614
786
722
752
574
851
802
596
809
509
548
611
895
590
835
748
503
780
872
817
631
506
671
769
881
638
653
566
774
897
533
801
610
524
553
868
693
616
741
531
567
897
588
673
650
584
744
782
731
828
801
500
899
895
601
766
752
749
527
827
684
555
565
562
738
635
845
626
793
522
595
543
789
629
731
583
692
892
805
775
871
740
664
836
776
596
504
628
755
826
583
648
547
660
833
539
562
752
872
589
881
656
520
813
743
752
883
825
715
736
615
617
819
782
632
597
693
737
563
850
832
757
550
864
852
730
892
640
683
894
536
684
576
844
573
658
707
654
777
855
654
860
874
525
852
720
899
684
567
587
660
602
696
636
897
825
796
635
577
639
551
853
550
520
808
568
530
896
596
754
693
663
887
649
640
712
866
597
657
555
550
830
791
768
748
596
535
726
594
812
718
676
761
832
606
839
868
586
736
783
556
744
884
707
551
846
855
586
895
840
804
605
781
880
514
849
782
897
527
705
571
782
614
689
884
654
734
509
748
828
874
537
711
642
881
624
862
688
894
544
792
898
760
679
578
598
765
565
891
722
673
530
559
626
685
585
736
776
826
844
527
755
673
827
560
773
512
832
856
703
594
881
819
571
508
633
756
688
537
612
614
523
509
682
899
851
624
513
880
587
742
674
700
815
504
707
801
742
813
800
527
611
692
845
838
507
706
842
738
586
543
749
844
625
893
509
513
825
550
852
851
573
747
662
785
607
538
555
599
844
655
658
590
766
682
677
836
667
657
518
624
534
781
737
573
755
730
676
849
582
586
787
739
807
712
809
850
849
513
779
610
885
896
672
898
713
549
790
791
816
513
874
522
556
549
824
624
754
738
590
509
552
722
818
604
639
881
807
852
768
504
529
751
640
503
812
841
564
588
802
500
821
809
819
632
828
797
669
732
705
828
764
854
507
718
539
734
803
684
537
651
683
607
613
659
664
726
692
898
799
568
730
898
697
899
715
635
529
548
734
702
882
630
560
867
705
518
660
715
509
789
839
578
897
707
733
700
529
861
799
725
541
577
673
823
801
664
678
670
823
836
502
524
751
778
645
594
759
800
720
849
886
685
610
553
870
690
545
790
780
611
754
745
856
821
598
555
852
648
839
586
888
689
860
658
636
599
542
559
686
541
870
833
595
731
784
743
599
784
788
525
548
886
583
782
782
719
888
811
847
781
501
525
802
579
736
704
727
786
633
665
643
730
900
616
541
580
801
799
535
515
646
877
889
834
528
598
848
876
591
878
735
506
846
736
570
717
862
770
648
604
616
805
892
743
559
685
563
574
810
709
849
520
500
543
656
561
832
728
780
752
834
618
625
745
889
619
664
659
713
582
701
522
560
734
653
634
739
798
636
779
542
607
726
714
587
550
638
517
770
662
805
807
898
537
804
539
525
774
615
779
886
804
733
693
647
889
857
566
898
578
774
757
712
843
843
864
560
746
533
898
645
767
689
573
623
650
703
803
878
750
818
789
896
572
702
603
746
645
522
528
752
712
562
519
546
607
770
700
887
770
729
694
892
502
717
546
706
599
719
714
732
710
633
804
797
601
612
787
591
663
580
581
879
771
630
741
562
613
869
873
658
556
501
695
678
537
762
549
840
695
616
675
533
673
861
776
723
881
754
753
848
696
704
582
582
521
689
675
623
639
608
864
623
850
868
661
696
557
760
820
784
687
706
521
896
763
510
828
880
537
676
650
879
808
730
568
648
514
639
687
513
643
810
750
888
600
669
560
821
529
689
898
599
772
819
722
681
571
558
751
600
543
605
784
625
584
771
683
683
674
793
861
585
565
501
881
774
557
729
646
568
577
511
854
506
591
539
517
744
629
727
806
577
713
637
853
550
835
889
676
741
567
711
628
555
500
766
881
652
874
845
655
707
575
578
770
843
608
797
641
785
607
688
600
772
534
871
881
879
707
590
829
804
544
547
600
794
800
660
582
803
689
745
541
559
765
900
548
725
520
524
787
675
797
655
698
760
851
612
861
778
612
733
680
734
687
677
865
660
772
726
723
678
617
740
567
779
664
616
877
612
807
693
653
597
658
749
668
810
835
701
740
753
835
659
817
635
594
793
839
850
533
634
665
874
839
890
667
843
674
508
701
552
536
556
504
500
732
689
658
611
706
629
608
521
872
553
770
668
591
535
599
711
714
515
732
623
697
544
528
538
566
616
517
558
539
788
570
748
900
524
778
871
716
670
878
750
688
547
840
823
661
897
633
565
690
859
765
523
575
753
717
826
768
718
774
632
744
523
827
680
893
853
771
689
557
762
684
519
812
679
806
557
829
568
647
503
568
786
785
715
845
503
696
640
750
773
665
874
820
862
782
728
597
637
641
765
748
589
512
759
753
825
891
570
553
510
650
718
814
665
547
853
767
870
753
807
818
883
542
853
810
812
629
803
543
885
753
787
892
734
784
601
653
641
807
671
647
510
650
892
524
867
837
838
589
627
864
511
758
900
554
715
626
711
838
676
800
648
670
616
619
802
847
873
591
686
845
741
661
723
823
578
822
792
503
583
857
573
873
793
520
899
800
895
718
805
500
641
601
546
831
707
777
534
550
516
670
782
559
801
713
890
800
859
693
501
723
561
500
875
758
899
661
684
758
527
577
593
625
619
522
724
706
503
624
617
730
792
637
673
748
755
876
646
684
525
897
661
787
659
730
547
661
554
701
780
880
598
699
544
566
588
682
818
818
635
789
574
579
814
550
723
515
517
729
823
647
604
785
710
521
520
556
654
649
849
608
668
527
846
593
811
785
779
885
649
728
680
744
583
722
797
816
744
629
638
864
861
704
747
562
683
725
877
842
615
779
569
814
891
616
791
597
593
721
708
641
586
598
711
815
856
754
709
820
700
875
602
504
611
680
514
740
754
608
621
878
778
583
507
586
753
775
711
583
683
763
512
530
710
655
726
626
611
816
689
585
729
669
573
651
685
860
536
669
772
819
600
657
589
708
872
893
701
833
732
544
756
506
803
720
519
551
828
749
824
763
884
696
862
897
877
757
808
863
685
508
682
646
742
518
673
672
787
596
619
725
678
500
598
854
794
680
521
736
836
504
534
583
867
884
543
578
860
667
534
522
747
609
891
883
635
545
593
514
580
888
538
645
589
858
801
649
517
728
522
545
501
739
553
858
674
824
846
775
515
711
668
865
845
742
503
893
841
872
874
851
511
886
618
650
724
767
721
593
862
615
682
745
888
741
740
572
563
831
600
812
797
549
844
812
839
803
729
527
677
745
526
841
733
897
825
614
717
839
859
887
600
880
765
876
770
733
761
864
818
898
854
594
777
886
516
655
596
882
578
718
897
802
633
566
738
761
527
749
651
675
834
606
511
830
578
706
527
750
527
868
746
641
526
858
656
670
599
585
629
893
763
703
850
900
634
524
642
883
897
775
550
820
624
651
884
640
622
550
645
600
843
826
740
795
650
872
834
718
512
705
576
758
869
700
868
823
668
688
630
594
860
551
589
892
506
603
681
606
515
879
641
612
693
882
548
880
830
658
739
621
555
533
803
783
875
898
764
797
617
724
793
597
713
669
710
768
853
846
564
646
602
623
632
655
736
554
702
576
524
505
817
795
509
859
841
508
824
611
806
729
848
576
617
591
710
663
507
805
510
528
796
546
556
684
501
811
577
740
543
661
623
895
871
619
826
843
758
819
830
521
550
564
606
575
522
595
737
870
819
533
752
662
680
575
668
733
748
896
735
726
725
803
588
900
857
543
586
746
860
526
821
510
515
894
583
589
535
672
771
882
844
578
807
724
605
555
730
751
839
736
669
710
831
857
687
639
633
554
685
551
639
653
808
863
531
538
519
679
629
796
621
605
581
612
615
786
803
718
877
753
830
538
603
838
881
777
623
800
592
867
666
625
792
618
690
606
656
515
552
556
504
614
658
704
799
831
609
625
603
702
771
835
826
819
606
757
578
690
772
839
756
517
595
898
800
726
852
849
720
556
866
645
751
722
603
628
862
684
515
663
806
887
881
897
890
606
820
832
589
575
739
529
786
737
755
525
840
761
541
516
792
688
528
502
853
738
587
848
537
678
833
714
766
881
697
564
892
690
769
644
531
673
532
892
548
585
607
557
785
824
715
621
717
627
606
855
579
518
737
832
838
604
641
840
853
678
852
736
558
548
741
535
690
671
552
790
657
818
775
693
868
604
842
833
520
772
652
732
561
662
560
862
535
812
594
750
697
737
810
796
598
881
798
635
812
596
678
768
800
565
819
830
752
529
570
519
528
806
514
744
500
622
647
576
581
756
735
590
757
848
518
879
681
610
884
824
800
895
605
691
542
720
761
560
625
648
527
597
641
582
607
832
884
579
598
782
749
638
852
870
559
800
680
561
561
519
690
863
502
747
890
565
866
739
686
863
568
688
563
540
758
710
861
528
685
633
545
594
845
710
673
604
773
776
692
785
675
815
894
808
612
736
741
641
675
809
612
720
690
656
678
791
745
738
695
688
785
567
635
610
876
813
505
641
578
861
650
735
823
574
652
592
816
689
518
616
702
710
522
541
783
705
898
648
742
761
711
676
629
709
764
745
897
573
558
877
660
597
638
700
806
815
647
687
682
509
557
868
656
780
865
852
621
867
697
742
864
539
641
533
720
896
821
518
609
563
608
507
526
697
874
799
580
709
699
564
654
573
785
592
864
867
632
883
656
878
775
509
815
775
658
720
701
789
725
768
735
732
640
894
671
723
784
793
747
583
579
738
873
703
590
709
640
741
831
718
829
598
789
619
814
729
855
648
626
580
590
817
655
579
781
876
552
607
865
726
584
515
885
513
665
684
601
801
743
684
674
505
523
894
820
686
560
772
729
532
614
547
520
670
706
596
879
724
797
636
833
527
717
750
665
543
793
515
764
897
621
558
707
861
704
607
605
848
805
529
836
770
769
717
849
669
707
593
766
826
515
801
821
638
845
856
785
522
669
505
612
550
810
644
803
668
507
645
731
661
550
565
525
816
826
521
524
771
761
582
632
534
839
802
640
813
600
754
801
790
517
546
525
837
819
571
877
749
607
663
816
674
883
684
530
807
624
812
686
853
572
517
516
535
878
870
641
570
882
782
625
515
766
650
763
596
593
653
703
799
556
544
744
794
734
825
865
750
874
517
801
766
771
821
649
686
744
663
826
739
774
666
564
565
784
832
830
587
531
541
539
730
576
681
542
636
744
771
768
854
834
707
545
688
670
547
551
788
705
612
656
616
681
711
870
578
744
541
520
686
810
713
861
547
700
519
695
811
516
620
789
787
531
752
880
793
501
684
701
702
613
879
856
558
659
842
781
774
769
585
769
759
666
536
835
831
661
522
706
734
790
770
637
835
810
750
594
666
673
893
589
715
567
684
607
665
840
834
831
643
564
737
638
532
589
749
679
529
694
695
558
583
744
646
719
813
600
505
605
752
584
835
762
768
574
851
850
658
816
502
747
702
881
843
532
565
540
634
861
502
862
600
595
867
844
690
675
627
773
817
587
663
714
857
759
636
556
776
626
782
821
711
711
717
805
776
675
513
553
695
776
876
697
801
776
886
581
674
691
632
720
545
713
663
781
543
634
718
633
582
742
600
749
522
660
845
882
561
581
735
710
529
716
725
885
500
656
860
693
704
602
614
833
657
871
878
873
781
650
794
504
783
837
539
592
515
627
528
591
695
738
712
611
803
605
865
795
601
735
716
544
715
774
803
667
865
535
877
676
533
608
826
513
847
534
789
840
756
749
766
648
718
653
570
631
799
527
733
679
619
785
735
512
819
724
594
788
587
519
687
808
670
686
788
620
872
712
663
867
564
716
548
785
853
878
656
658
865
889
748
897
768
893
629
708
566
877
839
866
846
625
764
688
675
626
691
652
640
809
594
691
856
736
767
791
674
852
787
575
794
628
785
633
870
840
525
694
679
704
824
753
629
510
575
891
741
588
812
731
503
517
817
559
834
866
605
533
525
661
610
769
613
684
527
718
802
772
741
647
537
614
853
885
566
601
507
619
742
830
546
798
822
861
573
832
866
613
723
621
557
521
607
620
786
722
856
555
806
839
606
653
642
673
590
857
740
569
684
666
887
786
836
673
826
815
636
588
685
767
676
564
555
677
513
547
704
730
828
844
691
670
832
656
652
833
826
540
839
704
877
821
879
621
580
578
672
730
676
787
625
656
809
877
791
683
651
517
774
800
715
853
791
530
526
705
795
832
754
630
694
697
591
816
555
720
800
565
826
799
502
597
867
744
788
707
839
824
730
678
696
510
542
601
659
668
854
897
681
525
637
504
599
697
589
570
550
512
580
664
649
823
657
520
832
802
810
719
532
675
535
711
654
670
647
864
592
641
879
871
824
602
547
676
641
637
884
648
817
873
841
761
885
856
523
591
733
614
861
805
700
848
720
889
703
888
770
803
787
866
585
874
661
812
733
757
806
696
836
899
537
571
525
525
678
808
547
589
764
890
662
861
875
686
650
646
587
506
529
868
585
680
612
506
683
809
765
579
638
537
844
578
639
897
606
876
878
898
578
681
519
777
574
524
741
741
640
725
838
518
710
579
794
611
607
503
745
831
593
623
846
559
516
887
816
858
758
814
740
871
689
821
825
757
553
559
749
846
614
746
557
870
611
669
574
853
854
602
587
702
703
515
543
729
524
551
568
568
542
597
560
579
653
783
707
887
894
588
514
827
556
838
512
695
790
666
594
795
817
814
880
642
541
862
696
552
881
599
895
786
779
660
796
666
511
522
821
781
522
790
733
694
521
861
566
511
727
532
547
868
598
717
878
612
655
540
833
729
625
810
709
548
533
809
541
715
820
687
745
792
816
797
702
511
700
533
530
623
699
801
854
878
801
619
674
898
584
804
749
680
810
810
788
507
642
867
893
514
671
548
799
727
723
876
633
720
757
609
879
713
546
548
859
529
804
560
612
522
627
826
516
758
737
690
574
755
696
869
614
786
512
683
879
686
755
780
633
888
634
714
795
594
821
869
546
559
745
854
882
713
632
578
529
618
805
874
622
777
871
686
687
722
712
889
892
788
827
672
823
709
503
883
517
873
648
604
562
508
882
724
736
668
564
868
664
838
755
734
757
734
638
605
829
518
546
884
647
544
632
726
526
745
732
860
522
704
725
545
794
658
619
854
510
620
541
638
882
615
724
682
679
878
668
510
725
794
675
879
506
537
690
774
583
715
729
863
627
799
637
531
626
623
680
684
654
896
506
728
861
778
785
661
525
635
508
801
581
700
738
515
604
592
662
649
676
660
617
655
645
770
672
609
811
786
820
675
683
849
709
884
709
776
574
672
524
881
733
760
538
508
690
598
724
867
836
691
612
535
845
501
599
740
830
586
632
618
578
864
719
849
576
557
753
816
817
830
752
533
889
671
641
705
609
542
780
736
860
507
705
617
815
573
652
707
632
579
711
696
784
680
707
667
855
820
535
579
849
885
669
570
751
664
747
638
892
526
804
809
717
828
643
800
776
884
886
532
594
506
535
779
532
524
824
775
702
829
535
601
626
839
520
819
836
779
516
785
664
721
619
571
843
692
679
835
593
652
733
867
892
809
809
686
658
801
666
586
867
636
900
517
819
799
648
803
621
692
771
543
609
607
806
746
593
526
843
562
604
723
802
889
577
775
594
868
687
607
563
630
682
659
864
519
891
861
520
676
755
598
620
602
769
508
696
548
513
569
695
627
879
547
794
619
734
741
510
515
724
723
677
744
649
777
709
543
734
706
823
661
582
788
805
648
694
868
527
834
658
541
660
557
868
694
634
637
818
689
804
638
647
673
782
707
508
738
598
883
562
823
695
721
586
547
819
657
599
729
696
813
596
680
575
842
522
552
786
886
532
764
889
567
804
797
693
629
809
644
869
786
532
626
816
866
832
539
672
643
811
521
778
865
600
816
890
715
782
687
848
676
740
631
512
804
528
864
766
865
674
811
696
719
541
635
643
711
652
874
733
750
773
615
587
687
621
588
766
889
647
577
535
645
733
830
573
526
764
865
818
882
582
522
828
708
531
872
515
555
671
722
616
747
658
650
865
788
758
657
500
874
707
662
799
817
534
540
669
704
536
589
604
602
640
622
849
664
773
764
794
787
745
565
522
783
583
556
596
791
800
891
567
860
587
778
534
783
552
683
718
507
635
718
635
838
829
619
501
574
753
772
804
759
875
653
514
749
746
827
653
883
758
550
520
518
791
872
696
589
570
847
515
541
537
645
522
541
658
786
532
572
724
605
659
637
761
756
804
739
616
578
585
867
781
802
796
723
565
849
676
868
765
549
577
870
761
697
819
599
580
510
579
767
863
877
534
633
776
878
884
660
558
687
855
768
896
841
769
823
769
767
584
678
594
656
733
793
736
693
697
725
539
708
783
632
813
721
777
662
761
678
655
650
579
817
628
793
509
580
874
758
658
843
843
672
728
727
835
845
900
743
837
604
606
637
729
514
537
887
547
638
563
891
525
827
720
784
632
605
883
589
519
781
809
514
881
779
521
858
590
629
792
897
529
690
697
601
517
778
698
570
886
709
846
776
715
545
749
554
741
509
895
614
532
553
744
872
837
868
875
843
588
809
704
695
857
562
533
508
832
892
772
557
562
513
574
673
683
687
544
797
772
800
689
648
716
569
733
732
889
508
820
526
848
599
541
673
776
562
685
773
815
689
675
886
888
605
689
509
608
567
526
761
723
709
639
689
625
677
687
781
865
531
882
774
774
588
645
677
664
791
830
742
569
579
658
561
775
751
613
598
677
652
600
718
838
676
826
753
509
621
814
877
728
640
608
721
704
664
814
557
678
705
634
681
829
541
812
723
782
842
683
781
510
856
621
764
704
608
629
717
658
762
848
735
526
669
766
626
890
644
736
700
806
792
624
741
602
717
617
773
636
862
746
714
835
597
505
560
839
631
762
641
894
504
764
584
872
858
854
774
869
522
834
528
830
706
748
613
746
806
600
831
605
526
645
843
722
598
825
715
800
720
820
779
543
900
848
855
619
754
871
740
545
837
810
814
800
687
828
879
758
577
604
544
745
762
713
896
524
828
742
527
860
629
706
895
778
538
896
724
509
712
798
589
574
651
516
660
886
732
653
609
830
887
650
663
762
507
667
793
719
533
870
731
750
612
872
767
675
711
755
611
547
840
532
662
785
705
717
853
781
609
825
516
719
535
582
776
653
819
723
567
816
617
534
799
830
786
634
825
746
634
790
712
770
635
732
745
570
657
606
546
760
870
642
754
590
736
685
513
787
835
624
616
757
555
836
568
565
611
611
601
896
533
560
644
524
874
668
514
801
899
721
871
519
505
507
569
885
782
778
533
710
525
864
834
743
793
726
579
627
826
886
633
553
561
828
708
775
780
893
740
773
580
889
819
743
868
529
557
611
532
865
738
547
736
505
863
636
793
879
824
790
821
573
504
743
673
592
602
772
664
747
537
643
548
644
509
732
510
516
830
760
819
638
738
513
676
705
754
736
753
564
615
751
633
666
549
874
797
770
768
851
569
617
698
611
891
602
630
625
784
770
900
619
849
611
526
867
750
678
653
579
536
563
551
733
828
545
809
760
565
781
510
706
755
647
816
785
733
590
583
742
889
705
678
633
859
606
838
662
516
576
655
880
810
745
551
825
756
511
881
768
674
691
821
886
732
648
745
530
872
830
888
632
505
788
851
546
611
602
800
580
572
602
540
736
595
703
861
707
832
740
503
541
660
855
867
707
793
722
871
560
882
527
555
524
749
727
884
810
680
894
760
826
874
730
859
546
708
824
520
594
527
796
684
784
555
745
531
524
845
864
608
698
620
595
854
816
808
733
672
679
548
885
815
599
582
680
694
719
539
674
725
726
736
791
783
743
791
802
572
701
613
632
859
766
893
645
518
503
712
562
534
772
829
750
598
884
564
696
542
515
893
567
812
765
808
711
754
841
678
613
898
745
771
898
839
735
695
710
818
679
685
894
658
672
568
687
850
653
748
632
707
501
774
519
699
632
693
837
816
802
890
750
734
845
510
894
688
514
865
762
516
892
772
526
755
673
607
831
858
671
674
513
678
859
654
673
655
769
763
833
746
854
808
566
552
530
628
623
620
717
840
781
509
720
635
892
676
598
649
588
511
780
678
817
638
704
681
786
599
867
812
546
520
705
596
810
772
597
809
582
849
582
581
790
859
772
828
521
786
642
572
691
504
819
605
676
779
617
738
659
627
600
733
860
794
645
848
881
546
731
750
594
784
708
806
556
624
531
851
806
573
829
784
778
745
534
623
852
606
711
510
743
597
746
803
735
655
693
795
785
650
866
785
687
750
780
559
786
712
723
619
722
511
613
653
820
537
705
507
517
566
593
827
796
632
780
531
738
814
879
809
828
862
894
609
810
707
614
522
580
558
629
538
859
739
870
895
637
672
515
737
607
752
585
753
785
675
514
870
863
667
677
873
513
760
590
759
672
514
707
662
517
710
600
710
619
766
628
627
560
608
644
689
879
544
555
797
819
878
685
840
668
785
834
524
781
599
832
628
568
560
654
643
502
506
726
845
614
781
775
523
804
527
802
805
591
739
569
536
678
540
762
759
760
899
652
530
562
572
709
559
827
585
704
772
505
762
538
859
796
729
801
551
860
500
689
524
572
514
601
711
690
823
513
655
899
852
598
590
514
618
557
627
534
789
605
526
722
869
881
554
629
589
603
588
865
805
893
892
711
604
562
806
520
721
521
568
507
535
713
664
870
744
582
755
650
890
693
682
722
742
864
712
545
620
841
515
530
721
839
637
898
645
572
514
615
832
734
631
546
806
607
749
686
872
849
631
680
881
824
503
774
821
519
812
812
745
747
824
892
720
805
874
723
725
645
790
631
855
614
786
580
532
779
534
609
685
782
625
569
592
883
891
752
538
764
653
748
636
798
900
658
594
771
724
624
638
712
553
810
793
875
683
748
609
783
651
848
789
806
665
886
657
795
750
677
642
779
669
893
899
627
644
863
871
813
616
746
855
773
865
520
560
516
617
686
528
695
638
758
862
830
714
886
553
879
900
669
597
696
611
660
782
610
899
725
522
734
860
551
608
615
684
572
549
687
593
638
781
567
706
814
764
761
863
676
717
669
841
589
636
625
878
629
779
561
751
802
717
500
501
713
533
830
835
784
761
669
898
708
619
857
631
786
630
734
752
733
511
586
703
885
663
834
867
583
587
847
614
736
821
861
594
691
866
539
544
502
583
533
573
734
817
643
587
739
579
752
751
725
858
538
583
776
735
752
687
621
713
578
729
831
555
793
532
851
677
580
875
611
892
717
733
774
849
810
778
862
697
596
694
584
727
570
756
504
777
638
671
510
779
599
606
815
609
774
771
769
810
771
542
662
891
508
823
697
756
865
847
884
549
708
883
763
593
880
576
755
600
751
745
688
621
840
642
769
636
544
659
829
769
695
543
668
644
727
710
802
688
654
791
730
559
656
884
720
799
599
878
519
504
695
717
809
772
717
782
553
687
560
874
647
798
513
721
630
837
675
772
805
501
644
863
765
835
802
879
789
582
722
522
617
720
678
577
601
758
742
825
734
820
780
876
778
861
525
569
867
889
693
852
599
701
769
651
767
795
689
606
544
752
864
658
721
626
774
527
808
609
793
717
760
812
679
690
867
504
603
595
828
891
599
552
817
797
855
883
510
543
774
894
699
786
779
558
744
883
733
870
685
796
798
878
843
900
575
791
807
526
857
825
545
627
788
555
638
550
729
768
621
718
851
762
877
875
623
621
779
779
713
659
554
835
563
891
580
839
575
520
659
549
826
673
669
711
807
825
734
616
892
641
776
882
504
798
665
613
759
811
785
695
564
608
671
513
572
539
783
811
687
900
734
822
895
879
900
716
709
885
668
770
858
804
582
533
661
575
524
657
681
785
730
625
722
542
534
754
699
532
554
805
740
794
510
601
591
706
614
608
560
537
570
885
878
693
556
806
517
571
760
744
762
890
593
723
658
668
632
629
867
882
733
734
870
672
581
841
743
754
841
587
707
606
597
769
894
691
600
864
637
612
900
543
730
684
567
587
601
627
683
768
563
548
830
807
625
840
799
806
877
787
590
825
684
636
516
592
809
624
674
798
872
744
526
756
878
636
671
568
891
526
634
515
764
624
576
699
628
664
879
632
620
602
583
879
762
601
858
501
731
787
828
800
740
707
686
690
836
759
692
596
601
712
502
582
638
760
777
641
552
561
656
737
526
670
547
626
771
890
896
571
865
583
511
732
748
873
869
730
816
771
572
641
590
604
531
503
530
802
786
567
533
639
738
875
715
542
784
891
816
846
664
891
893
641
891
558
787
741
842
603
619
700
740
814
586
562
806
661
860
533
541
513
874
686
784
800
888
779
832
623
900
505
893
861
813
685
727
639
754
815
514
764
815
742
641
614
701
631
691
868
577
775
765
751
717
576
710
714
836
674
677
851
619
816
735
770
821
509
834
835
761
885
788
728
721
608
528
590
798
533
626
550
729
615
800
795
561
670
754
623
773
723
833
876
705
579
899
692
506
751
843
719
655
828
529
783
766
799
723
599
861
828
509
658
699
562
674
707
670
864
774
574
820
688
523
864
689
609
547
620
858
753
880
726
558
786
896
790
822
873
678
632
830
571
849
834
540
552
608
659
814
639
816
695
747
631
595
809
591
879
839
601
803
662
512
641
825
809
677
769
863
888
758
567
872
515
575
693
883
816
646
637
804
720
862
846
752
564
812
646
559
762
655
808
641
803
540
638
900
580
841
752
509
561
537
845
739
780
715
892
854
598
842
625
532
838
645
637
615
888
641
589
561
687
597
874
889
818
637
592
701
723
823
607
635
599
852
747
766
674
855
627
630
736
728
813
863
717
812
514
693
728
862
868
652
837
743
701
532
825
813
527
603
872
538
799
554
873
628
784
882
864
861
578
661
689
695
745
579
820
507
711
509
724
862
716
740
839
625
713
811
565
862
626
724
821
578
827
528
842
878
641
673
782
585
860
889
549
604
515
610
629
892
742
847
864
796
582
585
877
742
544
658
855
744
670
584
690
576
803
818
679
816
731
789
507
827
701
661
809
652
834
764
626
879
577
619
558
747
769
811
812
587
560
756
806
599
655
890
516
564
876
825
652
635
642
617
515
658
600
797
578
765
776
811
749
689
838
626
628
631
718
738
515
537
501
716
637
502
714
633
611
619
658
774
751
851
729
883
513
722
779
619
725
623
612
654
519
509
831
664
763
531
763
780
735
648
815
686
876
750
737
624
677
662
806
693
581
595
853
722
518
663
814
829
866
812
580
557
653
672
791
565
612
885
869
648
670
729
634
793
764
741
717
615
549
731
639
603
842
544
713
597
634
860
612
893
539
613
891
563
726
898
580
850
698
853
649
780
630
754
673
605
558
719
691
682
855
821
821
814
643
714
694
685
850
833
828
620
717
650
593
841
869
586
886
730
698
793
780
804
676
664
781
720
712
529
871
502
631
775
693
854
837
732
574
664
553
613
718
792
719
685
555
508
550
886
892
617
763
761
537
699
803
610
657
748
821
867
732
601
725
805
655
758
717
771
823
695
704
551
599
748
666
611
770
702
617
812
864
692
838
839
547
683
870
554
879
733
574
789
860
669
793
725
770
580
887
838
749
715
624
599
596
560
645
765
732
512
504
533
663
767
794
713
677
687
823
530
685
768
884
723
664
651
604
872
541
587
505
529
631
821
793
581
647
881
772
813
572
555
760
812
677
750
835
836
692
717
895
560
527
845
746
545
832
664
857
719
618
515
605
507
743
840
893
774
652
528
610
667
547
805
775
517
660
598
842
691
862
842
775
730
741
754
766
790
730
632
558
712
742
569
848
860
893
570
747
859
886
548
747
814
588
885
571
685
881
776
714
607
674
604
730
576
674
848
681
521
658
773
782
745
849
647
779
705
813
797
569
519
574
843
822
596
782
531
583
796
657
532
668
631
577
556
822
670
588
863
551
717
675
679
681
502
748
540
715
688
721
771
763
647
827
862
817
842
543
858
699
794
857
845
665
668
881
671
677
636
674
778
654
629
794
810
677
900
658
860
722
896
809
760
655
580
836
612
759
822
616
554
600
647
541
626
853
812
699
622
598
554
517
764
635
684
791
544
674
606
777
822
609
677
540
626
514
612
546
789
720
845
709
596
652
567
737
746
649
518
613
593
854
658
852
702
768
841
867
579
525
811
854
632
674
628
668
772
598
899
836
682
796
713
841
855
764
748
879
731
748
725
893
794
663
834
798
737
596
895
638
896
737
842
590
806
716
694
805
605
811
607
573
708
555
822
800
524
640
530
814
726
758
600
569
760
863
677
771
674
744
723
769
724
746
506
647
840
730
900
810
616
805
549
562
637
688
649
583
503
644
736
716
765
571
651
536
791
615
645
677
501
542
643
811
835
530
796
702
858
554
812
648
719
573
748
677
767
665
749
833
604
829
711
796
883
601
681
559
661
797
691
622
643
528
762
854
751
627
544
500
832
784
686
611
790
716
684
601
609
605
550
642
724
895
601
693
642
691
626
801
819
587
897
564
625
530
578
553
887
521
511
747
666
727
637
858
635
629
607
867
620
837
853
741
738
756
871
839
864
559
569
853
858
891
514
669
875
680
563
698
823
529
725
846
884
842
684
612
606
648
553
654
597
730
516
597
841
761
898
732
861
703
698
582
812
760
717
612
702
855
704
574
672
839
668
799
625
521
558
538
881
681
745
524
858
867
531
556
820
614
509
596
841
528
589
843
829
856
795
567
882
761
731
543
665
614
584
529
735
522
723
531
558
557
864
735
755
838
677
779
775
695
798
637
552
574
847
606
839
542
520
510
542
575
852
874
517
893
729
770
647
532
724
750
545
679
767
643
680
665
576
880
759
824
601
827
643
553
877
827
811
899
794
680
878
897
667
885
826
710
848
640
644
750
886
865
530
668
529
607
841
844
659
722
590
611
864
513
594
890
744
696
755
837
896
597
568
819
639
721
845
816
823
562
726
897
677
611
838
859
667
648
545
603
651
587
786
815
655
581
671
802
668
562
562
733
640
668
591
892
874
868
784
717
576
555
719
783
873
535
841
725
719
504
545
775
791
799
786
851
866
892
560
651
896
627
541
894
642
826
687
878
798
774
835
615
518
884
750
698
679
854
667
713
525
747
523
646
507
862
636
857
868
610
858
803
507
587
718
527
795
727
509
888
674
871
844
873
501
843
829
758
766
891
517
624
638
890
516
641
584
549
501
603
550
817
892
534
876
868
824
632
738
877
526
542
829
638
581
727
533
855
773
764
562
531
702
817
694
690
787
856
742
763
565
808
700
687
636
702
560
691
773
826
552
589
764
695
862
513
859
900
646
789
502
804
851
833
602
661
703
747
658
672
754
567
804
713
590
630
705
845
619
760
661
747
850
804
887
774
556
642
532
681
711
662
547
561
678
880
730
888
865
669
748
618
669
801
763
727
883
647
895
533
647
595
667
700
685
836
502
896
631
585
679
813
542
584
503
709
560
735
628
547
646
695
530
610
572
724
867
893
875
633
509
711
524
779
701
900
817
527
570
801
786
631
742
872
513
899
870
835
537
771
726
842
815
551
803
577
529
626
861
758
591
640
576
897
900
802
802
514
502
605
588
686
721
766
839
751
527
848
703
871
743
774
571
587
625
799
507
736
605
675
757
645
788
642
555
588
534
595
764
657
503
744
716
570
739
748
560
517
799
900
766
849
753
842
519
765
776
898
546
606
585
665
897
538
848
540
858
583
699
739
863
698
815
517
888
846
799
769
729
586
502
756
620
706
674
516
879
556
711
558
535
724
799
535
898
724
624
799
813
731
615
868
553
513
618
582
833
503
777
709
683
611
573
577
891
585
794
648
805
677
764
517
838
700
725
849
617
795
750
577
510
882
591
512
628
649
691
661
639
828
872
855
685
876
749
762
770
513
641
820
557
508
546
894
645
769
749
514
655
682
699
799
833
519
799
883
650
588
686
686
617
739
716
779
816
742
542
749
570
890
782
601
810
853
752
864
803
522
557
761
763
843
801
582
758
726
736
616
755
798
805
818
540
895
740
537
766
788
865
503
855
501
758
524
640
502
845
548
849
520
792
885
580
866
874
651
789
877
590
550
768
781
614
745
784
582
655
501
869
649
687
711
511
726
889
765
823
811
546
662
601
864
615
518
777
833
584
771
549
880
718
563
881
817
557
835
785
536
761
828
664
702
603
622
652
863
823
794
577
559
648
520
551
868
676
525
565
703
673
513
625
684
652
553
865
837
516
595
549
689
840
657
879
788
597
896
512
602
852
631
674
580
608
629
556
781
829
814
648
632
508
588
742
771
803
687
765
899
777
554
680
651
684
583
703
539
552
635
845
555
822
829
513
858
771
774
722
616
621
541
881
834
839
559
539
808
619
793
789
708
548
527
694
721
512
784
897
668
877
793
813
860
848
769
830
521
884
868
692
687
794
573
628
863
768
833
856
502
877
767
882
838
881
855
743
639
679
841
669
760
735
588
739
506
785
612
808
871
813
739
751
887
524
549
711
885
774
894
590
623
900
722
592
634
749
523
611
717
849
832
726
751
703
641
804
821
800
574
736
712
566
794
731
525
549
646
626
729
813
803
585
766
746
778
677
801
511
677
802
826
710
588
593
785
656
515
679
561
570
580
721
735
539
596
641
833
577
624
689
515
881
568
572
798
576
581
729
511
803
686
700
532
783
818
783
536
517
845
582
838
855
875
795
828
611
506
851
726
898
773
583
878
586
746
642
526
875
588
769
654
850
573
500
560
556
631
688
505
856
666
835
683
656
727
542
719
729
532
503
734
676
850
837
689
684
528
886
545
713
824
614
835
853
781
618
733
828
626
882
647
766
701
697
793
733
865
573
700
502
641
797
647
582
589
825
858
587
730
722
548
778
655
577
596
566
712
583
824
743
615
838
764
523
519
623
708
557
598
868
539
782
536
795
697
845
834
782
718
796
585
706
731
582
875
726
598
507
684
644
535
501
788
548
636
769
878
597
769
860
685
761
664
870
640
577
531
675
625
889
517
878
837
596
733
568
824
519
687
769
670
642
751
761
890
504
700
656
506
598
690
687
628
559
734
513
872
564
724
522
522
658
514
870
754
579
829
837
899
669
768
825
575
747
585
876
773
542
787
761
853
720
677
556
816
867
723
756
557
503
679
515
884
708
874
560
658
608
815
780
629
628
825
708
652
831
524
802
801
536
668
863
644
529
575
524
619
673
600
769
651
550
605
545
808
511
632
559
599
739
857
721
549
544
672
793
834
690
873
569
806
895
501
730
526
873
738
601
529
723
546
656
556
759
522
631
823
702
575
652
675
501
660
667
719
872
584
758
845
698
790
693
578
684
828
873
899
669
668
844
571
811
555
745
734
769
662
526
870
536
888
552
802
565
716
784
636
615
689
725
779
760
598
712
759
507
721
632
769
877
522
896
575
508
550
594
536
680
805
746
795
524
595
774
595
755
868
752
695
701
558
581
777
630
690
900
845
717
703
652
784
837
874
870
719
731
557
633
691
703
694
676
844
755
809
616
634
829
596
722
872
796
787
820
896
842
563
684
818
684
842
783
880
835
602
772
536
768
627
850
757
565
767
853
880
662
503
677
890
713
782
716
750
593
867
888
591
709
898
683
644
542
791
877
799
866
618
811
523
884
554
598
541
558
816
603
588
619
832
691
535
755
729
556
578
501
840
805
815
694
867
614
687
807
519
886
646
508
852
717
572
722
791
571
717
750
812
581
872
732
618
783
526
668
784
729
820
645
555
807
528
894
829
668
512
803
567
627
871
651
524
841
512
776
678
637
793
669
678
788
748
699
764
584
586
768
553
782
599
543
581
758
857
841
508
761
546
551
692
888
560
856
647
660
669
857
783
712
770
521
736
774
766
501
568
666
742
852
574
506
661
528
891
728
591
745
539
577
857
739
821
646
566
641
519
601
720
806
758
737
569
749
815
877
735
548
757
600
667
568
845
768
864
686
529
634
864
568
773
582
587
609
520
626
874
649
883
814
615
630
758
608
756
557
640
779
692
767
806
779
657
711
595
798
872
793
756
646
892
647
738
814
508
823
811
719
583
679
725
563
519
862
899
887
784
712
594
724
845
861
766
703
680
649
836
828
845
860
811
663
646
542
583
686
716
732
693
701
590
867
752
675
891
738
540
582
820
552
633
872
896
888
819
538
878
690
781
518
540
541
516
885
514
665
692
820
623
859
666
740
706
573
718
889
859
520
560
616
791
674
544
559
740
640
719
711
698
799
890
845
700
734
620
799
627
662
554
836
664
809
764
593
511
674
754
843
610
545
737
803
577
740
559
537
630
668
876
675
559
667
711
699
792
802
589
836
600
643
806
641
620
849
644
860
834
705
592
812
561
759
607
551
719
594
805
838
857
753
657
767
769
774
599
703
567
517
877
644
736
604
736
838
882
590
601
880
712
657
585
838
847
623
792
666
765
873
585
643
720
898
745
538
622
814
602
546
748
770
871
681
680
760
616
715
524
532
631
766
501
720
862
735
561
517
885
889
636
730
572
828
797
553
743
643
717
756
858
737
857
852
807
613
541
616
509
807
542
600
587
750
534
834
502
664
596
836
762
795
605
890
624
735
716
829
808
665
702
522
709
768
655
623
814
854
784
622
588
626
861
592
500
899
680
884
814
794
687
759
707
515
500
744
522
726
762
791
667
576
730
577
724
810
820
592
867
724
547
613
857
590
585
879
819
836
882
729
756
633
896
784
752
602
870
883
835
694
881
848
603
802
765
806
726
599
726
890
597
548
685
725
631
525
610
553
820
886
886
565
838
573
579
642
898
868
720
751
541
708
799
738
702
580
766
808
580
744
689
537
611
725
873
702
557
633
649
508
791
548
706
515
584
595
696
711
759
799
670
532
546
886
800
752
545
806
595
551
600
577
891
851
748
898
541
764
800
647
616
794
804
707
587
800
602
504
713
620
724
536
781
686
517
872
780
565
708
753
772
811
843
629
679
793
734
609
772
801
515
703
617
791
733
513
704
588
523
877
704
834
815
671
744
651
569
513
503
536
749
705
725
766
573
631
624
648
824
592
585
564
870
811
850
671
616
896
865
567
696
539
706
872
896
768
524
550
794
529
848
508
686
630
699
504
679
558
676
695
600
702
781
638
750
870
861
572
667
637
676
791
561
644
516
746
578
529
756
679
877
858
587
615
567
532
537
809
835
604
541
575
600
886
761
569
535
705
557
596
760
682
583
600
533
885
578
624
699
694
578
536
702
768
581
820
512
623
738
814
766
705
550
853
607
857
512
839
570
542
730
598
856
517
884
883
629
743
815
853
896
623
715
884
613
869
587
896
514
894
622
894
622
636
697
758
577
767
838
754
671
591
654
502
772
846
863
827
782
889
568
685
727
600
737
842
757
522
805
585
809
777
646
562
552
839
801
704
506
717
618
599
892
821
596
821
710
773
741
692
566
709
853
893
768
783
528
860
810
895
638
539
796
682
714
662
574
725
536
659
549
599
772
511
783
709
883
719
522
645
867
614
803
748
630
736
575
801
838
644
500
679
879
758
779
713
674
843
507
705
559
655
743
847
786
811
828
627
847
809
688
515
562
572
619
891
530
607
894
580
719
570
608
842
777
856
576
543
899
787
619
566
810
596
728
829
758
715
639
586
762
756
706
867
604
886
537
720
805
898
735
848
573
837
519
628
618
842
763
758
874
565
632
781
528
898
599
755
527
562
794
830
732
630
782
762
731
604
658
718
594
762
825
535
696
773
746
809
621
630
576
860
898
683
629
766
859
815
531
843
799
774
563
522
886
637
699
674
569
694
860
771
765
503
655
650
575
608
509
514
755
699
759
621
843
848
545
897
876
846
887
548
540
730
702
717
773
708
836
650
845
818
599
889
752
884
544
611
583
650
557
832
890
787
840
560
832
781
816
752
743
581
586
529
634
732
519
753
671
729
577
801
512
627
611
891
636
889
571
765
824
698
568
853
892
522
678
598
637
878
868
670
890
712
529
637
779
745
655
577
672
611
706
570
603
680
593
647
798
813
513
724
816
511
896
772
655
773
776
717
525
691
778
765
533
613
845
691
797
733
844
720
886
629
641
728
637
627
761
758
815
740
670
678
689
702
709
648
780
893
506
891
609
561
869
704
644
772
850
527
772
575
529
614
685
640
741
709
594
651
886
757
645
595
660
725
771
727
691
541
639
559
743
886
640
809
833
539
616
508
532
674
795
704
712
668
597
804
544
670
505
886
751
623
859
685
592
548
878
858
599
700
869
544
625
782
871
725
555
587
890
665
691
601
854
728
793
688
865
789
900
601
851
697
509
609
554
552
893
519
547
530
757
532
838
820
618
716
856
879
558
752
729
705
582
729
766
720
536
818
682
685
882
655
895
716
584
580
745
536
852
778
592
613
565
687
713
596
900
539
829
650
503
698
628
598
716
597
664
836
827
749
606
775
811
698
676
582
714
565
821
823
622
778
896
672
848
585
867
565
875
521
728
612
731
552
878
632
745
740
851
756
770
519
526
602
737
821
547
637
744
856
863
610
599
809
539
753
532
777
770
617
532
804
863
621
505
594
626
556
708
768
622
544
559
509
680
881
751
502
592
859
734
635
749
839
658
606
881
826
605
581
660
674
602
744
870
648
805
797
730
779
767
830
787
679
640
890
505
827
658
724
642
862
891
642
827
561
845
586
675
618
847
585
780
606
589
624
553
633
787
520
798
723
803
815
822
540
585
677
643
613
674
719
584
658
876
632
875
854
849
620
542
853
695
639
534
574
848
630
793
530
682
835
702
518
572
771
695
729
577
826
812
612
752
558
833
777
617
521
639
671
623
613
571
608
680
664
627
619
787
738
833
744
567
632
765
894
791
753
692
657
548
819
612
780
794
852
749
500
867
567
570
515
744
637
720
861
671
765
883
668
797
791
779
783
758
852
801
568
587
744
688
807
880
509
795
718
665
501
502
548
785
806
869
502
875
662
778
604
879
877
751
743
645
890
881
772
616
834
820
543
716
576
769
823
793
506
800
809
646
607
702
751
811
721
735
597
850
690
651
694
737
873
691
643
664
585
561
553
887
851
690
623
764
636
849
603
827
861
863
845
709
835
623
864
561
585
652
868
669
602
735
751
716
641
580
797
516
660
862
772
740
797
727
698
835
600
540
560
797
684
565
576
588
651
675
865
604
609
537
534
850
885
581
892
838
846
516
883
566
758
750
855
584
884
721
868
639
900
702
881
818
626
764
700
680
695
646
749
760
801
542
609
838
626
880
703
653
638
785
744
733
746
541
866
509
524
788
858
718
897
895
537
662
779
886
835
511
772
666
613
502
862
744
716
829
771
656
633
734
635
794
654
645
598
508
666
837
876
822
761
517
552
847
658
587
658
595
590
543
745
735
663
801
596
864
611
707
601
831
878
613
728
504
867
574
647
677
680
819
827
868
812
622
820
690
767
571
607
751
749
684
633
558
649
688
853
629
759
837
545
821
809
760
758
560
544
723
655
643
573
849
706
825
552
734
577
894
508
666
577
842
539
594
795
602
558
883
503
605
799
546
729
895
899
889
744
712
873
532
610
835
566
890
522
585
744
673
715
609
803
703
865
582
560
723
690
690
870
887
790
639
826
664
534
888
508
581
570
649
549
822
790
853
643
534
788
715
599
741
717
542
566
651
886
508
675
589
548
519
570
736
579
638
514
631
750
671
598
503
803
629
627
714
589
692
875
870
596
849
671
885
508
753
562
588
516
653
706
633
573
681
668
562
607
885
863
853
596
505
873
869
799
693
536
835
721
687
607
536
643
572
624
620
666
560
805
836
727
803
796
748
562
732
552
744
859
815
587
753
702
869
681
506
731
768
660
856
582
863
529
524
630
881
820
631
727
737
534
824
830
537
729
846
683
662
703
825
755
783
881
863
734
714
693
542
795
723
861
644
731
741
694
502
873
558
753
754
690
577
506
761
789
532
543
548
840
589
695
552
633
562
673
526
867
843
838
654
768
587
660
706
682
579
525
648
529
878
524
721
635
692
700
674
528
758
680
631
817
688
505
632
531
646
648
631
658
584
891
527
746
876
662
560
501
826
777
548
862
757
761
767
545
710
804
546
872
592
595
832
809
660
898
512
708
687
721
847
531
627
669
763
635
735
848
547
829
896
654
882
765
795
780
641
557
632
534
599
696
651
616
613
606
773
653
637
734
804
740
826
647
639
704
511
788
675
715
705
728
554
506
897
820
621
579
597
696
546
511
548
790
863
631
823
772
867
522
636
542
796
766
504
770
790
776
609
858
772
775
859
812
648
791
556
804
503
502
506
538
647
845
598
896
802
688
773
894
541
824
869
614
584
545
881
703
784
705
858
877
759
875
727
559
848
603
596
621
578
573
595
881
891
590
884
627
687
665
819
517
544
718
604
646
836
662
829
576
525
705
547
709
637
612
531
703
684
520
516
840
819
845
566
756
543
749
787
643
857
651
630
641
547
681
707
728
608
876
788
884
869
867
837
881
822
565
746
824
677
858
885
567
640
532
722
828
584
842
848
877
520
543
567
707
569
667
822
547
847
814
760
605
698
815
648
638
736
585
856
630
538
649
798
524
671
674
636
782
775
818
859
628
711
698
666
650
772
868
661
827
628
637
768
606
603
532
709
800
891
702
635
654
846
829
641
761
506
559
830
528
812
631
576
752
551
667
734
760
521
858
550
818
842
528
615
665
778
615
504
739
610
747
649
787
533
800
843
649
746
833
571
550
587
600
535
614
723
521
547
780
543
819
833
812
638
663
593
552
635
741
824
714
742
548
880
851
501
848
840
833
635
838
758
705
504
891
797
592
855
780
777
761
597
619
796
794
855
825
847
787
565
769
757
844
588
637
646
750
563
663
610
852
788
708
812
758
811
580
677
748
708
666
879
893
576
657
714
676
632
520
793
553
535
587
606
576
799
691
869
836
824
709
717
779
592
545
768
873
609
764
841
658
869
840
531
752
695
824
597
580
708
832
759
703
811
710
802
544
734
563
533
609
601
734
695
578
558
526
504
627
777
721
740
893
852
796
848
884
700
516
579
693
701
772
756
580
535
518
656
835
899
677
707
508
613
634
543
897
772
729
835
641
737
507
794
758
736
638
707
638
717
571
794
665
615
580
628
678
837
723
789
817
681
632
751
502
714
783
692
522
781
873
784
610
888
885
758
866
897
699
593
545
551
758
820
609
767
831
710
507
890
557
567
894
682
743
593
893
693
861
519
624
797
731
703
514
522
715
520
631
563
702
769
751
632
669
686
755
837
797
575
779
748
614
704
597
743
575
781
770
840
583
705
509
569
729
794
584
809
812
513
888
645
777
543
682
600
716
527
582
782
638
543
738
527
675
668
666
666
884
887
748
723
553
752
792
778
881
514
861
678
690
862
718
736
880
511
868
807
629
502
864
661
528
501
749
850
704
598
818
532
629
778
749
742
643
761
872
735
707
856
623
537
606
716
793
506
573
700
892
631
725
686
663
574
801
683
893
884
594
726
720
847
768
543
579
684
838
839
684
694
663
791
771
720
563
550
838
638
848
882
839
616
656
680
890
532
575
550
695
686
571
750
783
679
561
657
677
769
865
817
791
869
528
734
696
893
622
702
527
564
689
664
881
752
645
517
600
882
829
594
704
652
669
900
746
875
570
602
629
673
750
544
884
842
722
611
804
613
815
724
662
545
545
666
735
790
827
706
594
640
604
609
640
660
767
885
653
881
639
850
767
792
624
661
785
691
614
702
621
782
551
792
866
888
862
790
679
846
770
860
841
730
632
657
735
866
814
657
850
778
845
753
754
516
531
686
547
778
762
670
636
807
619
758
657
645
505
865
577
697
572
703
897
604
809
846
567
837
894
635
559
761
693
538
714
740
877
607
659
714
734
646
875
710
611
770
517
730
817
656
536
584
845
864
857
558
894
618
595
824
503
837
635
833
887
551
580
582
813
770
805
773
577
842
866
785
551
569
674
662
566
546
786
825
824
588
686
857
780
698
689
873
899
533
673
842
835
816
656
558
694
889
614
568
837
547
775
854
596
597
600
875
759
533
661
609
525
721
796
797
677
847
666
611
527
761
819
690
702
536
569
679
721
873
854
740
801
662
690
836
856
625
685
509
672
767
857
651
760
500
875
662
673
657
506
563
739
629
655
573
738
883
698
597
850
531
623
861
844
820
606
856
546
525
836
584
511
657
562
855
836
603
649
863
771
610
815
513
685
635
650
501
673
866
790
515
770
712
798
684
888
552
744
655
690
543
648
766
599
857
536
595
789
647
529
771
782
867
545
626
689
842
634
778
546
833
605
827
625
869
510
793
767
871
617
622
601
688
633
692
823
647
547
618
821
835
515
588
533
656
518
710
635
606
576
775
544
870
880
740
679
641
707
692
742
576
890
716
759
631
514
833
829
755
693
738
574
555
772
643
593
711
597
615
886
720
585
883
675
706
836
700
700
625
651
531
513
541
715
808
798
628
777
733
714
897
611
825
589
669
753
789
610
549
529
606
680
701
773
850
534
531
634
786
590
676
535
759
838
851
565
694
845
518
528
670
537
676
558
679
757
660
846
805
898
634
748
697
806
503
522
769
771
539
582
712
800
554
839
728
646
548
894
720
619
654
518
742
597
652
729
776
890
820
525
543
790
704
797
525
671
759
733
597
897
823
749
558
606
688
569
518
519
566
643
839
759
643
561
734
629
847
760
798
514
624
531
704
809
748
804
867
519
773
606
749
700
765
536
540
614
508
846
501
821
818
766
514
798
637
608
734
736
690
610
749
549
788
860
820
621
506
503
574
808
737
574
698
507
702
607
602
614
749
883
659
662
881
687
552
744
621
568
888
601
830
634
697
632
547
792
751
644
845
571
799
813
540
617
682
883
845
880
615
862
584
598
806
503
611
648
824
769
845
574
770
816
639
858
706
617
814
704
896
862
588
626
691
698
598
726
817
819
800
828
835
551
514
588
828
549
679
504
647
688
864
668
745
734
626
581
650
765
557
634
571
671
510
676
805
510
677
537
579
543
530
592
760
522
590
776
531
891
702
872
627
787
678
551
879
597
530
630
768
507
559
882
603
831
794
508
597
569
846
863
899
888
669
510
815
604
803
897
781
538
876
526
690
620
594
573
691
613
676
643
689
505
596
537
660
775
653
601
578
549
783
547
517
836
812
543
852
541
532
835
679
613
536
633
616
510
645
633
898
872
819
521
603
599
888
794
547
785
698
700
539
739
755
654
614
725
617
506
602
805
577
750
593
682
751
698
684
773
783
735
859
900
772
693
750
619
685
833
859
590
865
520
558
577
791
593
520
837
563
720
859
765
669
723
589
878
749
662
706
882
831
877
532
705
875
647
508
735
685
750
736
542
787
844
546
778
689
659
806
626
900
811
845
803
592
513
853
525
651
651
599
790
832
835
778
534
698
501
645
613
704
677
675
879
845
896
686
858
642
533
608
756
514
512
536
627
842
853
784
682
620
877
717
548
893
678
718
825
660
501
863
895
792
641
888
641
772
522
717
538
891
667
531
524
525
762
850
730
510
770
798
756
796
531
662
600
509
691
591
835
772
701
556
613
557
785
572
817
519
827
610
867
522
877
828
719
565
760
510
666
721
763
551
716
708
637
661
518
683
595
830
687
593
810
743
658
755
726
544
880
746
810
525
502
692
608
608
772
688
852
587
787
594
516
837
870
785
873
684
578
894
872
581
675
580
733
851
792
566
890
517
852
549
843
519
698
583
687
639
566
780
892
596
671
639
845
752
501
771
627
548
858
709
688
863
670
747
841
659
681
704
529
778
545
758
774
663
536
802
897
774
617
885
646
626
805
601
700
559
635
706
833
653
890
749
602
599
845
885
866
733
793
550
713
629
797
839
729
748
816
688
795
634
543
729
594
509
775
693
784
864
758
647
580
510
632
614
899
854
800
745
668
749
848
632
872
553
562
893
782
696
842
573
763
833
713
752
807
882
550
566
590
537
627
804
615
641
546
628
780
669
763
868
761
736
514
593
525
697
837
721
705
728
599
577
549
732
533
860
751
520
572
611
584
535
727
639
601
719
559
509
829
564
592
626
858
606
552
814
887
652
600
596
754
516
528
589
897
731
695
676
837
535
846
650
865
638
657
703
516
572
797
639
858
740
657
562
567
689
622
890
888
666
573
750
559
743
765
556
765
850
873
887
769
692
725
842
735
661
764
562
619
512
700
761
521
639
750
567
732
755
772
592
859
766
772
810
734
556
588
743
733
614
716
671
763
510
540
575
506
608
509
751
656
791
674
709
900
729
713
589
528
822
871
672
710
503
706
543
776
572
545
505
568
523
722
515
857
554
846
544
510
833
625
883
870
514
746
623
627
533
755
766
551
738
740
557
827
890
838
851
832
643
766
549
744
654
863
848
893
654
807
803
848
726
811
600
715
771
807
746
566
700
679
747
665
522
725
520
759
687
819
862
500
584
746
538
541
639
682
522
872
615
514
597
522
710
759
670
870
735
717
597
512
639
828
565
643
738
860
864
765
573
757
557
668
677
895
857
829
713
745
692
690
603
656
656
539
680
799
563
787
822
610
576
702
560
526
500
571
641
504
743
754
623
781
828
762
705
605
750
768
657
578
619
558
771
607
679
752
547
783
762
716
878
898
661
724
687
782
508
662
747
677
791
737
718
550
663
714
887
669
822
873
775
794
865
627
863
744
833
620
566
758
503
615
606
730
626
897
787
591
794
871
640
721
737
764
751
891
559
618
863
602
713
576
537
876
668
546
854
864
519
817
889
574
667
594
795
882
892
529
787
773
553
772
671
773
552
501
543
705
611
830
780
761
573
724
702
858
691
859
874
572
817
553
516
562
787
888
593
762
779
725
678
647
548
761
712
531
609
835
556
530
793
562
757
842
570
808
752
692
895
583
792
780
811
631
643
538
855
755
680
696
625
871
797
651
853
506
715
698
743
577
775
680
598
516
560
749
882
860
513
546
803
586
607
529
735
621
622
580
518
831
704
864
766
724
677
704
506
877
771
576
734
673
889
772
547
623
543
514
523
822
895
791
881
523
656
717
805
896
660
725
629
872
603
692
760
746
528
655
781
648
737
652
599
805
790
580
844
849
580
830
641
875
650
884
532
589
501
754
572
653
630
766
619
630
638
675
651
700
677
866
543
520
509
525
768
709
671
594
690
586
763
638
578
647
555
765
850
668
786
505
792
690
604
762
557
540
803
852
531
789
846
728
779
599
766
733
643
753
501
710
863
500
541
689
720
677
872
714
721
865
784
664
828
532
550
787
780
775
820
847
572
847
821
632
878
580
633
840
529
782
711
868
806
776
869
665
763
581
886
603
624
708
798
739
857
547
634
714
598
559
619
711
642
890
723
676
607
539
794
716
658
618
777
735
550
754
685
829
741
750
686
541
786
809
500
893
641
553
539
732
755
696
609
539
570
810
836
702
830
589
605
544
793
886
537
506
733
524
832
599
709
539
789
759
844
632
867
618
639
772
573
657
503
507
674
751
763
757
536
811
658
561
705
635
798
644
828
673
665
639
710
554
522
719
717
526
624
632
816
527
693
594
628
862
808
838
539
704
534
746
689
569
582
841
843
537
631
571
595
763
568
616
841
674
792
796
817
835
860
897
713
706
890
586
699
727
756
860
769
707
803
529
765
561
542
612
642
517
841
878
548
535
639
557
589
843
633
884
858
670
515
691
582
573
737
764
733
576
869
796
556
816
707
563
662
533
515
750
689
739
817
708
572
696
650
830
517
708
793
641
810
882
530
508
579
724
813
821
589
813
868
581
705
773
687
651
590
603
817
733
592
508
760
737
506
711
601
503
881
853
771
523
740
824
517
506
685
645
606
615
834
661
677
640
635
544
692
606
724
538
531
810
613
864
724
704
747
521
773
838
501
658
819
894
718
635
842
734
598
546
521
558
872
814
637
675
576
664
618
663
731
838
545
724
677
582
594
618
532
814
515
709
751
555
646
522
843
761
750
627
757
543
557
523
606
559
578
519
730
617
756
567
577
693
593
814
857
570
711
701
653
704
733
796
619
833
555
868
739
529
897
547
706
704
839
898
725
886
626
523
618
506
550
671
546
580
623
858
670
512
520
816
827
811
833
661
641
572
545
527
892
885
865
527
853
857
573
829
859
742
564
564
640
759
526
593
744
886
708
816
833
528
746
699
556
771
615
712
837
606
500
705
585
688
755
567
739
829
576
720
518
604
689
696
719
800
898
586
791
604
816
750
836
589
540
725
526
699
835
520
535
701
845
744
637
851
837
809
728
655
871
700
636
568
864
517
801
874
837
682
689
796
827
768
569
835
782
754
697
630
664
540
855
733
658
645
743
654
761
745
701
604
746
635
799
577
575
650
589
862
538
515
522
813
569
838
626
648
885
770
595
864
754
795
805
595
668
674
771
664
501
729
770
774
849
815
717
642
510
596
611
735
763
795
502
728
849
530
771
849
598
605
783
841
898
776
692
656
703
556
566
603
582
782
719
681
550
686
749
843
624
567
660
590
749
709
751
697
597
719
597
845
753
678
858
749
730
684
552
713
643
891
769
813
766
676
633
849
579
888
595
712
871
605
528
763
826
884
812
765
502
606
557
794
525
875
777
740
720
528
533
707
602
719
515
559
891
751
690
730
537
771
895
722
513
569
791
789
545
632
704
633
765
793
680
595
755
806
533
744
730
728
841
538
511
872
785
731
579
895
580
766
592
861
839
886
537
681
823
853
735
659
540
687
666
595
615
508
577
653
717
542
775
505
620
755
778
865
804
675
838
664
684
571
681
804
771
865
641
564
731
833
767
544
614
562
696
837
732
562
578
874
507
624
570
531
677
695
735
756
723
747
572
776
614
549
668
791
885
696
589
731
900
701
534
778
502
605
533
506
542
781
610
504
699
724
802
755
817
567
718
771
551
605
898
777
531
703
703
587
874
851
718
591
568
501
807
847
709
521
526
542
551
681
828
644
715
634
516
686
631
678
513
829
568
662
888
686
699
653
576
526
866
617
721
605
850
764
862
787
868
734
867
505
650
624
753
748
777
721
638
692
860
516
867
754
537
840
666
778
572
735
757
819
755
720
895
822
645
751
860
811
837
637
653
892
828
555
820
859
641
570
751
546
844
766
675
838
875
854
673
870
703
841
778
723
554
740
636
558
895
584
593
899
667
551
885
805
721
521
893
708
628
776
511
737
573
648
576
784
608
577
651
530
602
628
883
613
595
581
714
886
637
877
725
707
665
591
678
893
730
596
610
728
658
636
513
761
508
716
847
688
740
567
886
888
604
702
600
867
553
679
861
711
547
780
631
725
622
607
892
722
595
631
585
652
887
785
840
735
860
707
641
692
869
721
664
572
579
505
629
850
644
795
677
886
779
796
720
864
752
759
547
805
707
629
872
744
559
847
592
644
550
804
630
831
868
564
551
811
852
667
650
779
673
523
781
604
513
644
830
677
719
689
754
836
752
552
690
754
787
602
666
694
607
554
860
808
544
602
554
516
665
895
843
680
741
738
749
589
503
562
570
553
618
535
598
632
788
764
558
548
753
717
582
666
865
820
791
883
654
723
585
754
763
605
864
697
523
556
850
830
685
646
729
741
643
898
555
738
692
688
884
757
596
783
878
724
794
783
826
543
664
802
900
780
531
640
684
832
822
808
723
595
601
897
864
615
897
506
691
735
834
643
779
878
633
617
525
698
898
527
898
640
772
594
574
747
524
616
803
572
812
511
619
855
527
798
694
711
856
842
555
736
788
715
828
524
772
828
794
617
800
518
540
723
666
835
597
843
838
893
747
691
692
738
672
692
513
872
785
820
663
713
762
856
629
612
838
575
870
643
882
546
861
500
797
827
649
826
892
610
825
849
752
656
666
857
578
585
753
821
834
874
500
609
804
634
577
546
565
833
815
817
875
566
682
618
662
659
769
752
607
727
868
727
629
718
786
603
696
556
710
625
851
730
575
747
536
661
569
874
613
649
520
754
552
665
524
628
626
611
677
672
793
696
821
758
697
855
770
629
768
669
894
786
700
627
763
690
704
811
578
565
765
770
781
880
573
770
824
505
626
688
732
748
736
755
663
675
562
807
520
752
891
784
530
690
756
508
603
842
821
516
832
866
892
855
523
657
787
863
793
807
761
697
629
675
515
567
665
594
590
847
679
898
542
685
574
651
789
813
817
710
584
605
871
737
781
763
711
594
776
666
636
573
729
876
685
792
735
701
548
641
586
866
663
698
721
693
657
869
814
540
739
893
632
547
575
885
789
633
732
720
502
884
513
641
719
882
602
862
659
664
618
532
850
876
838
578
551
841
602
811
897
501
667
504
610
502
785
501
571
558
642
798
721
544
773
582
670
602
880
791
810
899
722
866
618
806
689
774
671
649
563
652
721
569
537
896
566
581
553
842
511
538
573
900
534
827
823
750
512
737
703
696
728
640
778
576
508
525
857
839
679
766
552
653
504
897
590
625
678
791
642
511
811
686
527
753
773
860
704
865
899
602
558
765
898
549
655
674
876
564
891
711
851
598
760
676
719
566
574
683
798
531
647
742
517
528
539
503
583
897
564
620
692
875
693
831
518
751
743
735
809
512
652
630
754
525
695
647
528
548
559
665
875
730
737
797
769
677
728
677
787
626
857
723
564
657
741
616
692
889
628
729
872
715
607
875
713
695
527
568
888
610
595
501
894
623
776
859
640
744
847
869
654
804
755
875
861
860
678
882
827
649
857
651
730
548
669
797
557
737
605
895
621
842
716
557
745
697
563
684
697
624
701
563
807
699
788
722
718
613
754
568
815
874
586
859
632
862
883
621
613
788
774
570
683
853
511
583
765
504
641
585
505
652
515
835
654
700
668
735
639
694
660
748
858
672
823
617
672
781
717
832
785
654
625
627
500
569
761
536
590
642
887
645
601
828
774
617
609
742
798
560
809
568
844
546
678
581
798
693
861
655
879
813
588
654
897
720
684
715
793
707
505
550
864
797
728
678
705
781
531
887
707
547
900
659
522
728
731
814
874
900
563
509
530
818
833
694
898
510
618
740
673
621
881
743
603
758
714
695
807
677
647
648
687
556
504
697
854
661
748
803
617
811
890
667
621
732
656
561
845
653
626
872
758
552
796
613
700
660
771
702
759
837
575
697
599
552
639
782
816
769
797
581
867
836
652
737
562
761
817
881
871
737
591
541
582
734
789
629
816
758
726
665
778
852
763
534
875
617
520
710
632
623
832
517
771
711
775
785
707
794
508
532
873
640
775
735
750
819
785
622
562
671
615
607
690
511
662
599
630
655
591
754
553
567
714
634
815
689
840
826
873
507
788
769
745
639
701
819
801
702
818
684
837
800
602
504
511
818
797
707
656
579
545
610
545
564
714
895
608
539
853
878
593
692
775
817
849
565
800
665
721
521
558
552
613
640
758
725
621
520
529
845
807
773
715
897
657
852
761
642
742
717
682
520
651
820
707
854
832
510
711
849
817
520
895
525
833
618
546
579
689
731
557
573
867
539
727
649
610
845
646
653
651
529
852
620
665
723
785
639
675
899
796
615
766
882
814
510
574
583
514
518
610
542
619
819
565
783
604
851
636
848
843
600
778
625
612
636
654
810
543
656
749
565
533
737
697
558
504
656
549
712
566
816
703
808
874
701
610
811
803
617
819
872
545
840
513
664
545
803
575
557
881
845
697
585
755
500
865
716
660
628
753
669
710
502
666
598
672
621
790
576
721
826
781
573
658
656
853
792
686
812
637
801
871
516
650
890
659
569
591
870
885
663
682
575
758
610
856
670
894
578
558
731
797
728
516
549
533
566
727
611
501
664
670
734
571
590
625
618
897
653
661
781
685
898
575
817
887
580
760
653
853
522
881
741
795
740
571
633
700
500
760
637
741
865
674
854
619
565
856
546
604
863
759
719
836
565
861
887
675
505
813
835
580
879
547
601
715
859
765
667
765
730
536
588
866
594
643
781
627
650
758
704
624
672
821
888
528
888
798
737
774
780
642
551
881
815
714
569
738
779
519
808
850
648
531
832
658
843
563
687
777
545
884
717
570
815
862
682
505
643
721
801
648
684
766
767
550
587
792
733
734
688
807
699
817
715
754
589
864
666
594
746
698
738
602
537
598
568
805
664
670
565
784
883
784
601
585
594
788
870
570
697
615
733
719
508
730
878
815
757
693
813
869
687
607
784
651
800
625
537
508
710
832
630
602
607
816
835
601
816
617
526
743
763
809
662
516
535
562
638
685
569
899
681
888
738
658
559
504
898
863
644
626
620
594
697
600
533
685
758
634
789
853
586
870
500
616
689
778
823
501
836
770
627
500
836
631
794
877
800
756
563
738
860
733
674
829
673
768
559
674
634
799
880
585
858
854
576
852
820
611
639
594
648
726
501
864
714
635
750
833
864
714
502
585
710
697
694
528
711
689
528
813
664
788
744
616
777
722
500
733
583
612
516
897
657
614
849
791
618
839
847
816
815
566
776
526
793
731
791
743
876
650
592
648
711
596
770
720
611
892
850
837
841
885
539
607
637
706
571
557
848
612
513
781
854
560
828
830
654
716
833
857
832
851
631
704
780
502
650
513
771
858
840
542
623
771
868
669
795
723
816
798
681
805
822
837
647
707
659
653
851
872
584
627
727
784
743
562
584
898
843
653
834
813
800
508
523
593
568
822
896
828
669
642
575
766
656
561
759
692
531
727
766
552
504
708
741
594
641
808
651
730
734
594
643
883
878
786
669
691
507
674
619
702
809
504
738
876
739
566
895
554
598
680
780
539
626
543
528
883
570
517
655
628
733
576
744
505
848
731
734
613
853
829
811
803
809
565
829
707
520
574
807
853
639
735
535
862
833
714
758
811
881
663
685
633
856
738
828
893
560
752
773
737
877
713
813
798
650
818
665
721
685
532
557
555
809
626
652
816
683
615
637
846
609
732
624
525
796
650
840
547
731
580
757
503
555
772
811
897
861
769
746
532
523
760
626
856
605
773
768
590
684
650
725
864
540
588
646
818
716
707
558
673
852
731
712
563
657
850
526
537
735
802
669
840
870
769
511
891
615
711
673
751
650
601
638
787
694
758
666
893
824
794
607
797
838
572
787
823
520
824
882
538
617
858
584
572
711
679
661
895
652
681
531
616
599
588
560
652
614
559
507
513
864
687
836
507
886
787
828
721
667
534
871
749
837
797
619
741
625
861
538
719
748
754
708
529
803
516
702
608
763
513
886
672
581
847
562
561
688
860
691
619
681
586
650
539
684
880
826
650
724
785
551
689
716
858
594
507
657
823
833
887
720
819
659
627
575
530
616
900
760
723
887
875
767
766
726
690
710
756
794
525
572
866
570
712
651
743
848
665
611
548
876
825
627
721
856
788
631
619
677
810
511
572
817
563
569
672
620
788
663
872
840
786
598
541
644
747
791
868
694
569
647
541
798
793
651
507
634
767
740
676
870
656
761
636
534
798
588
662
558
715
871
781
633
519
585
808
616
655
639
849
670
784
627
848
776
529
814
785
878
878
860
887
695
503
772
626
690
599
788
691
760
818
737
591
640
708
544
691
620
755
577
698
843
535
748
887
610
727
739
596
565
804
673
689
857
709
799
888
661
652
563
751
735
818
763
888
644
690
633
650
678
646
661
787
516
651
504
896
529
643
511
532
612
776
873
786
550
590
757
538
767
724
869
808
630
584
724
515
888
593
700
520
629
710
667
833
806
567
885
514
704
701
765
552
865
696
631
564
803
667
670
734
587
835
863
573
548
584
609
717
773
544
835
512
782
678
647
741
737
710
817
573
650
756
841
515
803
628
793
519
749
738
619
519
558
788
897
542
623
810
882
686
845
870
599
512
832
656
709
740
792
830
740
670
571
824
736
826
732
828
798
806
643
578
812
874
652
744
605
658
519
813
504
622
715
781
876
883
747
629
581
572
595
779
663
632
593
627
873
581
838
882
891
709
804
665
877
523
845
774
897
861
790
853
551
530
745
889
559
796
548
893
537
882
652
855
524
773
733
711
599
564
513
636
544
689
734
622
611
737
624
708
814
879
585
541
664
610
524
840
895
652
829
840
753
712
779
612
594
818
857
870
638
615
728
686
609
507
541
616
829
667
756
759
755
526
505
686
899
866
573
823
897
870
897
773
773
646
666
634
670
525
761
543
642
760
554
809
754
760
828
531
851
503
561
871
703
693
725
538
741
557
652
776
873
593
574
795
765
636
891
692
525
533
573
890
694
745
727
882
607
648
692
684
534
531
549
811
853
839
839
571
593
813
632
657
840
872
648
562
649
789
836
704
711
516
878
859
615
762
517
548
806
571
869
671
509
875
545
620
877
900
682
503
639
841
826
698
806
850
700
822
881
874
839
817
859
781
735
737
882
509
609
882
610
550
713
540
710
507
576
596
767
728
863
711
882
726
551
776
900
583
658
631
799
712
797
593
584
738
618
788
566
531
595
573
547
796
650
752
604
560
716
694
886
749
839
780
837
699
680
543
894
747
809
685
702
816
798
651
889
775
895
541
535
700
531
730
543
533
524
752
709
710
608
701
805
898
628
512
852
571
832
737
795
632
504
505
843
553
823
799
633
585
698
767
758
565
587
832
780
699
837
720
701
730
779
877
586
808
633
554
875
582
714
535
790
514
546
501
579
681
588
888
777
556
772
621
684
522
654
803
687
764
537
518
697
793
680
801
528
694
800
506
836
685
831
773
762
649
624
658
743
604
724
730
829
531
599
540
841
740
666
540
562
704
696
577
660
790
595
644
744
698
657
819
538
711
550
617
730
770
866
651
742
506
533
577
768
615
584
604
651
578
838
685
542
581
550
742
878
790
652
546
803
600
545
542
562
811
878
850
770
829
627
815
640
545
500
578
896
684
550
895
619
854
793
634
634
711
552
900
613
864
683
770
838
857
537
627
808
801
716
855
776
505
717
609
784
681
693
610
816
874
720
658
535
879
624
799
558
616
669
618
533
837
708
530
637
633
830
797
608
693
758
647
526
834
681
674
775
859
508
744
887
866
649
828
654
893
581
569
851
605
564
694
876
683
516
553
735
557
660
592
812
899
765
794
553
550
561
702
678
684
679
811
887
709
731
876
584
851
717
856
545
805
628
581
726
805
788
813
850
880
536
556
747
616
673
703
793
516
591
850
552
653
833
643
795
760
826
779
871
624
824
543
885
592
698
578
596
607
850
816
771
736
719
850
687
736
520
515
719
756
571
664
619
845
628
815
649
590
727
849
549
874
646
518
898
754
766
702
643
727
523
789
734
696
839
611
661
762
827
554
531
645
667
550
799
795
792
502
674
613
631
857
593
675
892
895
752
707
855
653
788
857
693
558
785
764
828
555
597
863
720
647
704
538
884
822
834
602
774
729
819
812
657
508
648
666
638
744
786
534
810
897
538
635
617
605
757
668
721
548
535
719
895
511
521
672
676
522
559
519
797
835
713
717
556
654
780
540
858
576
567
762
715
765
891
623
685
889
582
512
603
614
781
656
788
715
582
568
729
627
605
578
776
634
575
596
792
670
838
531
518
837
884
708
618
675
829
802
755
559
597
779
720
716
886
666
881
554
577
754
577
665
640
782
733
892
692
626
618
566
877
509
864
681
554
699
668
561
631
825
772
760
584
772
655
519
716
527
555
593
540
811
779
688
756
719
867
794
666
599
820
758
640
835
667
655
895
868
661
698
628
538
721
831
602
648
541
854
853
666
535
626
510
601
818
884
649
730
879
852
631
543
603
508
827
581
560
677
898
732
609
528
849
737
607
718
681
549
839
803
755
845
703
674
865
769
596
632
835
565
806
510
583
679
862
579
500
852
642
764
528
727
762
642
586
692
503
836
560
511
526
792
823
668
660
663
563
666
846
555
738
646
590
759
750
900
742
698
557
769
834
534
886
629
732
799
598
598
650
616
893
794
516
859
697
713
792
552
731
519
795
697
703
775
640
865
673
585
855
518
593
793
533
891
704
580
714
586
843
662
591
567
896
620
689
632
828
781
622
552
721
511
814
630
701
505
647
830
850
641
867
710
586
673
612
559
881
876
645
717
599
886
678
798
899
877
522
831
880
731
517
527
595
646
563
552
677
547
889
559
710
764
600
581
665
642
702
522
583
855
590
540
606
871
785
623
809
865
770
820
780
789
509
835
756
669
742
790
759
809
763
600
540
788
810
645
852
845
502
667
880
635
872
581
588
580
863
592
898
725
869
823
639
577
749
512
593
589
775
625
862
862
885
750
642
761
670
779
671
517
707
512
760
776
732
647
806
813
696
702
563
544
669
887
885
597
787
672
560
633
519
550
644
758
726
588
569
712
592
543
504
880
542
509
771
712
827
884
828
857
895
882
764
822
849
724
835
554
808
685
695
531
790
711
851
667
747
596
836
880
889
749
796
518
569
829
739
782
609
742
817
558
802
625
602
727
795
590
843
790
761
682
720
834
717
667
690
574
780
709
891
692
528
651
586
832
643
506
840
877
762
596
856
728
700
534
734
538
831
506
803
707
576
751
881
885
898
890
766
554
696
524
825
667
851
650
551
602
874
511
593
502
769
585
764
669
842
505
550
854
898
671
582
635
543
885
610
732
736
667
552
623
593
558
781
637
893
827
615
672
734
557
840
654
686
510
754
554
802
600
845
840
819
768
823
588
541
505
885
525
849
671
544
580
790
766
719
764
668
501
634
762
707
819
785
601
559
636
737
675
561
857
662
632
535
729
649
830
756
849
848
522
750
757
558
539
652
728
747
898
536
701
617
828
597
525
758
560
684
553
871
671
585
633
681
873
538
700
519
872
556
701
679
630
507
784
751
749
621
716
714
886
719
780
900
631
615
595
661
850
570
580
507
648
588
879
672
680
533
683
895
674
790
720
860
776
850
791
815
510
509
550
501
855
684
767
535
859
627
868
857
872
898
844
577
858
821
610
674
721
896
808
714
542
670
751
555
508
873
703
709
702
603
805
514
536
571
788
836
671
887
860
760
883
830
688
894
703
624
717
792
632
727
723
764
654
631
558
829
713
580
567
591
647
623
649
778
772
848
542
786
686
540
734
813
762
869
892
820
648
779
830
891
682
792
871
806
537
766
526
534
836
727
605
561
538
622
649
515
879
760
551
809
512
504
867
864
767
646
622
737
822
856
604
590
638
608
521
792
619
661
741
872
509
562
812
529
827
817
742
750
820
721
761
557
654
667
778
745
805
836
626
821
899
860
786
713
862
554
575
883
861
882
613
804
859
530
669
669
580
669
828
880
626
673
542
790
799
894
879
509
680
563
709
792
558
849
812
525
686
786
766
725
783
654
631
758
610
831
839
882
863
859
505
780
666
599
583
809
838
744
692
555
881
727
514
855
631
591
733
625
728
853
525
897
841
753
613
852
578
769
722
792
728
791
664
650
791
857
603
574
628
611
720
790
773
601
572
516
873
668
676
852
860
667
658
567
601
805
630
872
643
530
660
615
782
607
522
767
778
669
644
853
510
585
753
513
638
898
525
689
669
826
891
686
708
731
726
671
829
894
553
846
724
574
792
534
791
705
748
527
732
513
818
503
525
743
748
619
551
666
584
697
861
792
690
502
579
529
696
895
674
530
691
769
789
620
768
741
616
700
899
713
838
890
535
542
695
831
542
587
751
666
726
586
527
592
774
859
774
778
622
649
570
713
500
772
852
866
619
895
530
754
625
715
536
725
802
518
789
649
610
560
864
872
576
619
641
815
724
715
569
759
536
824
524
646
556
718
507
891
863
511
751
531
856
718
794
692
539
825
727
694
731
758
680
634
692
758
551
754
537
785
629
897
752
770
830
751
644
575
570
808
706
703
728
766
756
827
760
664
864
745
755
545
739
536
647
584
720
664
785
609
694
717
716
872
886
889
880
656
612
565
649
876
790
520
797
846
735
807
742
543
645
637
637
883
584
672
870
530
861
533
718
866
589
565
693
510
538
556
775
820
728
814
562
533
741
590
539
567
522
756
506
699
615
510
535
808
636
688
685
810
579
565
740
799
526
738
828
534
779
896
824
722
885
703
571
780
830
654
537
559
827
837
680
648
525
505
787
635
605
527
583
523
658
517
610
827
730
747
540
661
622
716
527
853
561
820
878
811
882
636
531
690
851
714
525
815
579
637
546
802
674
773
731
595
705
792
778
825
568
887
683
638
790
694
533
619
628
791
867
587
791
773
796
822
525
526
872
614
799
547
613
658
550
606
723
639
675
766
683
667
708
770
718
734
858
554
556
736
618
811
633
545
531
835
654
524
794
852
594
896
533
620
607
801
704
850
569
853
613
787
677
525
734
527
607
574
599
551
837
526
563
735
879
541
541
814
595
630
571
565
684
639
770
763
553
669
856
899
698
637
713
502
603
868
573
883
514
621
803
822
895
536
586
585
757
882
806
600
592
869
566
799
676
592
534
743
627
540
744
845
705
840
523
530
596
766
624
823
545
546
643
599
543
720
837
832
536
893
529
535
561
893
583
632
712
547
767
542
803
611
538
833
557
687
661
839
661
882
583
843
663
605
765
808
612
851
562
820
778
896
564
771
797
795
767
517
818
677
520
862
852
581
685
766
605
622
879
564
889
708
621
892
698
770
877
844
709
601
522
772
846
833
724
521
847
526
521
567
825
883
647
656
531
859
715
545
675
660
844
819
546
534
590
739
789
594
582
528
754
836
713
753
623
872
682
748
612
861
690
548
573
547
721
674
710
822
553
667
694
884
612
521
793
737
894
756
744
622
868
570
683
715
630
735
818
811
861
816
676
643
821
577
802
850
865
835
544
704
829
517
583
598
750
660
658
537
639
629
810
754
724
588
774
681
724
730
786
760
572
833
715
587
894
524
689
846
780
608
712
703
671
592
746
810
729
862
615
779
792
729
868
794
717
518
873
755
789
744
656
649
861
588
640
561
772
514
689
562
656
822
755
684
602
689
543
585
526
601
705
895
855
533
743
872
778
525
538
709
520
668
616
644
623
639
813
562
542
752
876
538
710
733
652
841
724
518
826
544
615
897
679
656
696
800
731
830
505
569
889
546
855
748
830
672
645
766
610
529
828
893
851
767
717
515
870
653
616
864
514
847
761
660
735
541
615
739
746
822
612
634
534
710
508
649
644
881
700
820
752
602
802
522
574
558
530
763
874
705
679
842
805
610
583
692
594
698
761
743
678
622
815
513
769
834
746
898
691
540
882
501
733
656
770
783
769
897
752
738
849
850
657
755
710
751
721
632
542
633
732
501
869
566
695
633
708
846
518
881
519
881
732
843
591
660
854
851
548
654
740
618
782
791
769
728
732
704
696
502
694
552
592
735
631
716
898
540
561
666
649
825
559
510
701
761
608
682
808
756
732
620
839
718
861
532
548
693
778
792
886
831
521
785
679
829
647
848
648
710
630
569
592
879
577
887
617
667
677
583
860
542
878
883
854
595
603
712
527
882
662
684
706
547
658
611
816
529
674
665
605
521
518
817
791
556
694
709
572
521
888
526
895
782
781
658
601
757
867
874
659
602
572
728
626
600
532
562
840
594
549
795
823
541
782
632
590
700
506
849
663
590
543
813
808
571
669
900
545
834
688
583
564
766
503
803
721
893
579
870
577
598
581
793
881
509
575
726
604
718
705
544
573
601
612
590
873
524
576
854
717
546
833
858
770
741
863
613
841
577
538
873
703
681
785
827
627
545
825
749
594
525
616
507
507
817
512
592
594
672
773
574
614
544
796
652
725
808
878
859
874
713
877
564
739
585
709
807
760
805
803
511
754
540
780
593
857
762
865
723
832
822
510
501
730
872
545
530
665
525
698
887
766
558
741
603
672
731
508
830
900
788
798
596
617
807
711
513
848
654
761
670
777
747
752
893
849
669
566
507
505
895
784
693
554
742
524
899
882
880
873
847
590
729
847
793
843
750
676
862
765
835
644
689
807
676
824
795
712
566
814
685
796
793
768
821
897
511
747
809
738
570
601
551
679
550
763
742
689
514
828
764
566
671
768
678
862
777
570
868
675
620
654
684
519
673
781
900
538
568
614
502
812
821
590
865
557
515
620
742
762
536
683
756
858
593
813
787
564
780
832
690
879
665
665
773
867
824
520
769
502
850
720
859
820
629
884
643
589
722
695
673
691
785
621
569
639
855
537
703
889
636
706
698
678
799
528
804
504
592
710
736
738
629
521
793
695
554
853
708
554
607
664
625
876
594
704
565
658
661
581
517
719
755
516
654
570
681
513
630
578
766
593
640
790
606
862
870
860
738
830
531
676
774
636
665
690
537
865
563
519
574
565
661
675
620
536
518
660
900
740
562
630
594
831
575
831
609
825
867
625
525
898
642
560
852
633
687
636
673
595
875
628
618
620
787
570
689
654
614
671
567
528
829
744
786
559
646
719
701
706
842
533
546
853
585
508
795
682
582
572
724
536
675
745
636
601
789
773
662
580
659
762
505
684
653
571
855
708
744
753
810
832
807
742
674
614
538
841
688
704
548
577
835
640
808
716
882
714
693
663
731
706
543
740
640
565
896
850
846
727
750
869
599
626
615
810
856
673
792
835
879
747
769
609
601
571
613
760
812
844
619
893
811
656
598
678
900
533
822
737
697
873
708
625
575
628
539
740
623
548
509
740
779
734
732
712
791
501
604
599
892
528
617
622
716
530
739
572
502
805
626
739
547
628
860
782
761
876
777
614
868
519
891
542
662
712
770
589
833
663
549
821
844
593
829
798
828
746
590
704
857
613
669
686
530
534
823
624
896
688
823
870
825
541
531
530
704
866
782
504
837
754
806
566
663
579
873
802
821
889
759
776
677
601
731
651
808
596
893
575
672
699
524
676
822
564
515
789
750
564
637
821
802
696
515
684
734
737
890
600
775
899
844
670
787
857
656
781
815
682
872
765
553
540
641
860
654
821
797
571
843
753
543
681
817
742
588
575
775
699
698
651
763
876
652
681
621
674
506
602
882
551
801
611
568
658
785
730
639
857
608
832
707
839
603
643
679
540
625
821
678
668
778
644
735
680
651
634
502
639
759
877
759
556
811
592
627
589
509
721
603
873
741
715
796
739
897
659
627
558
580
769
703
554
574
510
759
585
769
640
688
585
847
569
894
743
673
539
762
545
552
722
768
604
897
887
789
632
730
657
621
704
572
652
678
596
715
752
807
639
699
575
659
551
841
534
510
536
889
803
697
680
714
662
616
657
568
522
847
772
740
837
677
798
528
545
683
874
763
609
696
849
656
558
546
750
648
729
698
691
786
830
710
735
898
626
808
658
597
843
875
536
787
598
721
699
727
825
763
644
687
818
800
742
726
609
561
546
828
851
653
582
687
798
669
856
788
829
722
544
673
724
743
654
601
536
741
625
784
888
776
874
581
781
531
671
892
762
543
777
777
674
513
694
622
708
630
713
681
500
775
639
617
622
849
809
814
866
632
669
685
829
523
534
620
727
675
883
854
842
721
740
589
657
785
786
551
716
651
784
637
647
572
793
874
577
811
538
532
858
816
868
781
601
868
808
775
534
656
896
776
775
563
614
879
754
549
526
644
723
562
754
800
554
678
838
624
577
502
827
840
798
781
805
845
524
570
524
516
590
710
890
544
659
751
544
570
814
740
629
670
528
507
858
856
626
608
736
818
615
823
645
669
666
501
651
502
859
853
594
613
699
635
659
631
587
664
891
689
636
565
726
746
813
854
542
674
511
763
859
570
723
582
890
768
563
530
817
838
868
778
616
554
584
744
541
701
635
899
702
731
559
508
504
702
502
731
820
675
791
789
822
684
576
741
606
621
500
791
790
502
550
849
749
876
512
554
549
704
829
689
838
559
839
778
506
575
631
739
585
586
801
679
570
734
508
822
898
676
601
760
695
599
640
602
867
886
853
587
700
570
616
789
739
649
614
573
533
542
834
865
593
501
728
695
770
526
697
712
657
867
576
895
810
871
873
832
786
581
846
660
542
889
786
850
541
568
604
763
888
778
726
899
566
695
874
632
544
519
871
721
579
552
837
746
606
552
696
868
800
687
822
716
842
717
687
606
829
551
705
766
875
598
503
618
558
544
568
536
777
639
682
637
735
528
828
551
791
767
813
639
576
568
666
758
790
837
643
841
507
513
751
542
824
663
887
539
633
853
595
528
618
567
653
665
882
764
603
703
817
626
550
784
896
642
725
602
529
525
833
806
577
536
505
622
895
583
822
779
543
533
773
551
637
745
875
509
703
540
841
866
797
574
580
876
866
893
593
857
680
834
638
627
579
587
673
674
871
628
728
599
773
775
675
795
771
578
602
620
770
878
789
534
649
819
532
683
707
699
633
577
745
880
735
716
646
838
869
651
566
894
575
837
534
837
535
794
684
560
692
506
621
595
859
664
515
580
617
743
587
866
748
777
652
611
506
799
726
871
572
863
742
564
898
675
693
724
670
780
832
888
694
882
884
742
870
738
802
532
863
843
530
895
826
733
858
673
636
558
855
884
585
580
792
627
851
817
885
753
832
544
529
900
530
689
511
594
779
678
667
864
640
604
713
888
677
615
579
782
506
585
858
820
755
533
595
620
839
621
577
713
636
686
814
882
724
567
753
610
562
638
650
661
756
821
850
787
664
737
581
774
767
749
527
825
664
512
539
675
670
527
704
585
711
882
862
641
627
569
866
853
523
639
645
871
732
846
680
767
534
899
869
571
712
736
814
578
847
626
540
850
636
718
724
577
608
764
856
589
769
506
769
544
757
614
732
519
719
702
525
700
604
811
794
772
662
796
852
573
668
846
748
578
755
646
831
625
897
900
588
746
771
580
568
767
569
618
629
671
855
737
677
795
836
683
669
791
552
594
500
686
565
813
530
780
876
686
794
848
813
810
661
622
801
658
749
654
511
620
577
590
651
537
544
665
522
736
548
642
521
891
551
791
782
897
548
706
556
690
745
533
638
504
628
589
710
761
836
630
633
655
555
731
810
713
537
615
559
515
784
772
582
664
721
570
620
703
742
856
831
689
647
690
875
838
800
846
853
628
663
695
519
663
537
514
672
856
563
749
622
700
845
698
794
544
655
733
640
519
866
827
597
706
526
507
779
702
765
700
760
862
798
777
756
592
590
775
871
723
888
752
893
767
887
528
559
811
644
527
858
868
645
679
561
653
858
882
610
842
587
577
730
588
690
578
722
727
664
796
737
576
792
565
500
777
628
848
730
514
698
597
538
628
605
862
871
697
631
755
836
723
609
787
613
733
752
689
757
583
660
605
571
881
771
872
631
885
693
661
812
809
844
786
727
552
604
639
625
521
895
526
754
874
568
563
685
833
890
684
645
587
550
749
802
609
787
719
880
894
889
809
663
552
642
628
786
531
590
655
583
600
655
644
896
860
571
501
786
638
589
698
849
592
699
778
831
555
601
847
615
606
553
568
575
658
631
607
687
676
634
825
523
810
898
587
721
645
564
661
703
772
748
764
770
605
763
803
701
762
528
556
760
621
534
893
675
581
708
617
814
751
701
782
743
569
728
533
667
624
743
696
643
661
749
812
698
766
539
857
652
547
823
621
736
798
519
531
875
506
715
807
552
797
818
615
856
724
893
666
800
693
842
602
634
520
824
786
849
719
605
638
544
518
727
791
559
601
613
711
820
879
895
886
671
638
595
556
882
521
584
687
771
601
599
600
872
547
684
805
696
502
849
761
645
728
528
836
623
628
803
719
781
722
558
590
713
770
837
677
660
681
791
874
677
656
748
819
594
709
770
656
533
784
757
552
782
531
747
647
575
651
821
692
660
519
723
542
893
535
814
618
757
818
837
589
732
556
559
572
552
863
504
585
616
500
872
749
896
670
792
666
896
555
709
526
634
679
583
537
730
586
702
623
644
551
529
640
680
512
545
593
807
827
581
831
548
652
825
827
894
841
554
757
695
655
570
591
860
690
620
549
535
756
805
683
856
767
841
546
890
539
861
835
788
729
782
731
551
577
880
522
587
767
819
539
558
695
632
818
605
854
828
622
550
839
561
830
666
757
726
891
570
745
891
583
836
550
501
668
548
542
616
699
847
688
597
678
513
794
808
603
652
847
703
899
868
611
841
757
891
641
611
533
759
870
893
581
548
816
715
741
604
795
718
685
618
828
689
787
711
676
665
754
718
715
708
740
882
504
827
513
895
615
593
745
776
625
776
703
614
584
786
726
568
627
746
634
727
575
877
532
764
797
526
681
538
758
811
530
842
745
565
885
827
878
880
561
896
704
672
622
721
502
712
676
643
707
514
559
683
744
769
520
876
825
623
692
835
617
746
544
566
717
669
640
753
603
810
551
826
784
886
563
740
585
863
828
540
613
779
792
828
619
603
601
891
629
607
767
509
619
877
796
756
527
714
700
848
545
778
749
875
819
850
620
552
731
722
872
840
596
607
640
719
695
853
523
619
510
633
542
634
731
521
646
686
519
758
549
558
881
859
766
621
562
518
900
584
824
623
671
812
775
543
883
673
806
620
684
876
523
857
771
723
900
842
678
658
765
832
712
896
581
726
900
882
872
712
794
568
808
733
602
810
628
581
526
743
517
705
546
595
879
868
784
526
593
888
567
537
550
572
566
714
750
843
730
566
774
626
502
629
833
672
714
606
539
682
515
512
676
741
623
684
852
581
538
616
777
694
517
733
739
572
523
517
711
701
810
535
501
580
664
613
747
578
546
693
605
589
759
791
533
638
900
599
741
688
664
876
551
570
853
605
624
751
593
833
579
643
879
899
581
786
756
624
553
701
805
786
712
652
828
519
681
507
701
601
802
557
817
767
685
827
887
867
508
529
873
729
540
551
509
781
641
653
786
622
682
744
639
700
688
514
551
609
731
831
531
711
884
572
787
539
639
648
648
677
633
527
842
534
553
568
592
863
750
721
744
626
711
733
757
564
823
805
626
823
722
517
668
646
551
584
568
856
542
565
668
508
826
776
552
507
545
854
880
614
866
827
658
697
613
555
589
814
794
805
565
521
530
789
710
856
810
787
603
658
603
673
632
629
640
641
523
546
560
543
793
780
582
663
785
675
569
847
520
801
503
569
542
786
592
660
732
889
777
843
861
501
756
698
872
679
622
542
572
501
893
616
552
777
858
743
669
531
552
834
749
875
605
749
832
549
843
809
504
899
613
861
561
680
554
507
845
686
716
558
559
785
701
569
590
535
745
768
506
605
693
672
863
666
881
623
703
552
807
501
865
542
861
740
596
877
509
789
890
720
814
843
879
518
884
834
817
508
856
731
893
615
554
602
795
761
825
513
706
738
779
837
553
504
722
757
565
577
840
554
540
530
707
688
726
854
755
539
860
803
593
610
707
798
584
837
690
663
841
592
646
588
837
663
894
512
766
752
553
862
797
628
860
690
559
525
880
604
877
711
590
749
728
815
894
587
853
815
620
610
579
896
705
652
898
822
823
515
887
705
723
819
735
816
893
636
893
812
737
696
833
551
704
670
837
875
551
723
745
686
635
809
815
704
886
679
693
820
797
882
789
697
726
860
503
513
651
612
652
875
549
748
576
846
528
872
897
573
561
843
833
833
668
787
846
618
753
715
884
657
790
870
700
870
744
648
669
608
800
553
632
637
606
827
882
668
574
881
775
864
853
588
585
787
841
748
809
625
626
847
783
607
857
515
855
725
707
560
867
692
816
796
686
854
664
638
850
824
576
805
821
823
501
575
662
654
791
604
679
619
527
828
820
549
720
625
506
770
686
691
890
889
840
567
651
836
853
653
588
768
814
847
701
623
737
509
653
850
751
736
570
544
718
570
650
889
633
528
794
825
748
688
888
770
772
614
759
763
713
597
793
653
882
749
786
717
555
771
520
676
529
809
860
552
595
596
657
552
591
641
755
728
885
847
631
834
827
593
547
721
589
891
745
553
751
821
720
813
604
844
794
802
554
715
609
703
838
808
634
611
582
888
863
664
659
659
766
828
793
600
748
544
513
775
659
593
646
802
771
683
703
823
544
555
894
713
581
582
593
675
680
730
802
600
845
782
706
582
805
736
793
550
505
717
671
837
659
644
610
813
539
728
815
628
618
706
623
640
874
704
786
542
617
633
632
789
722
865
746
685
705
530
802
512
870
520
584
630
880
783
691
628
890
505
562
656
846
853
873
804
774
815
723
574
577
860
560
896
805
780
571
898
653
809
521
730
789
771
641
636
516
727
591
738
582
568
577
636
562
819
814
681
818
533
831
691
543
723
637
763
588
873
551
556
781
611
622
543
862
528
891
537
652
827
681
861
520
662
602
754
861
799
625
533
712
677
622
613
668
665
812
614
665
551
722
596
731
573
707
764
551
548
718
789
809
760
835
889
897
874
777
758
730
661
620
590
770
858
807
829
742
726
782
622
707
625
549
734
809
664
810
711
735
612
714
550
765
836
662
544
719
686
656
836
696
590
749
799
686
900
641
569
741
885
839
668
897
746
528
538
869
704
876
673
509
857
786
877
510
648
530
727
710
508
893
504
537
578
803
742
629
650
682
544
648
773
744
522
505
562
658
877
744
806
513
529
740
810
500
636
774
605
563
812
747
896
593
579
744
726
812
710
527
510
510
657
779
830
685
588
900
544
745
710
574
539
723
556
623
781
531
688
628
823
861
538
807
754
855
726
771
738
810
502
733
556
677
726
514
867
524
834
521
834
604
503
652
580
706
643
644
836
667
524
644
650
524
685
570
653
886
890
537
898
503
809
840
686
851
573
572
877
524
684
686
819
560
775
754
831
618
841
622
838
583
729
863
828
600
774
708
898
555
842
762
839
870
887
866
751
579
867
851
810
749
572
879
689
566
548
869
633
758
779
873
733
883
846
530
530
727
675
674
631
888
839
589
725
779
655
569
747
871
567
899
712
694
677
828
601
760
821
874
752
771
794
778
568
521
696
563
603
544
875
823
726
770
536
853
705
690
839
720
565
832
670
866
831
760
741
721
894
666
702
589
635
646
887
684
885
619
667
888
567
628
707
698
705
664
676
890
839
767
774
838
771
759
758
562
738
534
722
591
880
620
562
753
743
560
669
532
644
795
585
534
522
545
801
540
836
658
582
653
767
520
882
691
684
758
717
520
617
634
691
733
689
626
659
602
844
502
548
763
835
793
861
548
553
854
668
608
572
892
757
882
700
512
523
765
572
724
555
812
536
806
623
770
759
522
857
760
824
587
877
858
606
611
762
604
883
806
820
813
795
816
756
606
548
697
842
897
542
631
647
532
538
803
868
661
527
738
506
863
514
871
608
533
822
838
553
615
544
888
604
615
517
605
533
621
514
602
663
694
617
568
825
791
675
564
583
795
527
550
525
731
692
669
839
748
789
825
786
685
774
577
853
820
596
534
666
869
678
654
756
650
597
772
855
880
662
641
753
606
563
838
649
645
521
811
509
622
767
806
878
635
756
617
510
576
672
707
708
589
817
689
606
823
521
740
564
525
740
539
552
796
753
808
861
540
866
659
778
886
687
625
867
600
623
785
861
816
502
512
593
588
562
641
742
640
597
675
510
788
619
618
759
562
877
526
773
779
743
535
848
604
699
707
851
599
590
881
807
886
685
626
690
779
659
892
690
710
879
748
772
550
577
785
743
562
799
616
657
895
728
871
500
886
871
776
786
710
835
754
618
773
591
738
899
617
737
801
730
607
728
565
884
585
872
685
705
585
637
624
810
829
841
602
637
682
752
900
642
511
682
629
553
817
601
500
570
509
867
808
728
566
564
809
511
844
576
861
872
657
502
887
793
780
886
813
658
658
691
597
737
809
726
562
829
633
860
850
820
827
789
871
526
637
631
550
644
888
639
560
895
515
735
846
792
726
749
548
576
888
668
711
816
696
604
657
592
571
847
672
787
828
745
648
530
519
753
593
568
647
501
719
855
603
779
667
570
580
779
764
818
824
830
727
620
554
553
652
794
529
780
579
731
884
879
752
535
594
878
856
613
791
564
683
618
705
691
740
522
533
523
601
600
594
639
673
814
683
704
602
566
874
890
665
765
679
759
610
764
810
575
731
652
781
581
767
863
865
688
835
565
542
691
636
639
854
768
500
603
879
651
897
791
628
750
502
831
821
511
842
859
739
735
777
754
763
835
573
814
544
897
858
877
633
776
839
834
713
556
598
691
840
753
715
660
860
779
851
855
568
580
578
612
841
594
640
799
609
572
569
774
781
860
853
686
830
572
770
860
639
895
724
653
759
681
785
696
871
814
772
781
573
810
676
730
810
657
780
710
539
874
653
649
885
729
793
556
511
778
708
642
785
568
754
512
538
528
745
748
526
893
781
873
602
857
771
746
614
677
521
731
721
512
668
822
822
626
595
699
802
565
520
840
789
745
863
707
852
768
835
712
717
715
759
809
523
750
566
741
620
768
727
885
581
560
811
747
637
754
625
573
614
844
735
886
555
517
776
537
637
513
857
664
521
790
823
689
510
660
702
804
667
720
677
839
652
717
511
501
543
538
688
593
614
596
843
742
712
591
718
865
502
599
728
550
790
873
674
845
729
862
754
774
829
637
883
782
779
517
746
777
735
584
511
876
634
771
617
860
704
739
510
803
807
883
665
880
850
699
754
805
701
573
625
873
819
686
704
546
868
553
673
816
758
772
650
587
581
845
640
719
770
785
656
644
715
794
669
683
652
679
639
883
711
666
870
675
869
660
821
591
518
881
666
888
636
608
851
532
539
596
563
659
739
666
701
719
882
715
825
797
856
668
558
689
668
600
640
785
727
646
880
808
658
771
855
779
748
688
703
635
793
586
853
558
889
662
505
853
723
624
578
810
691
619
571
528
586
884
557
577
613
569
800
779
800
704
512
563
543
598
658
721
502
797
810
666
818
707
831
720
820
630
662
864
756
873
575
752
557
614
623
881
617
862
822
641
720
779
737
711
899
633
853
680
560
722
702
585
521
556
688
538
788
785
741
897
643
725
809
546
555
867
833
793
519
594
776
800
895
809
533
633
899
503
862
701
887
668
711
568
549
776
878
558
668
553
839
841
768
720
504
800
547
582
843
772
679
682
895
824
542
538
508
660
555
861
755
560
645
669
734
633
771
866
866
643
521
621
872
843
511
663
540
578
589
565
646
782
667
853
542
815
542
757
851
795
860
621
545
610
728
834
890
608
592
580
813
854
754
898
744
757
607
624
553
640
771
676
754
624
584
682
564
697
733
749
674
826
761
645
697
524
621
767
633
884
619
645
643
706
511
558
567
874
578
805
585
797
836
712
788
766
853
533
553
782
794
670
636
775
835
702
801
799
812
859
755
671
762
900
675
840
892
531
811
798
509
890
532
507
833
578
789
857
824
674
658
785
567
710
703
767
641
811
813
719
776
603
899
765
590
535
764
623
881
826
595
676
538
736
812
728
635
694
592
840
790
728
506
562
666
808
859
612
808
761
866
720
622
704
737
875
668
694
562
666
695
776
513
864
767
753
667
831
809
652
816
744
545
611
635
821
677
820
567
601
605
603
729
661
702
771
613
846
514
793
815
895
507
704
589
606
772
702
856
576
893
823
831
811
639
753
869
552
521
900
882
558
654
656
618
634
726
663
706
785
825
867
854
749
840
714
800
627
648
662
586
822
842
785
873
859
785
514
755
758
665
687
845
672
826
677
827
802
877
625
796
573
603
724
646
624
758
571
518
579
624
625
582
648
551
713
536
519
734
604
731
528
605
892
845
506
815
899
796
573
871
632
887
656
815
504
744
822
726
630
675
553
607
852
599
719
662
866
707
791
809
778
539
684
541
734
569
784
736
839
844
899
572
595
695
841
657
640
848
875
517
687
765
717
650
685
537
855
737
629
758
545
837
708
809
509
807
737
836
799
551
540
843
661
767
846
806
547
625
674
580
772
663
664
659
505
671
797
768
530
581
848
697
597
534
842
510
690
596
843
505
745
599
850
883
619
712
733
568
699
540
794
859
684
579
845
584
514
731
526
648
763
613
614
801
596
683
824
759
772
612
661
644
699
756
870
684
734
674
873
734
615
872
656
716
571
710
692
815
679
683
831
832
611
759
815
687
598
833
527
527
690
564
874
602
681
632
787
861
707
646
875
884
793
728
708
541
821
602
702
864
660
821
834
850
563
573
830
896
725
823
606
868
685
888
767
854
730
540
599
831
893
683
564
847
625
698
722
567
604
528
640
657
715
588
591
634
628
619
610
865
562
887
629
884
715
540
650
539
728
595
666
685
541
649
812
740
730
640
520
688
539
724
588
754
889
819
690
812
575
565
653
533
832
828
776
755
811
678
730
666
701
544
513
564
562
839
797
835
693
697
859
880
890
692
695
554
769
616
795
634
686
803
500
815
601
719
624
842
685
813
862
727
581
693
658
852
580
618
644
558
631
551
686
548
803
849
758
643
563
562
861
855
766
604
523
634
681
520
644
899
837
833
735
627
665
638
806
674
894
574
723
759
605
604
887
552
616
748
720
841
826
595
540
861
687
742
810
713
607
628
819
537
542
864
511
574
701
731
753
877
746
668
721
726
847
736
682
697
893
684
668
842
863
656
789
560
558
512
582
879
511
877
659
531
663
679
653
605
738
702
665
646
654
634
752
782
568
676
768
695
593
657
600
691
718
641
768
840
605
524
858
893
638
505
512
539
897
592
683
600
817
673
614
504
601
599
674
708
661
861
762
868
505
839
827
871
706
726
599
723
547
731
523
740
798
717
570
667
651
568
586
513
856
510
806
692
571
842
593
647
549
802
681
882
728
682
786
714
588
857
676
704
865
564
740
569
758
714
858
857
597
500
774
680
625
705
770
855
576
639
508
899
689
728
580
860
652
669
590
725
713
632
557
526
644
827
521
520
664
645
760
736
614
632
884
555
726
770
677
587
509
608
600
659
873
592
534
779
873
589
573
612
694
653
680
775
891
801
750
795
811
819
767
570
810
627
712
822
613
684
642
811
658
663
548
738
567
702
767
545
534
504
592
541
706
713
609
825
580
870
894
659
883
510
751
809
633
531
690
558
818
785
516
550
852
851
629
600
886
764
624
835
899
554
652
744
521
719
842
746
680
618
886
586
501
858
603
664
845
884
620
704
546
825
551
602
855
681
669
604
590
866
834
757
668
869
585
619
871
850
830
720
500
675
533
892
512
844
580
683
859
705
705
845
533
522
691
891
590
876
650
618
835
663
710
535
790
697
702
888
806
515
528
548
816
804
685
525
581
610
843
672
525
640
655
565
564
828
803
861
569
843
569
720
831
748
778
601
830
747
513
555
624
702
823
735
621
642
895
738
892
591
748
676
765
824
595
558
838
503
784
717
787
828
730
825
570
891
785
736
666
557
590
775
528
792
616
505
643
516
865
596
883
754
796
572
798
545
798
772
869
596
874
627
515
619
542
676
772
566
674
733
757
758
719
599
656
565
538
854
809
733
872
534
760
786
806
806
761
762
876
787
654
855
872
882
690
746
652
873
748
744
695
889
573
684
727
716
532
610
772
756
601
769
729
833
527
686
550
675
600
817
887
590
833
565
876
528
834
603
754
608
780
518
671
559
664
574
623
746
593
555
803
612
713
880
679
761
674
804
797
682
809
622
702
791
831
577
589
541
755
823
666
589
761
844
661
874
654
547
678
541
564
888
720
625
562
583
827
506
683
686
572
695
848
815
535
794
765
740
780
873
827
672
892
637
866
570
841
727
655
503
676
887
898
679
648
518
745
673
831
807
690
603
582
692
856
716
765
797
732
614
594
747
623
723
870
754
602
780
690
708
814
546
842
633
562
789
670
794
759
546
610
858
742
529
849
519
511
546
516
578
813
823
623
560
502
844
672
543
693
539
671
705
598
851
776
598
579
784
717
719
680
708
546
640
514
586
719
793
863
734
574
796
824
693
661
512
633
731
862
596
657
729
615
546
869
888
653
841
596
674
671
518
811
749
568
877
654
882
537
807
532
559
514
761
886
702
773
627
802
789
783
817
615
511
501
657
781
747
688
650
787
591
766
871
819
782
659
884
881
707
743
847
562
518
664
592
894
594
830
859
564
828
666
739
621
622
818
517
685
590
881
868
801
816
822
880
524
584
887
653
530
718
500
543
616
533
609
604
721
589
864
520
819
687
536
865
653
504
535
653
867
641
824
530
814
526
796
782
530
727
758
542
514
682
765
743
836
541
753
888
637
881
595
509
779
752
549
847
848
614
883
860
543
818
562
754
650
653
658
805
883
581
724
796
585
660
736
726
774
600
828
519
744
602
650
767
547
724
870
622
635
511
520
603
696
507
879
640
738
660
607
784
532
515
810
578
659
570
852
732
561
822
622
741
873
650
699
666
754
889
872
532
758
712
646
503
854
846
784
880
659
520
643
869
856
707
852
771
654
550
738
634
758
793
671
777
694
823
659
780
662
581
784
661
867
542
730
679
538
755
802
768
524
712
763
630
636
623
564
662
781
679
550
674
732
809
533
775
761
574
559
564
682
868
812
732
509
651
844
727
577
718
625
846
851
872
681
632
871
641
566
612
525
563
610
665
552
872
558
867
725
868
831
799
553
627
589
839
582
861
596
659
832
708
646
859
512
659
821
833
866
666
817
857
785
734
608
597
507
601
773
894
885
548
626
894
744
704
682
835
662
757
745
665
635
812
536
841
631
633
690
761
669
714
897
591
827
527
867
590
828
642
677
572
701
851
796
746
849
638
586
594
874
712
506
672
837
645
648
677
580
747
642
609
525
708
642
705
735
837
636
670
749
677
794
862
891
574
782
833
551
808
556
760
655
650
822
596
527
794
848
531
736
746
785
852
760
641
837
657
818
678
745
722
588
900
852
749
886
880
580
615
804
502
649
523
546
616
813
889
799
513
686
691
528
683
774
866
723
561
635
883
695
668
601
735
670
509
765
600
860
526
663
891
570
757
680
718
650
610
795
858
717
673
705
758
878
697
646
655
876
889
847
895
859
622
541
859
629
541
761
550
734
512
774
511
628
736
636
785
881
604
555
611
559
801
746
629
605
855
755
527
850
756
566
772
674
551
862
612
840
847
507
884
642
577
593
579
855
734
537
843
573
582
788
527
857
650
597
544
565
720
704
547
544
776
769
746
698
887
557
649
560
764
525
534
539
706
517
833
785
723
726
514
852
817
806
630
598
843
656
710
700
830
850
837
866
850
567
514
887
575
723
685
556
652
564
539
571
556
895
726
829
707
831
556
894
891
789
635
775
756
556
717
616
516
831
720
534
840
559
746
647
698
675
795
506
857
839
684
623
835
610
635
600
771
674
589
540
620
570
558
770
887
748
638
540
542
505
589
792
760
702
787
708
776
593
607
876
502
897
688
899
806
685
885
639
877
695
736
849
626
787
561
595
595
632
673
825
742
827
874
591
548
526
601
674
691
545
863
583
595
585
739
617
894
628
848
592
717
850
546
668
523
753
586
788
541
633
672
775
610
648
801
528
620
641
833
678
881
624
660
812
861
732
741
659
500
580
819
868
529
716
794
724
773
599
660
805
685
636
771
890
659
581
640
667
622
663
600
562
616
517
737
668
679
505
770
574
860
871
733
691
592
837
616
528
724
502
875
672
674
684
732
790
898
844
860
896
747
861
542
603
635
605
818
626
821
792
823
752
793
773
689
506
775
795
822
658
755
615
856
796
601
699
809
737
738
534
616
603
630
722
632
760
761
663
819
830
863
601
662
574
505
537
763
787
761
739
841
813
783
831
718
682
757
658
564
651
714
686
510
821
753
819
578
687
533
772
673
797
670
637
662
659
623
805
676
712
761
800
771
570
515
810
673
581
755
859
549
513
780
625
747
558
695
767
619
652
640
675
652
815
707
574
781
540
780
607
885
776
708
702
827
878
569
592
764
567
698
675
768
716
562
765
710
547
791
577
652
618
740
890
591
689
726
632
505
566
638
511
593
539
691
852
814
734
746
843
590
626
855
899
573
645
725
673
879
899
604
674
555
500
791
863
742
836
715
526
669
649
751
736
740
693
873
531
809
861
813
793
595
763
550
899
554
509
892
832
724
797
877
667
702
552
526
801
742
879
558
508
695
566
658
827
664
845
598
816
828
801
608
707
748
681
745
712
529
887
572
837
595
877
690
749
699
676
868
512
606
814
590
616
891
815
643
847
703
885
739
812
701
693
591
500
697
748
888
502
602
775
812
683
616
769
889
542
657
797
810
723
555
681
648
724
841
873
706
691
751
629
670
619
790
761
806
758
847
888
583
829
819
720
823
577
571
838
616
514
796
676
559
874
751
540
625
852
606
610
868
864
859
637
591
558
778
504
532
830
769
823
704
889
671
830
537
555
658
506
690
656
846
899
827
646
787
504
574
674
542
822
795
636
874
728
734
813
883
811
856
633
591
881
826
632
687
528
583
532
697
769
767
850
856
533
546
593
661
651
531
541
628
771
843
847
596
711
674
778
836
720
893
519
633
794
743
728
676
886
539
875
617
720
789
712
881
844
654
721
802
698
724
803
810
789
721
583
733
520
759
623
752
578
831
789
563
683
860
662
606
686
584
836
750
782
805
544
699
581
638
641
725
519
649
665
542
563
630
682
522
643
730
657
840
537
503
717
749
616
537
765
609
768
582
601
861
733
613
876
606
732
840
659
733
699
798
787
635
773
785
686
566
761
782
692
725
632
681
879
648
681
615
523
817
884
825
743
538
658
597
601
663
562
715
791
546
607
790
738
757
897
685
626
791
636
794
778
628
743
886
635
579
758
616
851
615
535
702
802
757
646
659
532
838
513
704
676
618
736
752
612
790
528
692
899
516
732
691
892
719
829
591
778
702
709
522
838
670
833
892
732
500
598
633
757
602
873
788
640
725
831
543
837
514
546
722
717
819
842
653
684
659
707
816
510
597
573
697
719
584
702
740
826
857
530
767
669
707
642
527
795
642
671
700
564
686
883
732
699
771
684
527
854
722
866
689
615
863
538
578
717
830
807
521
755
723
719
640
868
609
795
696
825
851
538
757
558
841
701
818
731
889
610
510
715
756
846
803
632
795
899
538
600
712
742
532
881
533
703
725
637
667
681
677
808
711
688
578
550
597
570
678
654
706
787
579
625
683
701
561
728
779
676
629
587
510
749
714
805
673
611
726
876
526
657
727
658
727
529
518
512
846
765
736
563
618
779
604
541
895
832
883
857
785
883
877
567
844
607
881
600
533
891
892
670
889
863
808
820
650
657
829
896
530
667
583
673
530
741
539
758
681
725
621
774
820
774
648
850
530
624
661
883
842
536
762
527
504
525
882
500
758
500
541
734
619
627
711
692
889
826
815
748
772
699
898
547
896
769
571
584
780
832
877
550
871
513
660
867
733
871
783
668
773
761
714
880
785
749
588
662
517
766
530
899
770
668
767
784
701
680
889
753
750
688
832
585
631
870
817
841
704
722
534
879
853
680
621
826
662
821
867
581
826
848
772
828
515
714
795
602
719
658
885
702
753
649
588
697
792
762
859
801
734
554
714
738
755
770
568
667
547
631
624
680
685
735
813
553
894
680
606
734
619
756
604
711
742
885
790
645
894
693
721
855
524
769
577
884
770
728
776
835
670
660
647
897
726
830
659
760
794
734
544
851
506
716
798
668
852
826
711
528
885
608
632
684
865
804
632
740
594
703
717
844
526
549
816
658
673
743
658
697
851
500
707
588
591
708
641
508
885
800
736
622
624
618
541
786
823
574
569
681
840
761
508
808
785
508
537
889
747
883
611
591
672
540
505
678
752
621
873
717
829
646
502
885
788
843
692
540
568
881
625
858
797
730
774
635
585
503
853
691
897
548
886
695
682
674
646
617
501
588
671
701
900
515
674
865
675
824
866
645
741
543
759
737
836
841
766
547
841
808
648
848
534
895
573
691
652
772
630
896
531
669
782
686
547
556
563
736
575
794
731
858
572
548
884
840
812
868
683
502
876
805
512
833
712
898
667
749
730
895
653
798
705
750
704
892
778
719
874
753
801
651
691
749
854
880
759
697
583
507
830
817
850
697
606
861
617
892
775
751
768
506
766
579
823
679
772
755
830
778
846
746
711
839
762
653
728
533
585
621
732
692
623
854
838
578
687
814
880
706
787
892
656
665
727
802
716
619
629
630
781
677
709
594
847
837
501
621
728
675
562
898
841
577
721
761
797
817
805
527
715
883
745
617
717
873
623
691
843
648
540
885
790
610
765
619
505
862
777
846
821
500
788
741
733
756
738
756
825
867
888
781
724
612
531
507
668
550
847
618
604
900
658
745
570
512
606
552
506
679
524
712
576
653
590
794
639
858
829
899
572
892
523
841
875
708
814
806
676
711
587
857
663
811
512
700
763
527
675
859
864
542
717
548
537
700
657
656
719
815
591
506
696
631
810
693
567
896
565
505
639
848
515
699
882
683
550
589
579
790
563
717
662
574
687
658
845
620
589
812
899
624
816
560
593
600
716
645
667
879
505
671
632
691
574
598
606
606
694
522
800
574
728
641
727
542
866
588
784
685
821
707
718
771
749
587
829
703
899
838
504
878
767
769
668
872
645
694
758
645
807
551
527
887
878
519
661
515
609
807
871
664
746
677
838
686
684
774
691
876
533
898
808
518
781
813
820
688
694
590
881
546
701
646
804
778
589
851
899
843
553
522
886
849
558
551
827
802
806
732
720
511
625
790
764
830
773
749
851
545
711
583
626
551
656
757
677
548
822
502
615
502
678
844
534
696
740
666
853
618
866
670
823
860
679
764
681
552
864
501
886
857
572
740
642
697
773
898
560
800
681
596
726
641
518
767
857
698
692
585
529
501
759
642
856
548
648
627
657
846
793
525
682
588
767
565
606
612
747
788
536
529
661
628
600
682
715
734
656
708
742
861
764
606
597
809
891
767
696
619
888
780
678
879
555
854
857
841
537
836
841
721
811
885
813
519
786
862
543
827
570
604
573
762
837
650
666
629
733
831
750
833
551
788
752
888
686
656
805
638
623
854
612
650
823
882
802
766
656
790
535
725
774
813
683
885
895
879
666
761
503
534
898
725
553
832
652
657
512
693
656
846
583
535
690
820
798
699
522
616
586
892
700
864
623
615
620
877
843
869
657
607
808
632
639
861
715
530
644
752
853
685
750
853
581
510
645
655
885
885
662
500
665
511
842
650
744
801
723
738
780
617
559
524
686
631
796
785
520
506
667
585
529
545
506
520
873
538
785
683
856
590
574
890
817
626
824
722
501
847
861
546
671
712
665
741
825
639
681
522
591
671
873
673
746
690
588
601
701
696
732
880
543
564
900
589
557
613
753
819
849
736
668
591
825
551
761
835
512
751
865
886
863
866
590
810
567
623
802
616
674
829
589
816
759
671
867
685
879
838
765
527
785
761
670
568
656
531
748
536
766
722
544
513
616
684
613
817
696
554
512
518
627
679
657
733
785
814
751
890
647
655
848
696
657
629
647
728
564
527
670
750
701
873
746
672
888
748
775
545
781
839
838
742
555
561
720
779
855
518
504
618
650
899
779
785
559
710
795
767
517
700
737
878
742
878
546
715
512
682
883
620
560
762
607
673
861
686
812
591
826
627
876
777
865
685
807
623
757
611
607
707
848
559
547
826
852
630
573
739
610
873
528
720
700
780
796
515
624
768
696
745
577
869
534
749
823
799
804
547
619
584
527
778
503
712
734
844
760
626
569
831
632
826
518
561
527
526
502
527
899
761
822
640
531
892
642
677
700
526
801
663
716
677
746
658
847
570
744
558
871
857
754
516
788
529
814
789
869
725
695
820
626
625
580
895
885
501
559
817
654
639
519
587
611
831
788
722
865
584
610
672
818
786
562
800
871
796
817
568
702
598
512
519
821
541
726
691
708
667
828
609
602
751
711
632
848
813
873
740
614
832
754
857
595
895
689
845
569
501
744
748
742
778
850
765
508
768
877
865
586
548
830
900
633
729
565
659
854
804
632
805
574
771
849
683
879
599
664
800
714
502
891
674
549
549
791
697
843
736
684
586
699
534
609
502
673
648
506
803
660
715
680
875
566
643
896
868
800
501
592
561
523
874
659
749
792
882
576
556
645
565
826
533
790
752
875
671
877
508
672
879
680
863
711
722
871
604
526
866
692
505
854
560
540
790
675
821
594
664
551
558
635
667
887
746
894
836
899
743
532
523
866
555
632
670
859
547
869
631
718
857
525
756
505
594
880
543
749
592
677
663
794
753
677
539
875
828
527
694
763
686
756
627
896
536
768
708
612
768
765
615
637
685
833
577
742
681
864
691
608
796
733
674
864
805
707
567
887
863
538
590
861
702
660
627
803
553
714
584
795
731
833
632
844
737
858
877
736
725
505
590
605
574
777
626
674
746
576
730
714
524
862
742
585
854
838
786
786
806
586
522
647
873
786
836
739
748
521
501
503
855
883
888
733
879
855
865
826
734
532
572
741
725
627
769
522
605
729
720
690
665
841
556
528
846
859
756
762
597
660
895
574
899
546
819
657
555
724
688
825
847
545
586
690
632
875
840
900
573
709
593
747
636
870
637
793
825
888
645
688
603
532
850
554
762
856
595
566
604
815
721
694
703
520
879
659
609
659
695
637
571
632
680
634
553
750
772
652
719
691
770
501
510
643
892
534
813
504
864
750
593
728
879
747
873
807
570
515
607
751
696
774
760
811
874
518
781
689
739
587
728
845
523
645
819
710
593
749
874
630
558
523
726
881
899
828
573
670
662
886
875
880
510
632
782
634
788
708
623
698
810
566
688
820
813
591
824
850
643
852
759
732
598
728
789
641
730
670
544
662
526
574
574
693
625
636
615
794
831
583
824
678
533
848
656
544
568
894
817
719
604
639
595
612
651
741
763
614
659
849
836
506
676
661
756
782
571
812
832
647
536
739
878
715
659
653
740
719
768
849
760
782
846
664
704
868
789
795
601
732
543
640
589
674
596
634
500
708
596
699
543
538
711
880
578
860
607
780
575
623
734
761
665
842
537
722
742
552
732
576
527
727
548
770
732
506
534
519
579
861
885
589
677
624
507
507
816
822
592
711
877
509
845
629
684
848
606
502
851
732
526
515
589
850
557
676
866
642
621
742
646
760
817
771
631
836
844
624
620
673
768
646
624
822
727
611
529
777
732
596
630
556
558
788
585
721
574
525
626
847
877
552
730
598
703
883
529
712
799
530
721
508
581
670
687
560
691
646
559
601
731
654
614
713
796
780
627
819
763
844
856
620
799
564
773
522
520
826
806
798
712
754
562
670
821
751
690
862
780
770
542
678
875
900
775
835
834
700
734
674
547
849
636
592
689
797
697
884
627
535
709
615
543
559
582
895
788
679
502
795
867
751
791
593
808
808
620
833
791
501
633
606
703
744
833
565
833
696
663
836
737
734
554
890
522
596
558
558
845
544
654
863
646
892
875
633
897
869
528
581
539
790
848
538
641
684
647
798
520
530
665
618
687
726
679
571
604
816
727
835
525
587
788
672
790
861
896
757
877
731
857
730
885
550
679
898
630
504
791
843
840
632
839
686
712
844
533
763
662
782
629
890
647
570
565
847
821
732
792
900
763
765
728
772
516
822
690
879
678
849
631
590
760
897
786
863
830
822
569
513
809
784
650
808
761
670
692
899
667
755
500
751
538
877
555
622
565
634
831
662
802
869
578
541
856
635
561
783
808
823
808
852
719
863
777
823
612
709
655
898
725
726
818
621
526
505
763
651
843
818
662
646
754
842
671
890
889
608
879
570
781
545
642
712
602
863
658
701
617
849
778
714
771
861
531
752
866
869
643
571
869
874
716
780
811
891
881
787
614
651
721
889
833
582
812
573
871
826
729
515
502
658
661
560
708
520
565
524
546
772
786
633
509
627
507
680
712
696
725
877
651
569
709
575
786
647
670
707
744
861
860
759
812
522
502
745
841
728
523
624
583
633
591
727
703
561
505
864
879
565
689
585
608
779
899
637
890
652
570
717
844
669
618
834
684
640
716
641
585
502
743
676
841
654
580
680
667
813
521
664
586
735
755
736
894
503
550
691
831
779
877
572
871
550
779
819
667
658
516
858
874
512
890
559
535
556
655
679
635
769
803
745
874
832
801
900
898
841
611
706
806
769
544
583
687
596
866
796
696
853
736
850
817
519
749
578
749
855
731
597
865
750
806
703
622
513
690
829
694
888
850
724
508
594
656
749
527
732
658
854
795
691
729
610
506
509
683
825
900
809
878
763
603
664
673
811
857
652
783
799
643
892
525
584
740
515
625
867
686
649
625
556
798
551
781
788
752
895
509
664
541
663
855
666
551
654
755
803
842
522
580
612
661
721
521
512
782
552
808
899
684
636
890
605
572
832
770
812
815
653
809
852
514
632
667
508
786
536
837
673
553
633
771
764
786
853
684
554
877
629
668
527
864
773
700
670
795
574
565
783
755
507
843
669
785
810
604
814
661
515
754
686
728
893
596
519
832
733
604
863
682
612
862
528
710
874
562
709
512
569
685
786
562
697
817
880
541
688
670
555
616
544
843
521
806
802
755
735
751
802
621
557
790
623
863
618
706
533
637
558
778
856
866
748
745
706
601
865
715
555
831
851
863
650
795
678
776
762
828
647
646
701
873
631
754
682
814
561
789
845
538
757
820
740
852
693
854
564
518
702
865
705
628
858
506
542
802
758
697
682
830
786
597
671
693
826
829
731
595
532
528
754
868
581
608
650
826
874
585
697
668
825
816
801
675
574
698
876
712
775
578
674
596
570
544
840
546
843
763
548
610
761
579
548
865
653
886
782
677
823
737
828
791
637
793
585
730
774
618
532
757
516
802
753
847
859
647
687
668
656
785
657
756
582
837
770
790
655
531
871
887
605
701
826
689
805
843
517
506
634
612
829
753
887
673
821
806
839
622
642
550
892
637
874
561
831
824
617
544
589
564
573
663
866
779
632
865
682
748
659
666
629
785
696
685
876
686
695
509
629
802
667
739
801
534
624
652
783
821
578
893
523
777
679
725
620
522
668
805
814
536
855
602
806
798
675
715
542
503
766
672
665
557
879
572
707
752
796
800
758
897
884
631
745
856
542
811
556
729
577
627
794
767
890
889
546
665
731
588
816
797
596
830
688
575
586
705
674
559
879
572
874
514
639
815
546
859
599
849
868
782
567
537
825
827
853
572
728
698
530
659
658
850
707
807
567
745
877
586
550
618
823
870
502
662
898
687
647
846
506
882
897
666
661
628
861
746
605
685
568
846
536
524
698
796
607
820
859
764
856
721
722
542
564
629
763
761
876
577
529
648
889
890
819
794
846
549
847
755
614
534
818
693
791
606
693
660
758
579
537
739
566
821
816
821
818
670
764
523
696
861
527
505
701
507
524
685
758
701
537
771
684
835
781
893
505
696
537
524
556
896
581
730
849
515
585
689
513
721
818
539
787
736
526
680
649
868
703
625
644
713
780
742
699
796
700
704
714
552
697
876
500
881
804
734
634
662
658
788
520
854
764
779
875
797
502
556
876
705
839
762
836
849
813
555
512
882
592
537
676
628
751
671
550
530
540
618
824
835
886
525
854
855
773
605
892
713
594
681
588
837
605
684
502
844
851
585
843
687
717
677
552
806
557
675
800
696
637
574
795
744
551
758
786
847
664
632
806
696
839
707
611
595
900
513
840
793
550
839
619
703
864
817
608
555
766
631
602
524
612
885
840
543
706
548
637
680
850
738
811
796
828
611
704
725
781
875
854
552
515
619
812
624
702
757
696
613
837
769
735
699
597
556
609
827
558
640
628
622
828
555
538
742
767
769
638
553
829
667
657
638
800
847
644
697
609
504
773
843
866
859
531
752
579
672
647
643
535
614
740
862
826
809
711
701
604
840
672
853
652
677
762
723
885
775
553
592
862
584
578
825
530
775
837
636
587
757
617
567
521
710
653
838
767
725
601
624
798
678
656
592
628
538
773
532
686
795
863
691
504
654
667
716
656
864
532
571
566
570
506
882
649
746
866
590
616
585
778
756
605
676
611
827
825
860
807
608
898
584
715
562
775
816
539
699
568
702
795
575
683
679
613
714
783
505
695
716
669
830
591
833
697
690
601
823
715
898
602
524
645
556
713
786
799
799
739
873
588
881
584
824
594
644
883
557
708
694
843
852
635
721
893
676
560
584
545
770
559
744
611
860
700
824
590
816
781
841
858
639
664
565
564
717
803
545
674
640
692
778
793
676
798
740
558
619
707
599
535
514
794
650
511
566
609
757
564
691
896
512
626
881
871
820
625
594
623
639
623
660
666
855
585
704
685
707
815
605
735
501
802
592
561
782
565
598
804
794
742
778
560
776
768
595
780
830
542
663
737
817
868
757
657
538
527
799
626
698
723
900
851
608
580
570
617
527
777
636
688
574
825
678
569
694
699
684
679
847
881
688
689
624
577
815
646
807
635
522
545
542
889
670
766
793
593
533
886
573
512
632
879
631
691
614
837
865
877
808
583
860
749
599
784
900
545
886
546
551
690
851
749
544
713
797
612
521
572
782
815
737
686
719
700
860
630
741
897
525
699
588
780
679
671
788
522
899
755
535
691
686
577
726
655
801
649
806
721
525
626
523
661
549
746
556
869
744
503
576
770
712
546
685
623
775
857
741
749
784
556
719
791
543
745
844
754
632
726
747
858
587
581
788
775
659
642
861
566
539
719
731
690
756
580
627
709
637
644
590
617
697
672
814
635
887
754
825
569
539
633
801
828
876
699
692
820
680
853
637
604
595
792
781
877
860
713
521
557
866
592
502
871
585
681
508
582
565
668
685
511
650
582
668
801
718
571
557
750
889
552
846
712
602
530
552
697
601
728
778
878
694
565
559
799
764
720
897
795
767
557
834
533
504
797
510
599
878
576
748
631
775
856
768
510
814
721
501
869
633
737
733
660
801
740
835
682
618
807
725
558
684
607
679
771
827
623
819
568
735
818
786
529
812
597
776
638
805
562
896
838
879
616
726
673
885
702
816
821
642
856
859
877
798
554
617
663
566
859
528
708
524
819
701
798
667
798
529
819
814
834
641
693
772
772
727
592
881
787
854
507
582
848
779
756
825
742
826
712
686
835
856
570
709
618
751
602
732
544
820
869
608
885
544
612
524
711
655
664
756
623
502
511
670
707
862
542
787
581
753
536
631
614
836
680
728
785
872
801
644
882
678
534
709
556
540
721
507
699
781
855
619
660
808
745
707
704
583
814
694
696
709
573
654
568
621
588
742
586
628
763
587
546
725
559
709
594
800
753
759
637
731
674
517
690
622
552
773
730
556
697
535
613
826
577
656
538
729
665
662
573
611
846
581
715
823
552
804
789
776
534
550
608
563
618
565
561
737
826
766
864
605
858
889
660
853
737
867
773
853
729
538
821
667
640
833
803
551
643
744
781
585
859
762
876
631
638
783
537
833
564
711
696
865
520
849
570
664
504
611
843
819
501
547
614
808
728
536
746
638
621
766
616
833
595
889
733
867
655
884
598
806
570
741
563
517
784
727
577
780
649
537
875
576
625
841
669
833
554
711
739
636
557
857
702
507
829
737
863
817
637
593
560
632
854
883
834
851
838
526
782
739
536
813
681
897
681
537
817
788
792
668
526
762
899
691
895
813
524
889
740
677
808
862
534
795
520
732
675
822
595
786
736
539
858
520
555
610
682
636
589
899
671
612
846
687
885
549
678
501
894
513
740
854
790
500
710
655
741
783
751
708
623
750
582
590
641
602
791
595
783
725
650
638
623
555
655
631
695
651
771
700
867
637
623
639
546
689
593
550
711
531
629
605
829
624
885
658
617
578
570
678
561
612
687
826
616
846
610
677
742
784
597
896
781
682
735
845
790
657
555
608
838
602
727
636
537
659
708
768
814
834
865
771
806
789
897
695
769
780
699
592
665
663
510
504
786
509
695
858
882
612
755
838
730
577
503
869
878
727
514
853
728
711
815
530
672
552
719
789
531
691
607
708
507
652
734
610
749
826
638
849
608
778
800
821
529
665
821
623
727
563
718
657
636
510
549
853
714
764
524
803
608
559
846
530
697
753
661
596
570
742
557
839
627
807
799
884
878
723
545
656
704
581
701
839
636
801
754
740
853
824
689
732
751
760
507
509
563
883
694
844
788
763
624
665
691
866
662
690
590
579
786
872
801
612
836
678
739
708
825
807
726
834
602
569
724
896
565
650
803
653
560
679
629
665
751
597
544
580
549
739
752
557
883
548
515
608
768
543
775
517
892
641
682
877
721
558
628
528
775
617
883
785
586
886
807
540
560
709
871
818
719
507
778
893
539
593
726
550
594
652
766
731
627
828
610
538
845
706
854
525
628
643
520
687
585
828
656
618
761
616
788
715
560
639
573
600
603
592
521
501
698
515
715
829
845
584
799
738
637
772
773
614
878
796
687
843
804
803
765
840
891
812
610
807
801
691
876
875
743
540
663
689
862
657
690
508
623
844
896
522
678
848
640
636
617
617
710
589
585
900
841
595
598
807
718
686
890
858
868
835
858
548
838
695
859
570
509
575
644
884
597
825
563
696
843
623
870
849
640
544
864
653
619
591
842
831
769
846
508
872
631
771
722
760
563
743
900
685
746
552
550
790
849
659
792
734
680
782
778
504
838
592
618
837
713
803
536
734
829
723
580
610
700
534
501
691
682
651
708
516
788
621
874
624
784
843
628
513
556
713
645
858
743
710
858
718
613
531
885
615
747
768
713
655
758
851
719
538
758
845
833
609
510
636
758
508
694
776
739
718
890
778
607
770
690
683
501
898
898
800
664
546
697
559
808
898
687
854
763
898
821
549
892
560
581
519
681
826
813
783
740
745
635
803
610
754
748
543
729
710
615
896
743
844
560
809
559
621
665
776
620
786
736
733
842
771
560
766
634
571
518
562
773
645
841
748
847
869
603
668
665
633
681
571
549
889
838
500
890
878
861
855
890
756
824
773
521
856
792
872
539
569
894
786
806
517
744
745
570
598
845
694
841
649
885
609
574
771
528
719
506
848
566
637
508
547
553
586
591
533
769
615
789
583
717
658
612
898
659
763
687
582
741
570
585
656
896
799
756
635
858
864
771
812
524
707
639
503
806
894
735
668
584
768
645
831
637
854
890
706
856
791
813
813
827
635
810
850
847
691
842
599
764
709
803
740
791
629
682
687
859
589
571
706
655
503
700
772
897
767
677
630
831
621
601
641
880
797
797
737
669
896
606
722
605
629
897
550
850
666
705
560
565
784
787
897
612
520
583
780
677
845
655
878
801
787
700
536
744
806
879
709
785
730
757
577
887
776
554
533
582
735
766
882
863
686
892
544
525
532
644
846
632
600
514
854
785
717
619
754
807
894
766
627
808
760
813
587
595
594
879
856
864
571
578
584
725
573
890
749
855
697
808
688
793
682
650
667
818
767
520
756
592
860
554
789
876
681
574
620
846
522
790
668
898
649
616
666
803
522
760
588
736
729
814
598
766
887
782
609
638
799
706
658
557
776
589
784
640
708
641
604
599
595
518
736
708
713
590
588
624
777
860
667
870
815
867
739
705
503
773
900
597
572
623
659
623
715
550
748
758
693
899
714
713
602
508
843
818
797
655
854
660
658
717
547
689
596
695
734
751
737
626
815
529
763
738
797
842
858
779
758
716
684
568
520
704
521
878
895
743
786
876
861
836
602
577
825
560
503
576
620
761
777
731
548
571
500
702
546
550
705
765
524
507
642
665
583
721
723
841
568
849
869
789
893
622
804
787
512
595
767
620
846
810
821
661
614
599
745
864
886
857
705
724
554
785
805
594
662
710
854
545
620
614
829
629
527
526
505
524
582
529
785
587
844
616
802
747
504
662
888
686
742
766
589
863
881
508
712
623
654
896
584
814
516
591
508
894
837
683
825
590
520
700
815
784
636
688
807
822
692
533
765
763
752
850
837
608
887
833
552
779
767
716
519
711
820
813
615
696
575
713
695
552
582
593
572
657
623
534
508
890
775
838
729
670
646
780
701
843
653
559
746
869
898
671
893
898
842
754
798
766
674
828
550
554
875
720
605
590
819
814
662
519
873
692
661
692
756
808
797
845
779
876
865
836
682
542
500
554
723
880
884
711
831
536
799
521
542
812
604
514
810
572
532
746
857
682
679
827
550
615
700
851
645
639
631
521
818
671
727
808
813
564
732
796
888
613
628
724
556
529
874
891
685
876
518
640
718
728
516
810
684
516
600
631
681
561
875
685
548
736
623
696
687
514
610
793
731
643
593
687
589
662
805
741
539
880
645
612
526
548
607
772
616
639
501
567
563
872
693
791
701
631
545
536
773
725
841
845
725
685
748
707
572
696
725
729
783
710
508
548
572
814
529
851
762
583
582
634
568
805
740
749
866
655
639
725
880
839
655
673
817
609
694
656
798
795
528
558
610
586
580
656
721
711
893
882
790
822
759
698
878
707
593
701
755
670
581
823
814
678
603
701
794
712
812
663
752
721
614
570
791
822
507
815
747
875
643
840
639
841
825
720
588
825
603
690
595
706
586
506
840
846
858
507
514
500
682
711
873
764
623
501
795
511
892
793
900
802
674
898
818
568
824
575
669
744
776
629
855
878
601
782
657
840
740
763
662
582
695
845
574
695
620
880
700
831
624
679
744
548
850
676
530
702
782
678
693
874
752
800
872
594
614
641
614
792
559
630
891
786
539
555
860
821
742
588
845
875
761
757
531
791
506
820
580
897
629
893
727
514
887
870
637
816
594
784
683
735
611
526
559
587
772
711
554
746
762
735
781
726
834
732
816
832
857
656
678
781
749
659
522
785
696
566
710
563
813
543
886
595
848
579
646
727
799
646
665
628
572
581
887
829
669
895
501
680
872
710
762
595
772
664
824
773
758
750
502
836
732
713
884
515
590
886
520
828
640
506
557
588
802
605
548
791
531
769
578
677
506
806
518
564
880
830
519
731
775
738
554
887
627
592
585
789
730
578
699
840
541
539
757
697
511
547
563
811
876
850
799
549
815
540
616
633
824
787
820
634
511
623
651
791
827
587
633
572
852
858
630
773
898
597
757
518
601
564
703
625
755
728
731
868
857
797
813
853
527
570
735
507
760
778
662
666
576
822
653
623
879
607
718
837
687
849
764
564
727
776
762
732
553
519
561
712
752
652
873
595
770
660
561
721
613
532
734
548
850
689
772
850
873
717
784
750
605
523
795
895
775
656
884
694
502
852
885
882
598
840
673
711
847
854
634
704
663
567
687
884
833
756
670
754
755
602
596
724
673
567
814
807
810
697
782
857
662
873
828
765
509
642
725
847
876
762
598
500
754
597
826
826
872
511
625
608
824
798
808
813
558
765
680
893
761
888
683
684
503
865
804
821
562
849
657
571
820
514
863
710
831
682
888
549
719
557
818
797
711
791
563
721
864
645
696
597
790
567
576
656
742
613
610
723
767
539
782
586
765
822
750
866
813
651
561
826
627
533
831
896
702
804
555
615
809
585
519
780
598
655
881
647
698
691
664
607
779
659
517
518
766
610
598
812
708
693
811
685
644
574
832
882
825
716
529
846
846
875
884
900
535
708
802
841
636
615
807
825
814
696
691
898
597
666
639
724
781
740
527
687
844
709
773
653
768
792
682
598
852
805
885
756
834
808
668
527
827
817
875
504
642
696
839
850
738
604
797
718
851
591
676
854
889
513
710
761
634
682
649
752
862
570
596
625
614
783
734
631
558
522
578
641
566
534
636
789
810
663
877
788
839
792
564
873
820
565
852
775
767
856
841
675
526
563
863
510
881
843
541
854
688
900
768
644
635
545
882
687
778
815
509
563
887
876
524
750
527
798
893
591
574
613
543
847
770
529
769
759
655
866
612
605
882
579
517
858
682
602
503
518
839
613
725
592
526
754
601
599
898
861
633
682
577
579
621
675
744
777
731
637
729
651
541
621
783
861
790
699
621
893
632
871
529
750
615
793
753
733
527
725
877
538
705
678
867
778
778
804
634
698
558
768
670
809
512
675
653
854
702
518
567
709
715
702
534
779
611
548
726
666
839
667
665
708
753
822
857
832
863
663
732
516
542
868
745
739
740
527
858
868
758
767
805
740
674
596
605
892
677
826
577
768
731
534
789
861
621
651
620
869
664
673
532
899
794
890
545
835
823
615
738
821
594
567
501
848
633
689
743
865
521
559
803
838
853
820
602
722
745
687
691
776
641
878
628
837
640
608
542
734
533
803
617
900
841
673
626
899
822
730
876
662
805
741
818
531
752
676
588
773
624
859
856
734
861
505
649
724
635
518
575
513
648
638
522
571
544
606
738
879
771
598
509
671
764
811
552
866
763
579
509
575
619
716
578
698
863
561
788
612
516
748
715
886
867
526
593
519
742
596
782
898
687
864
823
848
510
702
894
612
820
546
577
859
620
542
854
622
705
569
583
759
726
537
689
810
742
646
841
832
827
842
888
844
870
573
782
656
808
513
526
742
532
869
623
767
871
735
705
892
719
865
559
594
713
800
897
900
626
789
697
559
813
596
578
524
726
826
878
745
552
717
814
651
576
747
869
596
633
693
844
650
698
817
828
736
860
820
686
780
622
616
614
522
694
751
525
789
867
819
585
816
600
757
820
834
818
800
842
586
563
790
655
795
657
583
608
575
848
846
793
649
559
523
899
530
817
842
565
755
848
784
764
677
706
876
773
786
582
643
700
900
689
651
900
562
700
559
599
766
838
877
696
653
611
598
565
586
572
790
866
671
514
830
647
557
810
840
715
829
699
842
731
607
819
799
776
626
720
604
533
844
670
788
675
831
626
520
773
874
801
808
845
791
855
894
784
700
556
738
532
769
625
638
824
616
865
753
690
665
541
663
784
810
657
868
878
693
880
781
578
780
812
560
500
847
807
532
731
828
635
813
889
599
670
629
579
628
675
732
730
539
509
810
847
627
875
891
548
876
628
691
820
819
848
759
830
895
568
856
711
690
806
625
538
650
749
890
514
516
634
783
827
611
669
544
565
689
835
574
528
835
573
833
574
592
654
881
798
807
792
740
743
703
604
571
896
869
884
566
787
691
859
505
663
799
814
623
820
504
610
556
801
594
528
826
805
841
501
686
614
795
874
690
879
878
874
546
693
854
576
566
798
754
738
638
560
627
713
766
517
611
671
610
612
613
640
797
856
838
835
864
540
808
534
644
789
763
793
752
737
745
627
536
717
666
587
610
621
727
767
566
786
843
624
519
739
739
857
870
547
507
773
671
759
522
539
502
681
573
574
867
853
812
883
851
655
723
846
732
679
853
553
710
739
509
672
849
737
606
582
709
527
739
662
898
663
503
544
511
861
697
706
580
661
567
827
717
816
895
529
654
751
696
833
791
686
659
630
665
682
777
563
713
679
898
719
856
561
662
720
630
617
660
707
817
641
628
734
513
500
533
665
786
533
568
781
804
710
735
685
769
701
827
508
550
806
650
502
857
749
892
688
529
601
760
768
704
507
783
590
776
669
720
505
807
562
565
722
731
590
821
766
571
705
748
814
833
875
829
537
649
564
514
846
501
574
891
657
582
650
704
603
567
598
640
842
718
679
595
567
894
863
739
639
680
644
900
648
855
720
844
887
897
803
634
619
690
616
758
608
869
601
775
799
867
561
548
750
618
719
548
549
676
891
848
609
852
675
861
720
726
727
561
633
748
578
591
534
581
530
560
767
714
664
846
827
722
788
860
835
608
591
793
532
714
880
707
686
781
589
643
862
800
871
764
670
518
880
606
568
884
641
668
642
819
884
761
618
536
534
883
697
837
698
864
868
666
767
672
577
566
752
776
633
745
639
840
714
660
760
767
550
608
794
801
501
838
741
513
768
814
600
639
587
514
764
533
895
540
774
724
545
638
504
692
864
610
639
894
769
620
875
898
770
585
893
509
540
821
683
544
692
522
866
653
801
890
551
759
874
512
592
649
671
683
566
781
852
727
865
822
522
564
576
670
693
718
798
762
771
694
747
876
670
514
728
900
858
851
820
835
526
680
868
632
651
693
781
755
550
712
566
772
550
866
698
663
533
797
549
547
675
833
547
543
805
586
790
734
538
729
642
540
868
646
570
522
669
670
862
597
776
668
691
852
861
650
508
638
650
731
768
781
805
868
571
833
657
511
790
818
753
622
560
814
676
818
568
869
795
535
805
708
521
576
674
601
781
776
893
876
529
801
814
555
617
810
601
651
515
860
548
807
811
546
829
842
714
523
674
555
813
872
586
619
888
874
551
827
770
885
673
556
854
802
508
766
623
508
634
686
746
620
705
719
617
578
852
539
776
554
710
721
748
694
679
760
683
597
779
876
878
544
636
693
686
586
890
778
793
700
797
589
538
674
803
502
769
654
844
520
583
737
855
645
626
780
847
560
604
799
835
634
782
728
846
527
520
682
637
629
882
827
674
591
752
572
574
825
616
563
770
886
558
639
649
737
828
686
726
781
728
645
638
574
731
882
890
776
621
897
501
767
877
846
716
644
569
703
547
609
806
815
504
587
661
704
661
698
604
824
571
784
790
756
678
653
586
622
599
556
686
515
819
843
699
625
501
758
594
730
661
664
773
721
608
756
630
746
781
773
710
569
680
848
563
591
821
734
515
556
747
677
885
831
602
655
894
862
585
685
848
814
791
859
778
713
748
756
700
740
865
589
618
613
761
894
820
512
882
758
664
742
821
722
650
760
587
614
626
681
828
739
880
672
671
775
893
861
830
695
781
620
791
575
792
610
712
656
542
543
675
776
808
558
786
530
728
507
729
850
730
819
635
790
588
638
503
690
753
665
648
893
880
661
780
866
774
698
551
667
822
759
884
720
502
627
686
574
767
519
717
668
595
786
659
854
569
616
887
819
549
668
805
858
791
582
612
699
889
698
571
835
706
743
737
703
652
713
568
505
534
536
723
786
737
803
633
752
588
566
868
555
840
695
795
843
508
518
822
706
723
733
873
825
680
550
653
555
580
584
897
894
780
593
649
638
837
502
625
563
547
557
506
748
528
843
764
757
761
794
571
734
539
812
831
594
847
707
526
846
736
732
624
795
598
834
630
713
507
782
759
548
500
621
689
661
599
662
509
506
900
591
734
608
603
540
785
730
886
677
550
502
865
814
554
762
560
558
722
584
634
839
660
605
571
855
507
509
632
577
781
606
728
699
883
840
672
779
791
751
879
727
838
662
888
716
524
803
783
706
731
768
796
565
571
553
885
627
662
522
502
808
730
874
515
672
815
843
854
525
703
715
687
699
689
720
831
600
879
739
703
560
763
690
888
837
554
685
831
587
834
701
530
552
878
852
898
759
859
517
530
614
683
634
818
542
555
791
812
694
848
811
639
623
571
614
580
522
685
733
628
813
687
526
843
640
584
645
813
517
794
694
900
591
532
533
674
721
662
536
887
785
766
543
854
722
755
883
779
689
659
698
613
692
710
552
815
525
694
504
829
511
833
644
652
650
719
795
742
875
782
665
879
685
616
530
669
733
604
570
608
730
723
835
753
564
822
834
734
872
675
843
583
555
689
803
551
666
683
839
809
600
728
860
692
655
602
715
799
770
809
754
761
617
780
610
577
896
831
617
772
729
596
709
510
823
865
833
849
787
801
519
507
758
870
731
518
600
602
889
791
580
732
663
792
705
771
513
744
892
508
549
835
592
757
664
774
672
634
816
745
892
753
845
508
615
570
542
860
503
697
792
750
502
632
667
672
872
682
515
769
663
863
606
523
742
564
809
542
813
685
578
825
735
733
629
660
548
610
878
537
627
827
740
808
681
646
642
869
872
648
573
900
545
609
684
599
574
708
883
516
826
789
812
874
633
795
560
772
510
556
547
755
786
806
809
594
899
508
856
814
863
662
860
892
668
886
641
541
737
695
795
641
669
556
860
560
768
763
753
694
778
636
788
657
782
807
764
633
885
854
689
862
693
572
612
783
517
692
880
660
536
804
594
699
582
709
867
617
817
850
640
832
542
775
700
790
842
504
545
502
839
813
711
505
742
612
629
889
753
695
647
767
732
505
670
779
704
624
637
829
504
817
691
535
537
678
784
669
690
787
675
854
875
689
515
834
680
847
619
631
738
768
888
673
595
609
616
673
816
774
585
899
813
623
871
616
868
691
730
836
700
658
736
823
833
762
792
732
709
900
648
706
689
795
821
545
830
515
784
651
682
795
884
864
637
654
560
735
520
501
573
795
597
780
539
831
827
868
870
876
589
745
709
612
683
854
861
729
769
579
803
712
625
767
600
800
835
598
563
551
825
865
670
740
664
646
775
830
702
720
841
866
586
519
690
539
673
719
811
880
536
529
594
583
734
881
677
501
543
759
773
659
615
773
607
743
535
752
566
514
879
712
678
604
528
639
705
507
620
618
733
520
820
677
885
729
626
890
867
548
565
801
796
896
614
895
761
632
811
700
790
759
765
841
550
832
661
818
826
884
861
725
856
788
815
660
771
843
690
573
693
812
619
841
612
668
711
641
859
599
750
778
573
552
851
719
525
671
556
880
738
883
655
670
775
718
702
764
830
583
851
591
800
841
686
516
897
872
826
843
871
784
644
703
708
825
773
564
764
662
503
538
557
517
870
629
882
671
612
645
690
833
552
502
693
777
682
709
562
766
896
661
600
778
806
768
563
613
847
823
690
523
531
521
587
742
578
873
836
561
575
778
854
544
610
847
694
869
853
881
756
863
710
862
698
641
778
776
702
621
783
760
607
850
863
597
757
525
787
865
527
787
680
859
668
621
885
891
725
574
808
682
822
769
882
617
876
789
700
654
885
701
616
714
894
587
654
756
638
611
733
600
781
503
652
761
878
735
891
834
611
593
563
710
741
794
672
781
579
540
718
519
774
713
737
858
894
874
737
852
579
800
531
837
519
519
685
693
661
661
716
693
606
847
803
772
629
655
578
689
698
776
640
855
656
751
877
858
760
630
546
786
634
672
851
551
690
552
764
760
741
596
700
787
880
550
556
852
718
840
505
728
891
623
829
836
641
794
877
878
840
607
756
718
867
583
691
833
652
750
664
870
810
686
755
828
527
858
684
677
639
796
538
613
848
874
849
597
660
590
893
583
584
595
515
548
626
844
689
825
856
573
762
703
831
678
619
713
632
654
890
744
838
512
646
701
688
748
690
504
782
787
829
704
798
634
657
719
772
624
736
729
796
537
636
749
767
667
888
701
775
643
813
614
576
592
563
546
582
852
702
712
656
507
730
718
792
771
536
683
505
661
774
670
883
691
823
867
616
823
759
543
706
568
688
746
769
536
742
621
699
756
770
535
699
757
737
791
717
535
514
704
739
789
799
650
545
677
598
577
662
803
876
831
537
706
745
588
682
534
805
644
521
888
814
568
517
527
553
627
639
611
868
866
889
563
510
576
838
560
880
630
883
711
509
884
703
709
807
663
630
705
605
823
545
674
756
613
546
561
613
703
582
730
723
892
868
550
715
666
506
530
662
866
632
764
598
592
672
710
859
677
575
878
740
880
729
877
538
603
818
616
784
663
688
746
865
867
601
551
570
663
537
568
513
682
816
571
778
554
521
563
541
556
899
728
709
631
890
790
875
723
517
669
889
678
766
814
699
887
594
756
621
706
890
565
507
680
549
885
582
573
870
684
753
687
762
691
803
640
678
663
704
812
835
718
645
667
889
792
828
508
604
878
883
783
822
681
681
831
678
641
698
673
580
621
545
539
896
765
658
682
808
783
761
884
756
528
621
816
534
675
681
706
501
665
534
757
840
541
533
700
658
525
588
590
715
680
854
559
555
520
661
705
798
803
899
691
828
857
683
622
749
831
785
604
892
653
555
532
772
857
742
801
824
504
520
640
584
722
644
738
822
595
677
690
732
582
856
649
828
867
629
567
704
697
552
509
786
505
839
640
581
537
826
732
890
829
834
759
617
789
592
888
621
849
816
727
606
766
874
676
790
609
558
815
640
820
655
548
818
842
836
825
596
530
616
687
807
787
675
594
877
749
598
781
707
774
779
666
536
529
796
812
619
601
679
659
529
877
610
847
615
723
807
717
598
860
754
870
570
667
807
820
865
559
850
717
533
743
748
728
550
809
775
822
739
532
775
538
505
808
848
716
540
778
552
697
712
870
593
652
563
837
631
815
703
592
781
624
806
687
533
809
594
677
677
673
797
648
536
642
551
805
806
857
596
594
574
816
826
560
560
521
715
731
832
897
748
763
569
760
882
706
604
685
706
606
852
659
728
817
871
760
765
873
656
831
842
588
664
580
671
798
517
620
610
657
575
585
624
544
732
683
524
625
518
759
526
731
715
516
728
646
629
862
794
869
592
520
614
642
743
786
892
595
754
628
811
589
828
777
854
723
769
708
667
776
634
617
585
710
870
688
859
660
576
530
652
501
616
682
815
665
646
831
688
894
704
780
513
638
538
702
834
527
899
827
793
831
662
782
523
530
829
515
713
600
643
818
660
852
653
643
500
654
821
756
855
506
683
882
523
769
650
840
620
719
724
656
638
667
513
876
849
813
791
589
841
738
763
548
768
622
753
634
828
585
655
729
582
535
622
609
559
860
554
868
663
539
505
876
808
824
806
879
814
716
647
517
857
787
687
849
668
834
889
537
518
827
747
640
761
505
693
871
569
657
755
783
606
882
892
801
552
840
654
839
863
671
757
525
662
876
541
609
835
512
645
707
660
806
561
840
582
681
572
679
586
631
786
883
893
622
636
598
787
606
538
508
636
829
786
794
508
896
681
693
627
649
876
830
682
792
756
651
782
648
897
694
738
505
714
894
720
784
805
633
611
645
553
853
526
835
802
899
631
532
737
846
850
521
884
774
658
644
527
612
679
525
821
759
662
527
683
687
695
565
713
865
720
635
590
832
698
722
845
839
688
626
596
589
666
504
640
789
580
687
825
737
617
563
614
896
878
625
799
871
524
504
809
675
643
593
887
871
838
653
819
658
625
737
875
878
627
822
830
636
836
614
554
519
745
591
699
607
732
816
874
534
679
560
684
704
600
616
510
867
835
711
888
501
866
601
813
535
694
856
566
718
775
815
676
840
504
726
692
748
884
803
505
717
809
612
872
794
872
521
758
511
882
506
681
798
758
528
881
763
605
645
607
656
580
691
680
847
534
629
896
730
565
614
610
894
534
527
699
817
515
773
780
537
748
600
850
703
760
751
611
848
702
877
883
793
700
532
747
537
560
772
745
690
606
703
668
509
734
731
880
856
702
843
596
834
840
620
823
849
531
580
821
630
774
504
649
500
596
590
669
860
552
684
824
684
718
718
576
780
607
738
550
884
501
639
882
833
887
794
742
754
558
605
843
836
875
654
703
708
876
884
656
672
862
522
819
660
889
706
501
789
838
574
862
886
653
843
803
754
543
728
583
520
743
808
732
830
704
897
552
524
662
769
745
527
522
585
632
711
711
516
737
639
630
809
625
812
887
569
792
795
631
763
846
535
730
633
883
676
889
771
568
888
875
690
520
715
746
620
860
516
630
675
650
597
588
672
807
798
894
562
832
593
511
591
584
582
890
659
551
688
666
695
650
732
870
804
674
614
802
634
602
659
703
718
632
791
878
742
856
698
736
784
732
663
668
825
585
750
584
721
759
532
840
707
817
723
565
612
512
520
619
654
865
704
738
634
837
639
558
784
771
870
815
634
520
524
819
643
734
754
590
651
591
727
790
663
712
552
686
508
591
823
577
543
663
523
683
558
864
895
831
790
575
648
895
741
606
699
889
814
542
643
845
831
703
883
693
735
874
608
889
621
645
545
681
660
866
817
766
633
739
641
521
531
586
684
500
878
811
887
654
831
590
725
798
774
628
681
724
804
697
646
684
840
875
612
878
769
699
647
899
524
613
579
704
668
549
724
649
753
826
521
691
808
571
662
690
681
554
594
818
898
766
747
870
557
658
559
591
823
611
783
609
826
550
761
528
895
554
675
592
715
546
809
680
845
596
509
594
559
693
770
601
745
627
692
698
705
597
753
615
882
608
898
864
775
886
521
717
884
670
728
748
544
832
727
797
840
523
810
883
677
708
893
549
553
884
640
713
686
613
555
774
715
586
619
747
784
645
719
608
751
682
755
535
532
744
795
564
596
664
817
571
817
698
792
765
752
665
776
673
892
850
531
801
552
861
662
620
544
754
603
894
803
704
529
727
764
678
706
810
752
606
810
792
552
540
641
898
888
772
582
651
679
718
817
719
674
821
795
699
814
558
579
724
828
786
662
898
815
590
846
575
646
693
738
619
551
621
833
740
517
675
860
590
560
613
572
758
676
793
619
759
807
763
626
781
641
763
846
698
649
507
755
593
802
567
883
524
888
688
894
827
777
595
564
885
505
888
700
526
882
702
799
860
881
594
690
868
715
659
822
788
546
592
852
654
663
814
612
710
891
571
883
584
888
536
502
739
716
797
782
880
642
813
535
784
594
686
577
789
856
565
745
647
500
776
823
507
705
751
607
605
636
501
670
760
604
549
556
796
724
851
524
823
568
685
771
781
562
720
572
846
785
507
824
525
890
815
793
721
777
622
761
739
779
575
673
639
802
717
847
623
603
636
691
813
632
517
756
892
813
678
665
688
626
834
872
890
578
502
697
614
829
652
600
530
615
752
836
782
763
608
672
649
683
825
664
849
607
587
607
708
796
692
703
701
877
524
679
654
709
820
629
661
687
580
654
865
598
756
629
900
519
559
738
634
889
688
625
734
815
838
810
587
729
712
676
515
809
839
600
540
551
809
735
850
784
839
815
616
591
608
832
606
528
539
863
552
872
842
592
724
778
678
753
897
539
784
510
688
705
717
808
787
844
700
724
524
716
738
575
800
674
848
647
797
744
872
820
784
525
592
779
711
570
818
773
881
689
546
768
583
874
717
781
723
603
715
690
543
618
517
876
727
689
579
618
627
688
517
682
734
624
748
532
810
748
807
773
838
629
822
552
543
891
502
699
537
682
501
552
661
787
874
636
555
594
751
780
846
633
649
508
763
883
606
695
811
550
882
758
693
809
574
682
705
659
878
570
784
795
565
605
591
638
748
743
821
640
855
700
711
536
771
686
668
524
783
530
635
791
610
741
601
750
625
861
651
790
652
509
628
786
828
852
734
824
623
896
525
874
667
731
555
689
716
806
726
772
862
678
704
683
517
722
775
761
883
559
546
532
772
609
641
745
671
664
635
795
793
633
527
824
854
674
859
522
616
675
773
601
752
734
566
733
640
782
654
733
666
750
661
885
863
504
771
842
638
555
547
841
577
871
692
709
876
839
879
699
634
554
792
721
539
597
659
710
680
604
738
867
537
798
757
784
739
629
658
833
753
522
548
613
838
685
805
546
607
884
846
692
580
863
559
833
630
585
898
745
752
813
823
582
759
631
514
692
753
698
563
756
658
701
777
743
667
900
739
759
519
681
668
515
751
540
743
761
594
601
589
878
529
701
528
559
610
579
836
746
618
675
857
566
608
854
730
694
738
626
564
526
702
515
823
530
847
659
642
562
639
878
866
794
509
586
694
583
645
898
645
672
872
684
860
854
645
538
870
833
518
598
717
881
806
670
788
679
751
861
614
590
643
693
646
685
640
829
603
641
596
530
535
791
634
828
699
557
571
616
676
563
669
689
878
894
571
761
892
589
515
637
802
501
898
882
662
686
679
563
578
893
835
559
829
835
827
624
642
539
683
829
578
724
812
731
835
734
541
818
838
735
560
511
776
502
805
612
540
859
900
606
516
713
593
539
786
747
855
890
511
775
639
896
845
517
681
764
848
881
552
844
566
698
597
555
693
525
717
654
539
880
549
584
859
835
873
787
620
652
753
825
778
590
739
620
851
764
545
773
617
643
660
808
708
649
661
635
551
800
603
556
841
897
581
507
726
845
516
583
596
676
802
729
515
528
841
520
813
877
746
584
842
876
549
837
815
843
826
677
584
517
848
814
770
777
859
572
725
586
782
659
852
875
587
696
562
832
570
710
657
841
592
755
734
700
898
822
884
534
650
864
746
747
574
543
727
778
789
650
847
721
842
852
661
530
631
871
864
531
713
600
583
533
517
562
530
709
662
772
731
853
657
794
584
675
727
642
744
599
862
856
523
536
813
851
874
818
860
733
625
846
539
663
873
692
688
685
541
595
826
589
639
757
748
811
692
816
868
542
846
697
510
750
564
602
517
764
652
796
861
764
623
847
554
517
515
511
668
641
802
764
884
838
777
865
833
561
653
832
696
583
724
548
687
706
744
577
887
597
606
636
894
509
899
835
815
874
799
779
666
547
861
776
686
734
557
536
529
714
617
744
692
876
567
566
554
810
540
683
898
546
726
696
644
752
557
774
800
781
813
677
599
615
758
667
664
554
771
781
756
899
505
683
845
652
753
681
510
626
750
842
599
558
689
606
555
878
572
682
671
669
823
779
745
847
860
772
505
781
863
769
778
593
698
881
825
739
544
696
582
592
830
510
667
824
863
592
534
857
879
665
745
848
534
868
597
743
524
618
702
622
675
548
789
726
799
520
571
711
792
823
641
643
891
853
630
515
895
516
701
844
510
560
695
760
632
684
728
864
535
730
751
866
645
753
608
891
685
748
803
788
792
784
606
635
744
838
560
898
826
667
864
796
728
670
524
723
726
568
876
595
894
555
516
744
604
820
709
876
751
506
635
832
779
830
728
698
607
672
600
584
535
739
576
718
522
591
846
526
894
607
533
758
564
825
562
699
812
668
755
838
538
855
749
544
668
827
754
869
739
803
548
814
688
545
854
742
736
882
586
612
576
651
840
797
863
820
681
694
679
551
849
572
530
894
597
526
879
540
734
810
770
738
858
659
684
755
548
731
558
741
568
627
894
806
528
504
697
802
552
695
707
862
529
519
572
875
881
826
747
855
804
768
552
798
713
509
769
652
759
795
540
534
687
584
700
751
648
677
551
562
800
808
594
840
612
754
836
883
890
757
884
896
795
824
852
595
786
624
514
716
546
646
619
862
521
676
619
534
650
892
712
652
633
820
673
756
574
598
706
864
697
789
879
563
536
758
695
537
697
524
623
829
645
898
661
665
721
804
601
711
770
635
833
587
519
590
845
887
769
780
519
618
523
605
752
779
812
609
560
872
827
722
701
875
742
634
674
517
659
853
568
659
702
698
520
858
618
624
636
588
719
528
556
583
513
808
741
733
554
885
776
887
762
685
548
604
564
756
816
599
570
726
637
642
687
760
704
585
527
548
698
743
556
597
602
615
733
686
614
522
896
751
630
845
617
632
851
630
673
571
651
556
714
577
560
776
707
609
569
598
831
739
721
537
650
532
787
849
864
601
747
815
574
777
853
836
841
757
597
839
570
712
724
770
676
647
595
783
690
761
698
635
590
660
504
514
541
862
714
762
888
782
553
695
622
661
750
863
582
555
895
509
760
718
776
600
528
694
684
774
532
873
568
804
620
774
757
774
721
798
578
635
757
882
536
549
739
840
600
513
725
747
846
789
800
613
865
547
627
781
797
760
783
822
530
701
698
644
800
620
535
585
892
634
542
531
745
785
633
663
706
577
575
855
560
640
758
650
879
783
583
781
804
887
688
713
654
643
750
591
700
747
766
510
657
815
844
706
646
787
645
853
868
777
717
691
523
793
868
824
785
764
652
723
550
575
727
504
571
873
640
833
719
884
679
544
591
882
625
767
659
891
848
820
844
877
892
567
763
656
588
621
671
601
779
881
682
841
645
826
570
835
790
719
799
780
644
538
842
809
693
802
701
594
812
666
766
842
783
848
757
680
589
643
549
699
731
770
700
588
750
715
685
548
681
703
820
578
548
819
891
855
554
889
529
809
787
633
561
886
817
704
814
574
535
658
711
847
503
831
767
826
842
792
800
835
740
547
744
568
597
582
849
571
784
707
739
509
864
886
577
561
857
587
556
714
870
569
787
663
726
536
622
572
533
764
677
800
785
525
524
877
605
714
683
627
533
825
790
734
800
764
581
608
764
580
739
586
739
582
835
837
674
705
885
894
822
671
746
732
525
750
830
588
618
517
514
500
774
552
517
794
676
740
873
857
891
728
724
599
789
800
733
542
867
629
505
592
646
606
880
666
592
529
718
866
731
872
582
850
816
802
587
779
699
886
542
574
803
792
576
879
863
569
698
528
602
675
857
595
870
609
621
629
840
682
804
569
599
545
683
534
663
742
720
584
505
805
545
826
519
801
803
878
722
659
810
797
517
867
679
646
865
745
895
573
694
873
621
592
898
737
586
865
849
740
677
620
534
724
821
783
652
517
541
501
762
530
836
665
775
792
604
550
652
677
593
784
587
649
783
750
596
612
826
651
716
748
661
562
595
865
873
618
889
766
682
736
824
586
515
759
637
745
693
680
790
732
683
743
559
668
561
872
763
735
825
696
845
681
893
829
857
670
575
768
819
614
834
753
670
596
879
717
830
650
876
532
897
899
693
540
555
801
717
593
543
689
849
632
643
754
631
866
604
508
811
887
560
764
637
553
863
823
898
834
687
696
500
720
662
631
629
577
867
703
776
867
781
508
895
733
532
764
527
780
703
889
732
642
836
675
665
676
559
861
587
768
503
536
832
536
600
615
770
708
599
588
748
657
644
547
755
889
855
736
511
827
815
812
624
720
562
730
546
777
900
526
673
552
528
828
709
716
801
852
561
513
680
877
504
844
815
520
574
789
677
502
727
622
585
567
505
575
846
869
751
833
603
827
675
814
789
770
682
521
840
508
784
797
585
625
689
745
844
797
859
819
719
533
853
892
757
747
799
624
895
683
634
856
550
568
848
552
826
759
879
518
570
611
627
518
692
798
649
689
509
632
588
832
869
740
790
506
847
694
777
585
895
606
634
701
874
870
715
824
597
530
679
640
713
534
674
628
587
597
825
762
869
510
588
868
863
709
691
650
715
813
884
857
737
667
511
860
748
589
746
670
540
583
771
826
823
594
740
643
726
616
807
545
869
826
543
811
819
791
844
591
843
598
594
600
850
895
759
892
617
711
690
588
750
620
822
627
657
821
700
660
687
805
573
733
593
733
537
514
716
808
562
654
753
679
712
576
694
500
663
717
676
807
804
831
619
786
739
580
662
695
834
849
737
746
622
770
662
795
501
590
808
898
900
771
871
648
886
852
889
844
632
858
624
773
658
517
577
635
600
851
626
860
771
744
509
746
713
685
653
595
827
746
505
543
585
525
827
700
847
591
508
503
586
683
717
775
702
756
843
576
525
590
894
787
839
510
698
559
674
832
790
580
582
820
654
606
700
541
536
530
824
638
704
691
577
568
684
575
898
607
549
768
583
614
824
774
829
530
812
670
783
709
533
719
579
719
773
817
758
604
567
739
595
757
749
878
701
687
792
617
586
660
793
818
896
713
753
848
646
623
661
547
511
505
549
605
650
733
611
638
572
709
752
667
874
565
500
899
678
803
631
556
875
873
783
546
843
581
878
659
726
779
664
821
726
675
520
569
895
597
630
504
872
727
655
680
503
622
857
727
635
588
512
792
775
847
507
710
616
653
725
521
893
788
899
728
732
811
618
753
811
824
597
537
651
526
860
618
513
538
719
862
583
791
774
621
752
691
703
697
571
613
807
659
702
824
718
798
619
795
544
623
783
589
856
775
799
503
522
656
578
557
838
809
888
601
625
812
599
623
812
500
882
889
809
802
640
888
744
900
654
760
869
568
698
889
857
893
723
595
517
531
538
694
601
516
639
888
693
515
565
843
518
886
704
602
835
572
665
538
540
735
734
537
681
809
570
860
588
750
850
842
792
551
795
775
504
613
525
771
578
732
549
713
774
544
571
881
635
570
775
869
842
776
628
546
593
842
704
642
505
718
515
698
850
502
756
748
675
527
746
514
725
547
588
547
846
861
706
806
571
684
704
736
786
782
750
740
864
787
663
727
777
625
649
693
886
683
802
520
746
831
727
722
744
668
583
539
581
576
543
810
844
707
526
735
746
537
703
520
514
519
813
590
649
716
702
573
568
758
785
515
806
693
590
643
565
573
681
573
858
600
625
657
863
541
533
776
623
508
714
895
739
719
520
850
534
558
500
875
812
692
528
511
797
899
749
641
568
537
893
515
583
821
735
647
792
855
837
758
504
729
791
516
758
590
625
555
840
773
718
661
583
772
712
698
815
602
708
877
548
571
898
587
535
591
834
667
512
585
547
556
549
517
745
710
742
779
547
507
677
591
877
857
825
550
668
890
712
729
615
871
549
825
534
548
739
769
701
789
502
720
576
839
674
791
900
512
753
793
767
583
565
559
829
738
892
805
768
874
761
603
895
544
733
677
767
508
687
830
708
612
548
578
516
721
603
596
700
668
620
586
602
809
517
614
731
848
832
704
868
768
702
616
602
549
554
858
815
710
702
526
740
611
514
715
816
506
739
592
670
888
686
833
587
734
540
750
590
559
588
768
702
665
535
864
740
673
838
536
870
570
754
511
563
832
561
780
613
825
833
515
632
553
775
532
805
546
530
763
624
559
881
737
853
506
868
658
814
676
649
863
779
555
895
607
893
870
689
738
540
557
808
535
764
821
628
606
665
757
660
869
577
735
563
562
582
564
670
725
785
705
847
665
747
898
626
611
563
553
787
858
804
597
524
695
787
648
690
756
758
765
776
859
686
638
748
855
524
758
687
650
519
679
711
759
677
831
550
555
527
877
561
822
696
722
760
655
595
546
835
512
622
511
884
670
546
859
832
653
619
645
669
564
714
716
710
741
579
621
556
807
687
628
733
547
895
789
843
693
749
739
884
526
578
739
629
757
641
578
576
572
884
577
745
633
707
770
850
776
509
751
707
696
556
888
721
754
759
572
805
601
589
538
530
899
724
687
629
863
597
541
633
655
861
805
711
685
733
669
524
729
839
771
515
650
633
786
595
892
852
683
737
737
502
515
887
799
715
796
815
767
852
849
658
710
839
807
516
861
853
804
580
815
586
551
640
720
734
881
596
680
792
770
814
712
503
698
550
698
777
662
535
793
815
514
809
512
797
734
631
545
562
559
797
866
768
836
527
551
575
611
664
565
510
866
852
747
506
634
656
701
898
773
764
867
697
650
540
625
572
795
548
515
758
768
733
546
683
758
873
672
556
594
881
596
900
645
508
660
877
878
877
521
734
729
704
553
553
841
588
698
659
759
619
626
662
736
635
560
806
614
648
886
865
685
694
588
657
513
739
749
721
627
509
828
660
737
841
863
593
692
787
733
577
763
670
667
737
775
659
790
591
591
804
645
570
770
860
643
886
850
524
700
679
725
880
513
784
631
558
737
817
701
530
835
702
651
514
693
744
861
735
691
847
866
502
747
810
683
536
592
628
624
794
642
707
512
846
677
605
509
640
767
504
576
503
861
892
694
790
826
570
723
541
523
722
763
712
828
660
679
834
741
729
797
527
865
858
871
815
820
749
549
707
576
691
838
608
830
868
782
775
870
598
849
852
781
619
537
818
806
616
569
523
577
781
884
899
821
771
557
639
747
768
634
850
827
715
663
551
784
889
778
776
569
880
694
840
803
568
514
793
570
855
704
787
678
527
716
866
844
614
549
603
504
805
732
508
754
669
888
847
550
800
668
731
650
550
556
592
750
571
519
768
727
631
579
722
640
582
828
670
721
844
536
784
800
811
823
564
886
811
559
527
624
525
512
572
726
633
900
511
530
827
636
702
651
747
617
847
785
780
692
520
895
832
590
705
864
783
709
589
894
508
782
802
528
853
733
880
613
699
655
776
829
885
759
600
513
570
579
738
507
898
788
667
642
768
868
833
504
624
524
543
867
563
717
814
603
810
616
886
732
510
780
560
879
545
726
636
894
861
557
538
671
540
554
691
567
564
691
733
686
572
673
743
883
635
738
896
720
752
533
893
646
561
786
584
557
804
701
843
770
540
765
609
705
857
642
774
672
635
727
561
690
586
527
819
576
575
717
797
880
700
725
777
739
618
825
556
522
545
626
546
878
621
714
687
732
808
690
540
895
594
802
778
507
753
569
860
875
677
559
549
643
689
606
693
898
674
698
864
823
774
546
764
827
584
660
770
764
620
583
606
667
825
649
891
677
617
825
691
810
656
883
500
830
794
884
795
500
622
515
766
571
513
820
890
751
593
812
708
848
674
730
687
703
898
534
879
639
637
575
546
858
607
892
840
835
552
619
569
590
591
599
677
502
673
868
724
682
742
706
520
558
558
649
888
850
520
749
629
679
524
760
861
766
823
839
795
505
857
611
803
777
568
562
555
727
880
772
542
530
575
587
755
569
596
587
695
672
546
684
625
617
882
880
570
709
627
604
614
568
555
890
517
511
851
840
561
688
720
676
643
700
509
532
670
564
730
725
899
527
674
870
507
817
755
679
898
633
719
704
870
543
573
533
815
750
827
547
707
645
782
604
856
591
832
528
782
749
680
896
688
736
771
727
757
704
888
540
625
583
633
731
598
653
679
612
827
779
649
506
710
631
783
631
635
753
770
862
605
817
568
601
679
552
505
707
662
598
643
896
703
541
694
822
816
833
633
533
697
882
533
812
822
649
620
892
674
539
698
818
563
833
595
745
840
603
514
795
815
681
795
897
725
525
884
852
575
819
599
840
540
567
862
716
683
744
729
562
846
555
872
859
745
573
879
889
595
617
684
835
602
500
712
670
633
710
649
744
831
605
536
661
660
679
558
567
725
830
661
730
782
804
618
542
765
835
898
856
602
542
821
773
621
740
673
514
724
862
634
688
748
840
593
699
867
829
783
896
602
551
516
699
761
611
806
794
669
636
584
712
615
794
570
682
826
618
822
687
606
709
513
802
810
734
609
619
848
799
799
565
793
821
837
561
801
841
664
894
812
657
792
530
850
596
696
650
842
689
507
806
631
534
635
772
717
608
571
836
667
694
833
852
558
631
873
868
618
819
532
726
542
745
593
641
518
879
658
565
900
892
640
831
897
554
558
861
764
695
737
831
826
658
667
726
519
671
870
630
808
778
823
523
705
711
785
750
504
658
601
675
531
708
644
841
527
676
748
868
715
689
801
731
843
527
728
588
786
834
523
700
886
773
505
503
596
599
514
897
791
508
529
739
585
581
822
703
592
852
893
577
725
637
623
676
796
512
873
860
788
509
847
581
720
588
566
768
828
810
507
871
648
702
713
509
690
716
588
586
697
662
612
567
737
550
846
764
510
869
568
729
871
637
795
602
735
826
802
559
783
532
592
800
893
832
595
503
518
654
508
778
837
701
594
657
838
837
722
568
669
801
579
561
578
580
547
825
647
586
639
756
532
807
539
567
893
537
545
637
662
655
861
661
545
503
656
753
708
887
745
501
619
871
518
708
563
737
753
735
871
544
663
718
575
688
584
602
882
502
801
863
770
816
610
617
824
766
852
681
576
614
617
759
795
642
641
549
674
580
789
558
882
578
737
619
659
531
566
694
681
624
848
677
789
855
504
869
770
613
704
715
507
838
712
776
693
791
782
703
864
759
835
715
782
555
529
725
580
744
596
547
549
742
846
640
545
762
778
544
745
815
817
557
583
811
871
578
654
712
657
591
570
515
838
641
667
731
889
688
699
583
750
900
582
778
710
628
698
693
812
870
813
587
737
556
806
796
870
687
648
711
843
747
759
743
894
515
844
729
814
562
807
715
837
754
858
567
877
506
821
820
564
624
827
881
577
656
821
839
796
827
576
805
821
500
538
767
649
649
599
634
641
521
702
773
773
506
736
844
582
590
862
735
753
745
641
790
874
727
802
755
621
769
547
622
729
716
766
771
669
843
821
625
614
704
579
589
860
772
516
879
882
547
882
525
712
517
813
539
573
847
884
589
837
585
556
561
893
892
891
558
584
623
816
777
889
576
558
706
510
696
728
869
798
855
541
648
682
778
767
834
782
691
864
816
828
827
764
858
667
588
855
655
722
689
642
605
548
657
656
777
503
686
718
878
503
878
565
821
681
772
867
886
628
786
634
573
567
562
815
894
827
878
647
659
856
768
795
832
752
600
549
622
804
567
851
540
899
885
794
568
596
806
840
664
651
522
652
859
845
645
658
763
727
577
708
773
617
633
684
892
726
859
586
719
684
743
780
541
542
682
711
835
555
817
686
513
847
608
792
669
877
817
597
524
727
728
520
758
855
501
815
775
787
674
784
899
652
882
564
598
884
630
541
684
669
689
701
559
849
625
766
883
784
817
868
621
824
820
673
655
802
644
673
574
900
843
874
838
739
528
580
826
764
520
898
799
560
735
806
634
892
565
531
580
568
738
797
797
821
507
801
567
539
729
707
636
598
581
730
684
610
509
639
521
639
511
730
679
547
658
613
651
662
553
691
768
892
843
740
708
612
740
801
745
743
578
629
533
540
679
761
625
777
589
523
644
811
874
837
819
626
716
761
859
581
579
806
899
759
664
510
542
585
521
594
689
740
800
885
713
715
581
591
598
766
520
883
703
673
634
526
599
827
581
627
602
855
792
504
580
807
738
572
682
703
716
664
666
540
729
696
573
786
527
662
536
788
718
691
532
894
515
557
896
837
822
617
789
673
790
874
833
708
568
737
509
800
565
769
625
576
604
681
537
761
783
899
743
706
873
560
871
525
552
728
738
567
574
783
773
544
693
596
543
749
725
704
577
664
561
825
701
740
566
757
588
757
748
837
518
577
775
707
819
602
887
631
817
601
817
810
744
703
551
854
690
677
580
645
766
752
727
692
837
886
679
798
624
639
575
720
799
743
572
663
679
869
861
664
611
661
678
690
667
697
505
843
596
774
851
685
702
575
587
783
795
736
802
763
752
662
572
712
717
598
602
770
588
509
899
882
848
723
850
872
873
768
628
745
649
549
594
501
652
519
665
568
654
887
776
561
504
614
894
849
634
527
559
851
749
554
812
870
759
674
568
551
853
740
669
823
726
599
603
587
798
728
610
791
883
867
876
530
859
797
665
683
718
861
656
718
546
752
591
716
710
504
742
800
639
557
873
599
575
689
890
694
775
692
780
833
576
802
681
776
659
799
837
575
554
709
583
583
579
609
892
546
641
552
554
610
798
858
870
797
603
898
600
625
551
656
747
655
515
543
852
886
564
629
635
669
887
641
704
852
722
603
614
750
738
795
836
781
791
534
502
876
654
539
787
537
850
682
695
733
582
603
607
551
576
818
651
722
574
707
859
817
522
606
772
857
755
765
867
763
790
872
576
689
558
837
716
767
782
811
832
500
747
822
738
783
845
853
898
692
554
840
802
846
598
886
823
700
534
836
555
810
613
763
560
516
667
836
722
680
825
880
897
514
521
696
756
682
512
702
735
779
648
652
781
793
605
552
884
629
806
671
854
540
532
703
867
611
588
739
900
866
791
806
776
668
668
876
702
730
532
533
876
501
555
596
660
855
859
899
543
858
652
783
548
720
790
797
837
722
787
590
816
636
747
583
727
505
734
760
769
815
748
842
663
724
633
698
603
655
701
776
764
717
719
884
662
641
608
815
512
619
740
780
888
867
894
879
697
898
776
798
887
530
819
587
608
611
812
645
705
703
835
664
760
896
628
554
639
882
669
740
549
647
628
871
723
605
801
561
508
770
765
863
856
719
834
823
865
591
673
843
837
771
636
626
685
810
853
875
816
729
692
526
533
818
899
856
581
775
861
640
872
642
573
590
829
590
736
665
748
872
712
739
870
780
737
773
634
570
766
858
603
725
713
520
680
868
667
661
873
656
785
764
534
645
754
525
670
620
748
620
616
792
730
613
821
608
784
650
760
714
670
709
790
721
753
888
882
798
648
859
742
836
517
881
514
633
742
700
696
858
820
601
750
900
820
661
601
670
534
690
711
726
672
712
571
552
824
721
710
552
801
659
653
873
650
538
632
668
726
662
878
727
572
622
751
531
798
843
586
786
660
737
893
600
621
740
611
827
880
852
865
881
856
671
667
590
570
543
538
606
745
643
663
707
593
554
553
895
692
804
791
753
812
787
569
761
501
518
556
814
739
542
825
871
773
774
599
512
712
509
540
729
517
647
620
582
861
546
554
630
803
577
518
519
829
728
784
780
748
691
507
659
786
843
802
778
555
843
519
828
529
574
537
768
727
523
720
826
637
767
886
794
607
738
605
665
787
899
647
653
749
697
779
644
510
523
512
681
728
769
696
873
802
776
776
733
531
654
615
598
795
847
517
556
510
637
858
527
561
681
733
781
695
561
523
790
700
582
723
640
608
736
518
798
741
789
663
559
888
560
871
677
557
735
505
756
500
704
726
768
870
885
820
724
697
568
608
815
758
614
597
666
895
633
616
900
626
629
812
899
572
892
808
503
818
612
823
681
834
733
630
829
513
502
794
705
586
612
899
822
616
632
836
884
866
533
640
727
697
675
557
624
560
864
899
880
566
763
895
840
875
704
803
673
852
780
515
533
766
897
873
758
891
626
536
713
709
647
715
849
776
677
608
661
875
573
654
816
775
522
898
813
775
559
534
875
645
751
812
719
526
647
815
862
508
771
639
608
832
658
772
665
694
711
523
728
737
651
727
609
712
673
710
707
813
771
725
827
705
678
712
637
632
704
601
641
790
639
845
716
818
646
734
683
537
680
863
701
747
794
864
862
538
518
532
789
884
601
634
633
701
790
589
670
684
664
768
846
839
607
694
671
731
501
618
784
516
538
584
532
686
554
800
793
507
714
507
505
510
592
642
516
857
733
529
585
659
724
628
730
682
569
855
593
603
893
621
563
516
759
801
888
703
540
846
883
653
881
892
789
821
887
645
861
724
681
743
681
533
715
620
604
523
759
722
763
754
675
551
527
803
812
636
898
735
535
572
763
740
763
525
718
777
886
832
651
581
680
713
701
530
687
561
504
537
850
559
717
737
585
887
590
765
824
874
532
569
624
795
502
662
761
502
703
757
827
567
658
650
786
608
685
505
835
710
500
657
836
779
745
788
900
555
669
758
639
778
507
590
721
667
571
704
740
839
738
790
890
792
767
722
860
872
706
646
709
745
508
736
864
888
745
710
877
646
665
759
870
587
771
643
661
834
638
609
801
864
827
852
536
841
788
638
829
618
840
501
836
646
783
534
655
773
791
669
783
846
572
566
684
736
595
603
898
561
722
781
555
830
867
685
544
773
595
812
665
