840
840
842
844
845
856
858
860
867
871
871
871
875
883
903
911
911
911
912
916
916
917
917
917
918
918
918
919
919
919
919
919
921
922
922
922
922
921
919
919
919
918
917
917
917
916
916
916
916
916
916
916
916
916
916
916
916
912
912
912
893
881
877
873
872
870
870
869
869
871
872
869
866
863
862
862
862
862
863
868
868
868
872
872
872
871
871
868
866
866
865
864
864
864
864
864
865
865
865
867
868
869
869
869
869
871
876
878
878
878
878
878
877
876
876
875
875
875
875
874
869
863
855
854
851
848
846
845
844
842
842
842
843
846
845
845
844
843
842
842
841
841
841
836
834
831
825
825
824
821
820
820
818
816
815
813
812
812
811
811
811
810
810
804
804
804
802
801
794
793
792
792
792
792
792
792
792
792
791
791
788
785
782
772
763
760
751
744
741
739
736
724
725
727
730
731
743
744
744
745
746
765
768
769
772
773
774
771
769
766
765
762
761
759
759
759
758
757
757
757
759
763
759
758
756
758
760
762
763
764
764
769
764
761
760
766
765
787
789
789
789
789
792
780
776
774
772
771
767
764
762
752
746
738
735
733
729
729
729
729
729
729
729
728
728
728
728
728
728
727
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
725
733
736
737
737
742
746
749
750
749
748
746
741
738
725
717
716
714
708
707
706
706
706
706
705
705
704
703
703
702
701
699
699
698
698
698
701
701
701
701
701
701
701
701
701
695
693
692
692
692
692
690
680
679
679
679
680
680
680
681
681
682
684
685
688
685
683
681
680
678
676
676
675
674
674
674
675
693
697
698
699
699
700
703
707
709
712
714
716
717
718
718
719
720
717
717
716
716
714
712
711
701
699
694
693
693
692
691
691
691
691
691
692
693
694
697
698
699
700
701
705
708
710
711
712
714
716
717
718
715
712
711
709
705
702
700
700
698
694
691
691
691
691
691
691
691
691
692
692
692
692
692
691
690
689
689
688
687
689
691
686
681
678
675
673
672
672
672
672
672
671
670
669
669
669
667
667
666
665
665
665
658
656
651
651
647
645
642
638
636
634
631
633
635
639
641
642
643
642
641
637
636
635
633
633
631
630
629
629
627
626
625
624
622
618
614
613
610
610
609
608
605
604
603
603
601
600
599
598
597
597
596
595
591
596
598
594
582
580
579
579
578
578
578
578
578
578
578
578
578
579
579
580
580
581
581
581
581
581
581
581
585
588
590
593
591
588
582
579
575
575
575
576
576
577
579
580
581
581
581
581
580
580
579
578
581
587
588
588
588
588
588
583
580
577
575
573
571
570
584
588
590
588
585
583
577
566
561
559
560
562
562
563
563
567
570
575
577
579
583
589
594
599
602
604
611
612
612
620
629
643
654
659
628
621
616
614
613
614
620
623
625
630
633
635
635
635
635
634
633
628
626
622
614
604
598
596
602
606
616
629
634
633
633
636
644
650
635
626
623
620
614
609
607
605
603
603
604
604
604
603
603
601
601
600
594
570
564
559
553
550
549
546
546
545
538
536
533
532
532
532
532
535
541
544
549
550
546
545
545
544
542
539
537
545
548
551
552
552
554
555
559
565
572
580
580
580
585
589
595
606
613
613
613
613
613
613
612
611
611
610
608
593
589
590
591
602
614
620
625
628
620
597
587
586
585
589
591
608
611
615
622
623
631
641
640
635
646
649
655
656
655
652
651
656
666
666
666
664
664
664
668
671
673
676
701
702
702
703
683
680
676
672
662
657
658
655
643
634
630
620
605
601
594
591
585
580
571
566
566
566
566
552
530
519
517
520
521
523
525
531
537
545
549
556
556
555
546
540
531
525
527
523
516
513
511
510
511
513
515
516
515
513
510
510
514
515
515
517
518
522
525
529
528
523
518
516
510
508
506
507
508
510
510
510
511
512
513
514
514
515
516
518
521
531
545
555
573
581
589
591
594
595
597
602
604
602
600
600
600
602
604
604
606
609
612
613
616
618
621
622
624
627
631
630
630
630
632
633
634
634
636
639
640
644
648
651
652
653
654
654
654
649
646
640
637
628
630
632
633
635
637
642
646
650
654
657
660
662
662
662
662
662
662
662
660
657
654
651
647
645
644
642
644
648
652
656
663
666
667
664
662
656
652
644
643
639
638
633
630
622
616
615
614
612
608
607
606
605
604
604
607
609
610
611
613
614
615
614
611
605
601
597
593
585
578
579
580
580
579
576
570
570
571
572
573
575
575
576
580
586
593
596
600
595
592
583
569
558
548
545
539
537
535
534
532
525
523
521
518
509
505
495
491
489
489
488
488
489
492
492
491
491
491
491
490
489
489
489
489
489
489
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
491
491
491
492
492
493
494
495
496
495
494
494
493
493
492
491
491
491
490
489
489
489
488
487
487
487
487
488
489
490
491
492
492
493
495
497
499
509
512
514
515
515
520
522
525
527
527
528
528
532
535
535
539
542
544
545
547
548
549
550
551
554
557
558
559
560
590
596
618
619
621
622
623
628
667
681
684
694
699
703
711
721
722
723
730
738
742
745
748
755
756
759
763
770
778
786
787
787
786
786
786
788
795
800
804
810
813
815
821
825
824
826
830
840
849
849
849
849
849
849
849
856
860
865
870
873
876
880
884
889
892
892
893
895
898
899
900
900
903
922
931
934
935
944
951
951
953
977
982
1002
1008
1012
1014
1014
1015
1015
1019
1027
1028
1032
1036
1037
1039
1042
1046
1048
1051
1053
1058
1060
1059
1058
1057
1059
1068
1071
1075
1078
1079
1080
1080
1080
1079
1079
1078
1077
1076
1076
1075
1075
1066
1057
1053
1051
1048
1046
1043
1042
1039
1037
1025
1011
996
978
976
974
968
961
960
959
958
955
951
945
920
900
893
890
881
878
860
857
843
832
832
831
829
824
804
799
799
800
800
802
804
805
806
808
810
811
811
812
817
824
827
829
831
832
836
839
844
849
849
848
845
844
841
841
841
843
846
849
852
854
854
852
850
852
855
857
867
862
860
859
855
853
851
844
841
826
824
821
816
816
816
805
798
792
787
764
749
740
737
722
718
716
715
713
713
712
711
710
705
704
702
697
695
705
714
720
727
729
731
733
734
725
707
706
701
696
692
687
683
681
679
677
677
679
681
685
688
687
684
682
679
672
670
663
660
656
655
650
636
620
618
606
601
594
585
575
571
566
564
562
561
557
554
551
551
550
548
551
555
557
554
551
541
530
525
520
514
509
508
508
508
508
508
508
507
491
489
487
480
480
480
480
481
481
482
483
483
483
484
489
491
492
494
503
507
509
511
511
512
525
524
523
520
514
512
512
511
511
509
511
513
517
522
528
535
535
535
535
534
534
531
531
530
530
529
522
529
535
544
542
535
533
536
535
534
529
527
524
520
518
527
528
528
529
529
528
522
522
516
508
503
502
500
498
492
491
490
489
489
489
488
483
476
469
467
465
458
448
444
439
438
434
431
417
417
418
422
422
422
423
424
425
427
427
427
426
425
419
418
417
417
417
418
419
417
417
414
412
402
401
402
400
403
403
403
402
401
400
400
400
400
400
400
400
400
400
400
400
400
400
398
397
396
395
395
395
394
393
393
392
392
392
390
390
390
390
390
390
388
388
387
387
387
387
387
387
387
387
387
387
387
387
387
387
386
386
386
386
386
386
386
386
386
386
386
386
385
384
384
384
384
384
385
385
385
385
386
386
386
386
386
387
388
388
388
388
388
388
388
388
387
387
384
386
387
388
388
389
391
392
392
392
392
391
390
390
390
390
389
389
389
389
389
388
388
388
387
387
387
386
386
386
386
386
387
387
388
388
388
388
387
387
386
385
385
385
385
385
385
385
387
387
387
387
386
385
385
385
385
385
385
385
385
384
384
384
384
384
384
384
385
386
387
387
387
387
386
386
386
386
386
386
386
386
386
386
386
386
386
387
387
389
391
391
390
389
392
393
394
394
392
392
392
393
393
393
393
394
394
391
397
398
398
398
398
396
394
393
396
397
398
397
395
395
396
396
398
398
399
403
403
404
406
407
411
409
406
405
404
403
401
401
401
401
401
401
401
401
402
402
403
405
406
405
404
403
403
404
406
408
408
409
410
411
412
412
413
416
416
417
431
435
438
443
444
443
444
444
445
444
444
444
444
445
447
448
450
453
455
463
474
474
475
475
475
476
476
477
477
478
479
480
483
485
484
484
482
481
479
476
474
473
473
473
473
474
474
474
474
474
474
473
473
471
467
466
464
462
459
456
455
454
453
453
453
462
466
469
470
472
477
480
483
485
488
489
490
490
490
490
490
490
489
488
488
488
488
488
488
488
488
488
492
495
497
501
505
507
507
510
511
511
509
508
508
508
508
508
510
513
521
538
537
536
533
533
533
533
533
533
533
533
532
532
531
530
530
529
528
527
526
526
526
525
524
524
524
524
524
522
519
517
514
512
507
505
502
499
497
495
486
484
483
475
468
463
456
453
453
453
453
453
454
461
463
463
463
463
462
462
462
462
463
463
464
465
465
466
469
473
477
481
483
486
490
495
508
509
511
512
515
517
518
519
519
520
521
523
523
523
524
527
530
532
533
538
544
544
545
550
550
552
555
555
558
564
564
566
552
541
541
545
548
548
548
548
548
548
549
550
553
554
556
557
558
560
561
562
563
563
563
563
562
561
555
555
557
559
563
568
573
573
575
580
583
582
580
575
571
570
570
570
571
575
605
607
608
638
641
635
628
628
626
624
589
583
559
561
563
559
555
549
548
547
545
544
542
541
540
538
535
534
531
527
527
527
526
522
515
509
508
507
505
502
498
496
494
492
492
492
491
491
490
488
488
488
488
488
488
488
488
488
488
488
491
492
499
500
500
501
506
506
510
529
542
542
542
542
543
543
543
544
544
545
553
557
558
552
552
551
550
550
549
548
544
544
543
541
541
541
541
541
541
541
541
541
545
548
555
561
568
575
580
582
582
582
582
587
587
587
587
587
587
592
597
600
602
608
617
620
622
623
623
623
623
629
632
634
639
643
644
645
645
646
646
642
628
619
608
598
598
599
599
599
599
599
597
597
597
596
596
596
595
592
589
586
586
587
588
593
594
606
599
598
598
599
599
600
606
610
612
614
615
614
604
602
599
592
589
591
592
593
585
582
579
574
572
572
572
572
572
572
574
579
581
583
586
586
591
591
593
595
599
600
600
600
601
601
601
601
601
601
601
601
595
584
586
587
589
590
590
591
593
594
597
600
602
604
611
617
636
658
661
662
672
679
681
684
689
695
697
697
701
706
720
728
736
740
744
745
747
749
750
750
754
760
765
762
760
758
756
755
755
755
755
755
754
766
772
783
794
798
798
797
798
800
803
803
799
797
794
791
787
785
780
777
776
777
777
779
780
779
778
776
774
773
768
767
755
750
746
743
738
736
732
729
728
728
728
725
721
712
703
693
690
689
689
689
689
688
687
682
678
677
675
674
672
670
667
661
656
653
647
642
639
638
636
637
641
643
644
645
649
650
649
647
645
637
632
627
626
624
623
623
620
620
617
617
617
617
617
619
620
620
620
621
622
624
626
626
626
626
627
634
635
636
639
639
642
644
644
644
644
644
646
648
648
651
651
652
655
659
660
662
662
663
666
668
670
672
680
682
685
688
688
690
696
697
699
701
701
702
704
704
708
710
723
730
739
743
749
756
767
781
796
805
810
815
821
830
832
836
838
838
837
835
834
825
824
823
822
818
817
815
814
815
819
820
823
825
828
823
817
812
813
810
807
803
801
800
800
799
799
797
796
795
795
794
793
792
792
782
782
781
780
780
781
781
788
790
793
789
790
792
792
791
789
787
785
785
780
778
776
771
769
767
763
762
762
770
769
768
760
760
760
749
748
746
732
730
753
750
771
771
773
774
777
777
777
777
777
777
777
776
776
777
781
779
757
758
759
756
748
741
741
740
740
739
738
737
736
737
741
742
744
738
741
742
742
741
741
740
740
737
735
734
731
730
727
726
726
730
730
731
731
731
731
731
730
731
732
733
737
738
739
740
742
744
745
743
736
734
728
728
728
729
730
730
731
732
732
731
731
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
731
731
731
732
732
733
734
734
734
733
733
730
729
728
725
725
725
725
725
725
725
725
725
725
724
724
724
724
724
724
724
727
730
731
732
733
734
737
737
739
740
744
747
752
756
763
767
773
781
800
853
876
883
893
907
918
925
922
916
895
891
893
894
897
899
901
901
900
900
898
879
877
864
864
858
854
850
839
836
837
837
837
837
835
834
832
832
838
840
852
854
853
850
849
854
861
875
874
873
873
871
869
865
862
858
847
843
843
842
837
833
832
828
827
826
826
826
826
826
826
826
826
827
828
828
829
830
830
829
829
828
827
826
825
824
823
826
830
832
833
835
837
839
840
844
843
840
836
834
833
832
832
838
841
848
852
858
860
863
864
865
864
864
862
862
861
860
857
855
853
851
850
844
842
838
836
835
834
832
831
828
827
827
826
826
824
824
823
822
822
822
821
829
835
838
841
841
841
843
845
852
859
863
866
866
866
866
866
866
866
871
872
873
884
892
893
894
899
902
907
901
896
893
892
889
889
889
888
889
889
875
871
871
871
872
872
873
873
870
868
865
862
859
849
840
838
833
828
824
826
830
835
837
828
819
815
814
814
813
808
809
810
811
815
821
830
832
832
833
834
834
825
822
817
815