849
849
849
849
849
849
849
849
849
849
848
848
847
847
847
847
848
849
850
855
858
858
860
863
865
874
878
879
879
883
878
892
902
901
901
902
902
905
913
914
914
914
915
917
918
918
918
919
920
920
925
926
928
936
940
943
948
954
954
957
960
967
970
971
971
976
982
984
991
998
1008
1012
1017
1020
1024
1024
1027
1027
1028
1031
1034
1035
1038
1040
1041
1040
1039
1037
1031
1027
1026
1022
1020
1019
1019
1019
1038
1039
1040
1040
1039
1039
1037
1035
1035
1031
1027
1032
1038
1039
1041
1042
1042
1042
1041
1039
1035
1033
1030
1030
1029
1029
1028
1026
1025
1023
1020
1020
1018
1018
1016
1009
1007
1006
1005
1005
1004
1003
1000
1001
1002
1004
1006
1011
1018
1020
1026
1030
1032
1035
1039
1039
1040
1040
1041
1042
1048
1050
1052
1055
1060
1062
1063
1063
1064
1067
1068
1069
1069
1069
1069
1069
1068
1065
1060
1056
1049
1022
1022
1022
1021
1018
1013
1007
1003
999
994
994
987
976
971
970
970
969
969
968
968
967
967
966
965
962
960
947
949
952
962
977
978
991
999
999
1000
1007
1006
1006
1005
1003
1002
1002
1002
1001
1000
999
997
992
991
991
992
992
992
992
991
991
991
990
989
986
984
982
981
980
979
979
978
977
976
976
975
974
973
972
970
969
968
964
963
962
961
960
960
959
958
957
955
954
952
951
950
949
947
946
943
942
941
940
939
938
936
933
932
931
930
929
928
927
926
925
925
924
923
922
921
920
919
917
914
910
899
895
893
890
887
885
883
881
880
879
878
878
877
876
875
873
872
869
868
866
864
862
860
859
857
856
855
854
854
854
854
854
854
854
854
854
854
854
854
854
854
854
854
854
853
852
851
850
849
849
848
847
846
846
845
844
843
840
835
835
834
833
832
831
830
829
828
826
823
821
821
814
811
810
808
807
806
805
804
802
800
798
796
793
792
791
791
790
790
789
788
787
786
785
783
782
781
781
780
779
778
776
776
776
775
775
775
775
775
775
775
774
774
774
773
773
773
772
772
772
772
772
772
772
772
772
772
772
772
772
772
772
772
772
772
772
771
771
771
771
770
769
768
766
765
761
760
759
759
758
757
757
756
756
755
753
752
752
752
752
751
751
751
751
751
751
751
751
750
750
749
749
748
748
747
746
744
743
743
743
743
743
743
734
731
730
729
728
728
728
727
727
726
726
725
724
723
721
721
721
721
720
720
720
720
719
719
718
716
716
715
715
715
715
715
715
715
715
715
715
715
715
715
714
714
714
714
714
714
714
714
714
715
716
716
717
717
717
718
718
719
720
721
721
721
720
720
720
720
720
720
720
720
720
720
720
719
719
719
719
718
718
718
718
719
719
719
720
720
721
722
722
723
723
724
724
724
725
725
726
726
726
724
724
724
723
723
723
722
722
721
721
720
716
713
710
707
704
699
699
699
699
700
700
700
700
702
703
705
706
708
709
710
711
712
712
712
712
712
712
711
711
711
710
710
710
710
709
709
709
709
708
708
707
705
704
703
703
703
702
702
701
701
701
701
701
701
702
702
702
703
703
703
703
703
703
702
701
701
700
699
698
698
695
694
694
693
693
692
692
691
691
691
690
689
687
685
683
681
681
681
681
682
682
682
682
682
682
682
682
682
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
684
685
685
686
687
688
689
689
690
691
692
693
694
695
695
695
695
695
695
695
695
695
695
694
694
694
694
694
694
694
694
694
694
694
693
693
693
692
692
692
692
692
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
690
690
689
687
685
684
683
682
682
681
680
679
679
679
680
681
682
682
683
684
684
684
685
685
685
685
685
685
683
682
681
680
679
678
677
676
675
674
673
671
670
669
668
667
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
664
664
664
663
661
659
659
658
657
656
656
655
654
654
652
651
651
650
649
649
649
648
648
647
647
647
646
646
645
645
645
644
644
644
643
643
643
643
642
641
640
639
638
638
636
635
635
634
633
632
631
630
630
629
629
628
627
626
625
624
624
623
612
607
605
616
634
633
616
605
602
596
590
585
585
585
584
583
581
580
578
579
580
578
574
569
567
564
564
565
566
560
555
553
549
547
545
544
544
544
545
545
545
542
539
530
527
524
524
525
526
526
525
525
526
526
534
535
537
538
542
542
545
550
551
553
555
555
555
556
556
556
556
557
560
566
569
570
576
578
579
582
588
592
596
602
606
607
607
611
613
618
619
619
620
619
623
624
626
630
631
634
634
638
638
637
632
629
632
632
633
635
637
642
642
647
648
650
650
652
652
656
656
661
662
668
674
677
681
685
687
688
689
690
690
689
689
688
688
687
687
686
685
684
684
685
685
684
679
677
676
676
676
680
683
684
685
685
688
691
695
702
706
708
710
712
713
714
714
714
714
715
715
715
715
715
716
716
716
716
716
716
716
716
716
716
716
715
714
714
713
713
712
712
712
712
712
712
712
712
712
712
712
712
712
711
711
711
711
711
710
710
710
709
709
707
705
704
702
701
700
700
699
699
698
697
696
695
694
693
691
690
688
687
686
684
683
681
679
677
675
673
670
669
669
669
668
668
667
667
667
666
666
665
665
663
661
659
659
658
658
658
658
658
659
659
659
660
660
661
662
662
662
663
664
665
666
666
667
668
669
669
670
671
671
672
672
673
673
674
675
675
677
677
678
678
679
679
680
680
681
682
684
686
687
689
690
691
692
693
694
697
697
697
698
698
698
698
698
699
699
699
699
700
700
701
701
701
702
702
703
703
703
704
705
705
705
705
706
706
706
706
706
706
706
706
706
706
706
705
705
705
705
704
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
703
702
701
699
698
697
696
695
695
694
694
693
692
692
691
690
689
686
685
685
684
682
682
681
680
679
679
678
678
677
676
676
675
672
671
671
671
670
670
669
668
667
667
666
665
664
663
662
660
659
657
654
652
652
652
652
652
652
652
653
653
653
653
653
654
654
655
655
656
656
657
658
658
659
660
663
665
665
666
668
669
670
672
674
675
676
677
677
678
678
679
680
680
681
681
681
681
681
681
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
681
681
680
680
679
679
678
678
678
677
677
677
676
672
672
669
667
664
663
662
661
660
660
659
658
657
656
656
656
655
655
654
654
654
653
652
651
648
647
646
645
643
642
641
640
639
638
637
636
635
635
634
633
633
632
631
630
626
625
624
623
622
621
620
618
617
616
615
613
612
611
611
609
603
603
603
602
602
602
602
601
600
600
600
600
598
596
594
592
591
590
588
587
585
583
582
578
576
574
570
568
567
566
566
565
563
563
562
562
561
561
561
560
559
559
558
558
558
558
558
558
558
559
559
559
559
559
559
559
560
560
560
561
561
562
562
563
563
564
564
565
565
565
566
566
566
566
566
566
566
565
565
565
564
564
563
563
563
563
563
562
562
562
561
560
558
555
554
553
552
551
550
549
548
547
545
544
542
540
538
536
534
532
531
529
528
527
526
525
525
524
524
523
523
522
522
521
521
520
519
514
512
511
510
509
508
505
503
500
498
497
496
495
495
494
494
493
492
492
491
491
490
490
489
489
488
488
487
487
486
486
485
485
484
484
483
483
483
482
482
481
481
480
479
477
476
475
474
474
473
473
472
472
471
471
470
470
470
469
468
468
467
467
467
466
466
465
465
465
465
464
464
464
464
463
463
463
463
463
463
463
463
463
463
463
463
464
464
464
464
464
464
464
464
465
465
465
465
465
465
465
465
465
465
464
464
463
463
462
462
462
461
461
460
460
459
459
458
457
457
456
455
454
453
452
451
450
450
449
449
448
448
447
446
446
445
445
444
443
439
437
436
435
435
433
429
427
426
425
424
423
423
422
422
421
421
421
420
420
419
419
418
418
418
417
417
417
416
416
415
415
415
414
414
413
413
413
412
412
412
412
411
411
410
409
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
407
407
407
407
406
406
406
406
406
406
406
406
406
405
405
405
405
405
405
405
404
403
402
402
401
401
400
400
399
399
398
398
397
397
396
396
395
395
393
393
392
392
392
392
392
392
391
391
391
391
391
390
390
389
387
386
385
385
385
384
384
384
383
383
383
382
382
381
379
379
379
378
378
378
378
377
375
375
374
373
371
371
368
367
364
360
357
355
352
347
344
344
341
338
336
335
333
330
328
316
314
313
312
312
311
310
310
310
309
309
306
306
305
305
305
304
304
304
303
304
303
305
306
305
304
302
300
296
294
292
290
290
289
288
288
287
285
285
285
285
283
280
279
279
273
272
272
270
271
271
273
273
273
274
276
277
277
277
277
281
284
285
286
286
288
294
296
296
296
296
296
296
296
295
297
302
302
302
303
304
305
305
306
307
309
309
313
316
319
321
331
338
342
343
343
345
348
349
354
355
356
357
364
378
382
382
388
394
401
406
418
424
430
445
447
448
455
463
473
479
483
488
492
500
510
519
527
546
560
563
563
563
566
573
578
578
580
582
585
586
588
593
593
600
606
606
602
600
601
601
601
601
602
602
602
603
605
606
607
607
608
609
609
610
610
611
611
611
611
611
611
611
612
612
613
614
614
615
616
616
617
618
619
619
620
625
636
642
644
647
649
653
656
658
658
661
662
664
666
668
668
669
669
669
669
669
669
669
669
669
669
671
671
673
675
676
677
678
680
685
687
688
689
694
697
704
704
705
707
711
713
714
716
717
718
718
718
717
715
713
712
712
711
709
708
707
707
706
706
705
705
705
705
705
705
705
705
705
705
705
705
706
706
706
706
706
706
709
714
727
727
731
732
733
733
734
734
734
735
735
735
736
736
736
737
738
739
740
741
742
743
747
749
750
751
752
753
754
755
756
758
759
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
761
761
761
764
766
767
768
769
770
771
771
772
772
773
773
774
775
775
776
777
778
778
778
779
779
779
780
780
780
781
781
782
782
784
785
785
786
788
789
790
791
792
793
793
794
794
795
796
796
797
798
798
798
798
799
799
799
800
800
800
801
801
801
801
800
799
798
798
797
796
795
795
795
794
794
794
795
795
796
796
796
797
800
804
805
806
808
811
812
820
829
836
837
842
849
852
855
858
858
859
863
864
864
865
866
867
868
868
869
870
871
871
872
873
874
875
876
876
877
878
878
878
879
880
880
881
882
882
882
883
884
884
885
885
886
886
887
887
887
888
888
889
890
891
893
894
895
897
897
899
902
909
903
902
902
902
902
902
902
902
903
903
903
904
904
904
904
904
904
905
905
905
906
906
906
906
906
906
905
905
904
903
903
903
903
903
903
903
903
903
903
903
904
905
905
905
907
907
917
927
934
935
940
944
947
950
953
958
960
964
966
966
970
971
972
972
972
973
973
972
972
971
970
970
965
964
962
962
967
967
967
978
985
988
987
986
984
985
988
994
1019
1022
1030
1031
1041
1043
1044
1046
1046
1047
1047
1048
1049
1050
1050
1050
1049
1049
1048
1047
1047
1047
1047
1047
1047
1047
1047
1046
1046
1046
1046
1045
1045
1045
1044
1044
1044
1044
1044
1044
1044
1043
1042
1042
1041
1040
1040
1039
1038
1037
1037
1036
1035
1035
1034
1034
1034
1034
1034
1034
1034
1034
1034
1033
1033
1033
1033
1033
1033
1033
1033
1033
1033
1032
1032
1032
1031
1031
1030
1030
1030
1030
1029
1028
1028
1025
1024
992
992
992
992
992
992
988
981
961
957
956
954
954
957
958
959
957
956
954
945
939
937
929
919
918
916
916
915
915
914
912
909
903
896
885
871
861
857
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
856
855
855
855
849
849
849
848
848
846