300
300
300
300
300
300
300
300
300
300
299
298
299
299
300
300
301
301
303
303
301
300
300
300
302
302
302
302
302
303
304
306
306
306
305
306
308
308
309
309
310
310
310
310
313
313
313
313
313
313
313
313
313
313
313
313
313
317
322
323
323
324
325
325
324
324
324
323
323
323
325
325
326
329
329
327
326
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
326
328
329
330
330
330
330
330
330
330
330
330
330
331
331
332
332
332
332
332
333
333
334
335
335
335
335
335
335
336
337
338
339
340
342
342
342
342
342
343
345
347
347
347
349
350
351
356
358
359
363
370
378
381
389
389
391
411
414
418
422
426
435
445
446
449
451
455
457
461
464
467
470
476
481
485
487
490
491
492
499
507
513
519
526
531
535
537
539
539
538
538
534
532
532
534
535
537
537
540
543
549
550
555
558
561
562
562
563
564
567
567
568
568
569
570
573
574
575
576
578
580
583
586
588
592
598
609
611
612
613
614
616
617
618
619
620
627
627
628
631
633
635
641
646
652
656
656
656
656
659
663
664
666
671
673
675
677
685
696
699
701
704
709
711
712
714
717
719
721
730
732
733
736
739
748
748
745
744
743
741
737
733
730
725
721
718
715
714
714
713
713
713
713
711
710
710
709
709
708
708
707
705
704
700
698
697
693
692
692
691
689
685
682
682
681
680
677
675
673
671
669
666
663
661
655
652
647
638
637
637
637
641
643
643
643
643
642
642
641
641
639
639
638
636
630
623
621
618
616
615
614
610
605
604
602
593
590
586
584
580
576
572
564
562
550
546
544
544
544
544
544
544
545
545
545
545
546
546
547
547
548
548
549
549
549
549
550
551
555
555
556
557
562
564
567
572
575
577
577
577
576
576
576
576
578
581
583
585
587
591
592
593
594
598
599
600
601
602
602
602
601
601
601
600
599
599
599
599
600
600
601
601
601
600
599
594
592
591
590
589
589
588
588
582
577
574
572
566
565
558
551
550
550
551
552
553
554
554
554
555
555
552
538
532
528
523
519
516
509
503
500
495
490
487
483
481
480
479
477
476
475
472
471
468
466
465
464
462
460
458
457
451
449
449
449
449
449
449
449
449
450
451
454
454
455
455
456
456
456
454
454
453
446
443
436
435
435
432
430
427
418
416
410
406
408
408
412
413
413
413
413
413
413
413
412
412
412
412
412
412
412
412
412
412
412
412
413
413
413
417
417
420
420
422
423
423
423
423
423
423
423
423
422
422
422
421
420
420
420
421
422
423
424
424
426
428
429
430
430
430
430
430
431
431
431
431
430
430
431
432
433
437
438
437
437
443
446
452
453
453
453
454
454
454
453
451
449
448
449
449
451
451
450
449
449
449
449
449
450
451
450
450
449
453
453
453
464
464
465
465
465
465
465
465
465
466
467
467
468
469
470
470
470
470
470
470
470
469
469
469
469
469
469
466
465
464
464
463
463
461
461
461
462
462
462
464
465
466
466
466
466
467
467
467
467
468
468
469
470
471
471
471
472
473
473
473
474
474
475
475
476
477
477
480
481
485
487
487
489
489
493
493
493
492
491
491
496
497
498
499
500
500
500
500
500
500
500
500
500
500
501
501
501
501
501
501
502
502
503
504
504
504
505
505
505
504
504
504
504
504
504
504
504
504
505
506
507
507
508
508
508
509
509
509
509
508
508
508
508
508
508
509
509
509
508
508
509
510
512
513
514
514
514
515
516
517
524
524
525
527
527
528
529
530
532
535
539
544
548
550
552
553
554
555
557
560
562
564
565
567
569
570
570
570
570
571
571
571
572
572
572
573
573
573
573
574
576
576
577
577
578
581
582
583
583
584
587
588
590
590
591
591
592
592
592
593
593
594
594
595
595
596
596
597
597
600
601
602
603
603
604
606
606
607
607
613
614
615
617
618
619
621
622
623
625
626
631
635
640
641
642
643
645
646
647
649
650
652
656
658
661
665
665
666
669
670
674
677
681
688
697
698
696
695
694
692
692
696
697
698
703
706
707
709
712
713
713
716
717
720
722
726
728
738
739
744
745
747
747
748
749
750
751
754
758
762
764
766
770
773
774
776
777
779
781
782
784
788
790
792
794
799
802
806
842
842
843
844
847
854
858
862
864
866
870
874
879
881
884
887
889
891
892
893
896
899
905
909
911
913
915
918
920
921
924
925
930
933
935
937
939
943
947
950
950
950
950
950
948
944
939
934
932
930
928
925
920
919
917
916
914
912
910
909
906
903
895
892
891
890
889
886
881
877
875
872
867
867
867
867
869
873
878
881
884
886
889
893
894
895
898
901
909
912
912
912
914
915
916
919
920
921
924
925
929
932
934
936
939
944
949
951
952
953
955
956
957
958
959
965
968
969
972
981
984
987
990
1008
1025
1037
1047
1048
1049
1049
1054
1057
1060
1062
1062
1065
1068
1068
1068
1068
1068
1068
1069
1070
1072
1074
1075
1076
1079
1080
1081
1082
1083
1090
1091
1091
1089
1087
1087
1088
1088
1088
1088
1089
1089
1089
1091
1092
1092
1093
1093
1093
1095
1096
1100
1101
1103
1105
1105
1105
1104
1101
1098
1095
1088
1087
1085
1085
1088
1090
1098
1101
1104
1109
1110
1110
1111
1111
1111
1111
1110
1110
1110
1110
1111
1112
1113
1114
1115
1116
1124
1164
1147
1053
1053
1052
1051
1049
1047
1046
1045
1045
1045
1045
1045
1044
1044
1041
1037
1034
1029
1024
1019
1013
1012
1011
1010
1009
1003
997
994
992
989
987
986
986
985
985
983
982
978
977
973
972
971
969
967
964
963
961
958
948
946
944
942
941
938
938
937
936
935
935
931
930
930
930
930
929
927
925
924
923
923
922
920
916
914
913
912
911
910
909
907
905
903
901
893
890
883
883
883
882
882
881
880
878
875
873
870
863
859
851
848
845
845
844
844
842
842
842
841
841
840
836
834
833
831
829
828
814
810
810
807
798
792
790
789
788
787
786
784
784
783
783
782
781
778
776
776
776
775
774
773
768
759
757
756
752
747
736
728
721
719
715
713
713
710
707
705
701
695
693
689
684
682
675
670
669
668
668
666
665
662
659
656
655
654
654
653
652
649
648
648
645
645
645
644
643
636
632
624
623
618
617
615
612
610
607
605
604
604
604
603
603
599
599
599
599
598
598
598
597
594
592
590
589
588
588
587
587
586
584
583
580
580
579
578
577
577
576
576
575
572
571
570
569
569
565
559
558
557
556
554
554
551
551
548
548
548
548
548
548
548
548
548
547
547
546
546
545
544
544
543
542
542
542
542
542
541
541
539
537
537
537
537
537
536
535
534
533
528
529
530
532
534
531
529
524
524
524
523
523
522
521
520
520
520
520
520
520
519
517
514
512
512
512
512
512
511
510
509
508
507
507
507
507
507
507
507
507
507
507
507
506
505
504
503
501
500
499
499
500
500
500
498
497
497
494
494
494
494
494
494
495
496
497
501
506
514
516
517
524
525
527
529
530
533
533
534
535
535
535
535
537
537
537
538
539
540
543
544
544
545
545
546
550
551
552
553
554
556
560
562
563
564
565
567
568
569
572
574
575
577
579
581
581
581
582
583
583
584
584
584
585
587
590
593
595
601
604
607
613
623
622
621
619
617
617
618
623
625
627
628
630
635
636
638
638
639
640
641
645
647
655
657
666
674
674
674
674
674
674
674
676
678
684
684
684
684
683
683
683
683
683
684
685
687
689
691
694
695
696
696
698
699
700
700
701
702
703
706
707
708
709
712
712
713
714
714
714
714
714
714
714
714
714
716
719
720
720
722
723
726
727
739
740
742
744
746
751
754
754
754
754
754
759
761
762
764
766
768
768
768
768
769
770
772
775
779
780
781
786
790
790
792
793
796
799
801
803
811
812
814
814
814
814
815
817
818
819
820
821
824
827
833
833
832
830
831
831
832
832
832
832
832
832
832
832
832
834
836
840
841
841
842
842
844
845
846
847
848
848
851
854
869
869
870
873
878
876
875
873
871
871
872
873
873
874
876
876
878
880
886
887
888
889
893
895
895
896
896
897
900
900
902
903
904
909
909
910
910
910
911
912
913
913
914
914
915
916
918
919
921
921
922
922
925
928
931
932
933
934
934
936
936
937
937
937
937
937
937
938
939
939
939
941
942
942
943
946
948
951
953
955
956
958
958
960
970
973
975
983
984
986
990
991
997
999
1003
1005
1007
1006
1005
1005
1004
1004
1004
1005
1006
1006
1007
1007
1007
1007
1008
1028
1030
1033
1034
1036
1039
1045
1048
1049
1051
1052
1054
1055
1056
1058
1059
1061
1062
1062
1072
1075
1087
1088
1089
1090
1100
1102
1104
1109
1110
1112
1113
1114
1114
1115
1125
1127
1132
1133
1134
1141
1144
1145
1145
1145
1146
1149
1149
1150
1150
1150
1151
1151
1152
1151
1150
1150
1149
1144
1143
1142
1141
1137
1136
1132
1131
1130
1128
1126
1125
1124
1123
1122
1121
1120
1120
1119
1119
1118
1117
1116
1116
1115
1115
1114
1113
1112
1112
1112
1112
1112
1112
1113
1113
1105
1100
1096
1095
1094
1092
1091
1088
1087
1085
1083
1082
1081
1080
1079
1078
1075
1074
1070
1066
1062
1061
1059
1057
1055
1053
1050
1049
1046
1042
1041
1041
1041
1040
1040
1040
1040
1039
1039
1039
1039
1038
1038
1036
1035
1034
1034
1032
1030
1019
1015
1012
1009
1002
999
998
993
992
991
989
979
970
967
959
953
948
946
945
944
943
941
939
936
934
932
932
930
930
925
925
920
919
917
915
914
907
906
904
899
896
894
891
887
886
879
878
872
867
864
864
863
862
862
858
854
852
848
846
839
839
839
836
827
826
814
811
810
803
802
799
797
796
795
795
785
781
780
778
774
768
765
762
759
753
746
738
735
734
733
732
732
732
731
730
730
730
729
729
728
727
727
722
719
717
713
713
712
711
711
710
710
707
705
703
702
702
700
700
683
676
676
674
669
669
669
669
669
668
667
666
665
664
662
658
658
658
657
657
655
654
650
650
649
647
644
642
637
638
639
639
640
636
636
635
635
634
633
632
628
623
618
615
613
611
609
606
600
596
595
595
594
594
593
592
592
592
591
591
591
591
590
588
587
587
587
584
576
574
572
569
566
565
561
560
561
562
562
561
560
559
554
548
547
546
544
542
539
538
537
537
538
538
538
538
538
538
532
531
530
529
529
528
528
524
522
520
519
517
513
512
512
511
509
509
509
510
510
511
511
511
510
509
508
508
506
503
501
500
499
499
499
499
499
498
496
495
493
493
493
493
493
493
494
494
494
494
495
495
495
495
495
495
494
492
492
491
489
489
489
488
488
488
488
488
487
487
486
486
485
485
485
485
485
485
484
483
483
482
481
480
480
480
479
477
475
473
473
471
471
471
470
469
467
466
465
464
464
464
464
465
465
466
466
466
465
465
464
464
463
461
459
458
455
453
452
450
450
450
448
448
444
443
443
443
443
442
442
442
442
442
442
443
442
442
442
437
433
433
433
433
429
427
426
426
425
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
425
425
425
425
427
427
428
428
428
429
430
430
430
430
430
436
437
438
437
437
437
438
438
438
438
441
442
444
446
448
450
451
452
452
453
453
455
456
457
457
458
459
459
460
461
465
468
469
470
474
476
478
482
486
494
499
501
502
502
502
502
506
508
509
509
512
511
509
507
505
498
494
494
494
493
492
492
493
493
493
492
491
489
489
487
487
487
487
487
490
490
491
491
492
492
492
495
497
498
498
498
498
498
498
498
498
498
499
499
500
502
503
503
504
505
506
507
508
511
511
515
517
518
519
520
520
525
531
533
534
536
538
542
543
543
545
544
542
541
536
534
532
532
531
531
531
530
530
530
529
529
529
529
528
527
526
522
522
522
522
522
522
523
524
524
525
526
526
526
525
521
521
521
520
518
516
515
515
508
507
507
506
505
503
503
502
501
501
496
492
491
491
490
487
487
486
485
485
485
485
484
484
483
479
479
479
479
479
479
479
480
481
483
485
486
488
488
489
490
491
491
491
491
492
492
492
493
493
493
493
493
493
494
494
494
494
494
494
495
497
497
498
498
498
498
499
499
499
499
500
500
501
501
501
501
501
504
506
507
507
509
511
513
515
516
518
519
520
520
522
523
524
524
526
526
525
523
523
525
527
528
532
533
532
532
533
534
536
536
536
538
539
544
545
544
544
544
555
564
566
573
573
574
574
574
574
575
576
576
576
577
578
580
581
584
585
589
591
591
591
591
591
592
593
593
607
611
613
626
628
646
656
655
652
651
650
654
656
657
668
669
668
668
667
664
666
666
666
668
670
672
677
679
681
690
691
692
694
695
698
697
696
696
694
698
700
701
706
707
708
710
710
711
712
713
713
714
715
715
720
722
723
727
727
727
728
728
728
732
736
741
742
743
744
745
757
759
764
766
766
766
766
766
766
766
767
767
769
769
770
773
774
776
777
779
779
780
780
780
780
780
780
780
781
782
791
794
798
803
807
808
810
811
824
825
826
826
826
826
826
826
827
830
831
832
834
835
841
843
844
844
845
845
845
846
848
849
849
850
851
853
854
855
857
859
861
862
864
864
864
864
864
864
863
863
863
863
863
863
866
867
869
880
881
882
883
885
887
889
893
896
897
897
898
898
898
898
901
910
917
919
920
922
923
924
929
933
936
939
946
946
946
946
946
946
952
955
957
960
964
965
966
966
966
967
967
967
969
971
974
976
983
983
984
984
986
986
986
988
995
997
997
998
999
1001
1002
1003
1004
1005
1006
1006
1006
1009
1011
1013
1016
1018
1020
1020
1022
1024
1025
1029
1029
1030
1032
1034
1037
1043
1044
1045
1045
1045
1046
1046
1046
1046
1046
1046
1046
1048
1050
1052
1053
1054
1055
1055
1058
1060
1062
1063
1065
1065
1066
1066
1066
1066
1066
1066
1069
1071
1073
1073
1074
1076
1078
1078
1080
1082
1084
1089
1090
1090
1092
1092
1092
1091
1089
1087
1086
1084
1084
1084
1084
1089
1090
1090
1092
1092
1086
1084
1077
1077
1076
1075
1074
1072
1071
1070
1068
1067
1066
1066
1066
1066
1066
1065
1065
1064
1061
1058
1054
1051
1049
1048
1047
1044
1029
1014
1000
1000
995
978
976
974
972
964
963
963
961
958
958
957
956
955
953
950
947
941
934
929
928
927
926
924
918
917
914
913
911
907
906
904
902
900
895
892
890
888
887
879
872
868
866
864
860
858
853
852
851
850
849
847
843
838
834
827
813
808
803
799
797
794
790
787
783
780
779
777
774
773
771
770
768
767
765
763
761
758
757
755
753
749
747
746
745
743
742
741
739
738
733
732
724
721
718
718
716
711
704
702
700
699
699
698
698
698
697
696
695
695
695
695
695
695
695
690
686
672
669
667
666
664
663
660
659
658
653
649
645
642
641
639
637
636
635
633
631
630
626
620
617
612
611
610
609
608
607
606
604
602
601
600
597
597
597
596
596
596
595
595
595
594
593
592
592
592
591
591
591
590
589
589
588
588
587
587
586
586
582
581
579
578
575
574
573
572
571
568
568
568
567
567
567
566
566
566
566
565
565
564
564
563
563
562
562
561
560
559
558
557
555
553
550
549
547
546
542
539
535
530
526
525
525
524
523
521
519
518
516
513
514
515
516
512
510
510
511
508
507
509
510
511
512
507
505
506
506
506
507
507
508
508
508
508
507
507
507
507
507
507
507
507
506
506
506
505
505
505
505
505
503
502
502
501
501
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
499
499
496
496
493
493
492
492
493
493
493
493
493
493
493
493
493
494
494
493
492
492
492
491
486
483
484
485
481
481
481
485
481
485
488
490
490
490
491
492
492
492
493
494
494
494
493
492
492
491
491
491
493
497
498
499
500
500
500
500
500
500
500
500
500
500
500
501
502
502
502
504
504
505
505
505
506
506
507
507
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
507
507
505
505
506
506
507
509
509
510
512
511
508
508
509
510
512
512
512
513
514
515
515
515
515
514
511
510
510
510
508
507
509
511
512
512
506
505
506
506
507
507
508
508
508
508
508
508
508
508
507
507
507
507
506
506
505
505
505
505
505
505
504
502
502
502
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
499
498
496
495
493
492
491
493
494
494
494
493
493
493
493
493
493
493
493
492
492
491
491
491
485
483
484
485
479
476
477
471
462
464
464
463
463
463
462
459
459
451
451
449
450
450
450
450
451
451
452
452
452
451
449
447
446
448
449
451
452
453
454
454
454
454
454
452
450
447
442
439
437
436
434
433
431
431
431
431
429
421
424
426
426
426
426
426
425
424
417
414
413
413
412
412
412
412
412
412
412
412
412
412
411
411
411
410
410
410
407
407
406
405
405
405
405
405
405
405
405
406
406
406
406
406
405
404
404
404
404
404
403
403
403
403
402
402
402
402
402
401
401
400
400
400
399
399
399
399
399
399
399
400
400
400
400
397
397
397
398
403
403
405
405
405
404
402
400
400
397
396
395
395
394
391
389
388
386
383
382
382
382
382
382
381
381
381
379
378
376
375
375
375
375
375
375
375
375
374
374
374
374
374
374
373
373
373
373
373
373
373
373
373
373
373
372
371
371
370
365
365
365
365
365
366
366
365
364
363
363
363
362
361
361
365
364
364
364
364
364
364
363
362
361
361
360
360
359
358
356
354
351
346
344
342
341
341
332
334
334
334
332
332
331
331
331
330
330
330
330
330
330
330
336
338
340
341
341
341
342
343
343
343
343
349
350
351
352
354
363
365
366
369
370
371
372
373
374
375
376
377
378
378
379
380
384
385
385
385
381
375
369
369
366
365
365
360
345
345
344
344
343
345
346
349
350
351
350
349
346
345
344
344
344
342
340
340
341
341
342
344
344
344
344
344
340
337
337
337
337
335
320
319
317
316
310
310
310
311
313
315
312
311
310
309
309
309
309
309
310
311
311
311
310
310
309
309
309
309
308
307
307
307
307
307
307
306
306
306
306
305
305
305
305
306
305
306
307
307
307
307
306
305
306
305
305
305
305
305
305
305
305
305
305
305
303
303
302
302
301
301
301
301
301
301
302
301
301
299
299
298
298
298
298
298
298
296
296
296
296
296
296
296
295
293
292
292
292
292
290