382
382
383
383
385
385
385
382
382
378
378
378
378
378
378
378
377
377
376
376
376
376
376
376
376
376
374
374
374
373
373
373
373
373
373
372
370
369
369
369
369
366
366
366
365
364
364
363
363
361
360
359
357
356
354
354
355
354
354
354
354
354
354
354
354
354
354
354
353
351
351
352
353
353
356
357
363
364
365
365
364
365
365
366
366
367
368
369
369
369
367
365
364
364
363
362
362
360
359
359
359
358
358
357
357
356
355
355
354
354
354
354
354
354
353
351
350
349
349
347
346
345
343
342
341
340
340
340
340
338
340
340
337
337
338
338
336
340
339
339
339
339
339
339
339
339
339
339
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
339
339
339
339
340
341
348
352
353
353
353
353
353
353
353
355
357
357
356
356
356
356
356
356
357
357
356
356
354
353
352
352
352
352
352
353
357
357
359
362
363
363
364
362
360
360
362
363
366
368
369
369
369
370
370
370
370
371
372
372
373
373
374
374
374
374
373
373
373
373
373
374
375
375
378
377
377
375
375
374
373
373
373
373
373
373
373
374
376
376
376
376
376
376
375
372
371
370
369
368
366
363
363
365
368
370
371
371
373
374
375
376
376
376
374
373
372
372
366
360
358
358
357
356
356
356
356
356
356
356
356
356
356
356
356
361
362
363
364
364
365
366
366
366
366
364
364
365
367
367
372
372
372
372
372
372
372
372
372
373
373
373
373
374
374
374
375
375
375
375
375
375
375
375
376
376
376
376
376
376
376
378
378
378
378
379
381
381
381
382
382
382
384
385
385
385
385
386
386
387
388
389
390
390
392
396
398
399
400
402
403
404
404
405
406
407
411
413
415
415
417
418
419
420
420
421
422
423
425
425
425
426
426
426
426
425
423
423
422
422
421
420
420
420
419
419
417
412
407
406
405
403
401
405
405
407
408
409
409
408
408
408
408
409
410
410
410
411
412
413
414
415
415
416
419
421
421
421
421
423
424
424
424
424
424
424
425
425
426
427
428
430
431
432
433
433
435
436
439
441
444
445
447
447
445
440
440
440
440
442
443
444
444
444
444
444
444
444
444
444
444
444
445
445
446
452
453
454
455
456
457
458
459
460
461
461
461
461
460
460
460
461
462
462
461
459
459
458
457
457
456
456
455
455
455
455
453
453
453
453
456
457
458
459
460
460
461
461
463
463
464
464
463
462
466
467
464
463
463
464
465
467
469
480
483
485
486
489
485
488
492
494
494
493
487
484
482
482
481
481
481
482
483
483
484
484
486
486
487
490
490
488
487
486
483
482
481
483
488
489
497
497
494
493
493
492
492
492
492
492
492
492
492
492
492
492
495
496
497
499
504
505
506
508
510
511
511
511
510
510
509
508
507
506
506
506
506
506
507
508
514
514
512
511
508
507
507
517
522
526
528
528
528
528
529
531
531
532
535
536
541
542
545
545
553
555
555
554
553
549
545
544
544
544
545
544
541
538
538
549
556
557
559
560
561
562
564
565
571
573
576
582
585
584
583
580
579
572
569
566
566
568
569
574
577
579
581
585
589
591
588
583
571
571
570
569
569
569
575
580
582
580
579
578
577
576
592
594
596
598
592
575
574
573
570
573
576
578
581
584
586
588
587
585
583
585
592
594
601
601
600
600
600
600
599
599
599
598
598
597
597
597
598
599
600
601
603
604
606
606
605
604
603
602
602
602
603
603
603
606
608
609
606
604
603
600
600
604
608
613
623
622
619
618
617
616
613
615
617
618
620
619
618
617
628
635
640
644
649
651
655
658
662
641
631
621
620
619
618
616
613
611
611
611
613
614
615
618
617
617
617
618
618
618
619
620
620
621
621
620
619
618
617
617
618
619
620
620
620
620
620
639
651
663
663
663
667
671
678
684
700
708
714
705
688
676
670
663
659
660
660
662
664
669
681
686
684
682
680
678
678
679
680
681
682
682
682
682
682
682
683
684
684
685
687
688
689
690
691
693
695
696
697
700
703
706
708
716
719
720
717
718
731
733
728
727
722
722
724
726
728
729
736
738
738
737
735
734
731
742
746
750
748
746
744
743
741
741
742
745
746
747
747
745
741
740
739
739
739
739
739
740
741
748
750
756
759
761
762
760
750
750
752
755
758
762
765
768
772
774
775
775
775
775
775
775
775
775
775
775
775
775
775
775
775
775
775
776
776
780
783
783
784
785
791
796
799
802
802
801
800
799
799
798
798
802
805
807
809
812
820
822
824
826
831
839
841
842
844
846
848
850
851
852
855
856
857
858
858
858
858
858
861
862
863
870
879
880
881
881
882
882
883
884
885
886
886
886
885
882
883
889
887
888
889
890
892
892
892
893
894
894
894
894
893
892
891
890
890
896
898
897
896
896
897
897
900
900
900
900
902
902
903
903
904
904
904
906
906
909
912
914
917
920
920
921
923
924
925
927
927
928
929
930
930
932
933
933
936
945
948
949
950
950
950
951
952
952
957
963
966
970
971
974
975
972
971
974
976
977
977
978
978
979
979
979
979
979
980
980
981
982
984
989
993
996
1001
1001
1001
1001
1001
1003
1004
1008
1009
1013
1014
1015
1015
1015
1017
1018
1019
1020
1021
1023
1023
1024
1028
1030
1032
1046
1046
1046
1046
1046
1046
1046
1046
1046
1046
1046
1047
1047
1050
1050
1051
1054
1055
1057
1057
1057
1058
1058
1059
1059
1060
1062
1064
1066
1067
1068
1070
1071
1072
1077
1079
1085
1091
1098
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1105
1105
1110
1113
1115
1116
1117
1119
1120
1133
1135
1138
1140
1148
1151
1172
1174
1175
1175
1180
1181
1183
1185
1186
1187
1188
1188
1189
1189
1189
1189
1189
1189
1189
1193
1196
1198
1200
1201
1203
1204
1209
1209
1210
1210
1209
1202
1199
1198
1196
1194
1191
1190
1187
1186
1185
1185
1184
1183
1181
1180
1179
1176
1182
1185
1185
1184
1183
1182
1181
1180
1178
1175
1173
1173
1173
1177
1179
1179
1177
1177
1176
1176
1175
1174
1173
1164
1159
1157
1156
1155
1155
1155
1155
1156
1156
1155
1148
1143
1143
1145
1147
1152
1142
1137
1128
1126
1125
1122
1118
1114
1107
1104
1104
1102
1100
1099
1099
1098
1096
1093
1091
1089
1086
1082
1076
1071
1066
1069
1076
1080
1083
1084
1078
1071
1058
1053
1050
1048
1047
1046
1045
1036
1025
1022
1019
1019
1018
1017
1017
1014
1011
1010
1010
1009
1009
1009
1009
1009
1009
1009
1006
1001
996
990
986
985
984
984
982
982
982
984
985
989
991
989
989
989
988
988
988
984
983
977
972
968
965
964
964
963
963
962
963
965
967
970
971
970
970
970
969
966
962
959
956
953
944
939
933
932
931
930
929
930
932
934
936
937
938
938
936
935
935
933
930
929
927
923
922
921
920
919
919
918
918
917
913
912
911
911
910
910
909
909
909
910
912
913
914
917
918
919
919
919
919
919
919
919
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
914
910
907
906
904
903
901
889
888
886
883
880
879
874
873
872
871
869
868
867
868
869
870
870
869
867
867
867
866
866
865
865
864
863
862
861
861
859
864
865
866
867
868
872
875
883
887
890
893
915
923
928
931
940
948
960
972
973
973
973
973
973
973
973
972
971
970
969
967
961
961
962
962
965
966
968
970
976
984
985
992
997
997
997
998
998
998
999
999
999
1003
1006
1008
1012
1015
1019
1022
1025
1027
1030
1029
1028
1028
1026
1025
1024
1024
1023
1024
1026
1034
1036
1038
1040
1039
1038
1038
1037
1036
1035
1045
1050
1054
1059
1063
1063
1059
1056
1040
1047
1058
1062
1064
1069
1090
1099
1120
1122
1124
1125
1125
1126
1128
1128
1129
1131
1132
1134
1137
1139
1141
1147
1148
1148
1149
1149
1149
1152
1153
1155
1160
1161
1162
1163
1164
1163
1160
1158
1159
1160
1161
1163
1163
1164
1164
1170
1176
1180
1187
1192
1213
1218
1218
1218
1218
1218
1217
1217
1217
1217
1216
1216
1216
1216
1216
1223
1239
1245
1253
1256
1261
1263
1266
1267
1269
1272
1276
1278
1280
1282
1285
1287
1287
1288
1289
1289
1289
1290
1294
1295
1297
1302
1303
1309
1313
1317
1319
1325
1330
1338
1343
1346
1349
1350
1352
1352
1353
1355
1357
1359
1361
1361
1362
1362
1363
1364
1364
1365
1365
1365
1365
1364
1363
1360
1360
1363
1365
1367
1368
1366
1365
1363
1362
1361
1362
1362
1363
1360
1357
1353
1352
1352
1357
1358
1358
1359
1356
1354
1351
1347
1345
1345
1345
1343
1342
1340
1335
1332
1328
1322
1311
1310
1307
1305
1302
1302
1302
1303
1309
1311
1316
1322
1323
1323
1323
1323
1320
1319
1314
1308
1306
1306
1307
1309
1312
1314
1317
1317
1321
1327
1339
1342
1342
1341
1341
1342
1341
1339
1337
1314
1301
1299
1298
1293
1291
1288
1277
1271
1270
1267
1264
1263
1258
1257
1256
1253
1252
1246
1244
1244
1244
1243
1243
1243
1242
1239
1239
1238
1238
1236
1236
1234
1234
1234
1233
1233
1232
1231
1227
1224
1223
1223
1215
1203
1200
1199
1192
1190
1188
1186
1184
1183
1182
1182
1181
1176
1175
1173
1173
1172
1168
1167
1166
1164
1163
1162
1161
1157
1142
1140
1128
1127
1127
1127
1127
1126
1125
1125
1123
1122
1120
1119
1117
1116
1116
1117
1117
1119
1119
1120
1120
1120
1118
1117
1116
1115
1113
1110
1109
1109
1110
1111
1111
1112
1113
1113
1112
1112
1110
1107
1104
1103
1103
1103
1102
1102
1102
1100
1100
1097
1091
1089
1087
1073
1066
1064
1060
1057
1044
1041
1038
1034
1036
1037
1037
1038
1038
1036
1035
1033
1014
1007
1003
1002
1000
998
997
997
990
987
983
981
972
974
977
979
982
985
987
988
996
995
994
990
990
986
982
979
976
974
966
962
956
953
952
952
951
950
947
941
926
920
923
925
926
930
932
936
933
931
927
924
910
909
905
899
897
891
884
883
883
882
882
881
881
881
880
879
877
876
870
867
866
864
861
859
846
838
830
826
833
837
841
845
849
854
860
854
849
843
838
834
826
814
813
811
810
808
810
811
813
815
817
805
802
800
797
796
795
794
794
794
792
788
786
772
771
768
760
738
737
736
735
734
734
734
734
733
733
732
731
731
730
730
739
741
743
744
744
743
743
741
740
739
737
737
736
732
728
724
710
706
717
721
719
698
698
697
697
697
697
698
698
698
697
695
694
693
693
694
694
694
693
693
692
692
692
694
696
698
700
701
699
695
681
680
679
677
677
677
678
678
677
676
676
672
669
667
665
664
663
660
659
656
655
655
655
655
655
655
656
656
656
656
655
653
647
646
645
644
638
637
636
635
633
632
632
632
632
633
636
637
635
633
631
630
629
627
626
628
630
638
643
645
643
639
633
622
618
620
620
618
617
616
616
615
615
615
614
612
612
612
612
611
611
611
611
610
610
610
610
608
607
606
606
605
605
605
606
606
613
613
611
607
605
601
600
600
600
600
600
600
600
596
595
595
595
594
594
594
593
593
592
591
591
588
583
585
586
588
590
591
589
588
592
602
596
593
587
581
586
587
588
590
591
592
594
595
595
599
619
619
610
604
588
594
599
602
604
608
611
607
604
588
585
582
572
567
569
572
575
580
580
563
552
547
543
543
542
542
550
555
562
562
561
560
557
555
555
554
554
554
554
554
555
552
551
550
548
551
552
556
566
562
560
554
551
544
541
530
531
536
542
544
546
547
545
541
537
536
535
535
534
531
530
526
523
520
521
521
520
520
520
519
519
518
518
517
517
516
516
516
516
516
516
515
515
514
514
514
517
518
523
524
529
531
532
534
536
533
531
530
529
528
527
525
523
522
522
523
523
524
524
526
540
541
539
533
529
525
524
524
524
524
524
524
524
524
523
522
522
521
518
510
508
510
513
518
524
522
522
521
521
521
521
521
521
517
505
500
498
498
497
496
495
487
480
479
485
487
490
494
490
480
477
478
479
480
488
492
493
493
488
484
482
482
483
485
488
480
476
475
479
482
485
488
488
487
485
482
478
470
463
466
467
467
467
467
467
468
468
469
469
467
466
465
464
461
459
457
457
459
464
465
466
468
465
461
455
455
455
455
455
455
454
453
452
452
452
452
452
453
454
454
454
454
454
456
462
459
452
450
449
448
447
444
443
442
442
442
442
442
441
441
444
446
447
446
443
441
439
437
432
431
429
429
430
432
433
437
438
438
438
438
438
438
438
436
434
430
430
430
428
429
431
432
432
431
430
429
427
427
426
425
425
425
425
425
424
423
423
423
422
420
418
416
414
414
413
412
412
412
413
414
417
417
417
417
418
418
417
416
412
411
411
411
411
411
411
412
412
413
413
414
414
414
412
410
410
409
409
409
408
406
405
405
404
403
403
403
403
404
404
404
405
405
405
405
405
405
405
405
405
406
406
407
408
409
409
410
413
414
415
419
420
420
421
422
422
423
424
427
428
429
430
430
432
432
432
433
433
433
434
434
434
434
434
435
436
438
440
441
442
438
437
431
430
430
431
431
431
422
422
422
422
428
432
434
437
438
440
448
453
457
461
461
461
462
463
463
463
464
464
464
463
463
463
463
463
463
451
448
447
446
447
448
448
447
443
436
436
436
436
436
441
442
441
436
435
435
437
436
436
436
436
436
437
437
436
434
431
429
428
425
425
425
425
425
425
424
424
424
423
422
422
422
422
423
423
424
424
424
424
424
424
425
426
426
426
428
428
432
433
434
434
435
435
436
434
431
431
432
433
434
434
435
436
437
437
439
439
439
440
440
441
441
442
442
443
445
446
446
443
442
442
441
441
443
443
443
444
444
445
445
446
447
449
453
453
453
452
455
457
457
459
460
461
461
461
461
465
467
470
470
470
466
465
464
464
464
464
464
466
470
470
469
468
470
471
471
471
471
471
472
473
474
474
474
476
477
479
480
482
483
486
488
491
507
512
512
512
510
509
512
512
513
514
516
517
518
519
520
521
522
525
529
530
531
534
536
537
539
540
541
542
544
545
547
548
553
554
557
558
560
561
564
565
570
570
571
572
572
573
575
576
577
578
581
582
583
584
587
589
590
590
591
591
592
593
593
594
594
595
597
598
599
599
600
601
601
602
603
604
604
604
604
605
605
606
606
607
607
608
609
610
611
611
612
613
614
615
616
617
618
619
620
623
631
640
641
642
643
644
644
645
648
652
664
664
665
665
667
668
669
670
671
672
680
683
692
693
698
699
700
702
706
712
713
716
719
722
725
726
727
729
731
732
732
736
744
746
746
746
750
752
756
759
763
766
767
768
768
768
769
769
769
771
771
772
773
776
776
777
778
780
783
784
785
785
786
786
787
791
793
798
807
811
818
821
823
832
837
838
842
843
848
849
854
858
861
862
866
867
869
871
873
875
880
883
887
890
894
908
909
908
906
906
906
906
906
906
905
903
902
901
900
899
897
896
895
891
887
882
872
869
867
867
865
864
862
856
853
853
853
853
853
853
852
848
847
847
847
846
846
842
841
840
839
836
834
833
832
826
825
825
825
825
825
825
825
825
825
825
825
825
824
818
817
814
809
807
805
804
804
804
804
804
804
804
804
803
803
802
802
801
801
800
797
795
793
784
781
779
777
776
774
773
770
769
769
769
768
768
767
767
767
767
767
767
767
766
764
763
762
760
757
756
756
756
756
756
756
756
756
756
756
754
752
748
744
734
734
732
730
728
727
724
722
722
722
721
721
721
720
719
718
717
714
711
711
709
708
706
704
703
702
700
699
698
697
696
694
694
691
689
685
683
680
679
678
678
678
678
678
678
678
677
676
676
676
675
675
675
673
669
666
666
665
665
664
664
663
661
657
654
652
648
644
640
639
639
638
637
637
636
636
637
638
639
640
640
639
635
633
631
628
626
624
622
626
629
627
621
617
610
610
611
612
613
614
614
614
614
614
611
610
609
608
607
604
603
602
598
592
590
586
576
574
572
570
565
562
560
559
556
556
555
555
555
555
555
555
555
555
555
554
553
547
546
545
540
538
537
536
534
533
533
532
531
531
531
527
521
519
518
516
515
514
513
509
507
507
507
507
507
509
501
496
496
496
496
496
496
496
495
494
493
493
489
488
491
494
495
495
497
498
498
493
493
493
495
497
499
500
499
497
496
494
490
485
480
483
484
484
483
475
472
469
468
468
466
465
464
463
461
459
457
451
444
438
437
436
435
434
434
434
434
434
434
435
435
435
434
431
430
431
431
431
431
431
431
430
427
427
425
425
424
420
420
419
419
419
417
416
414
414
412
411
411
409
409
408
408
407
407
406
404
403
403
403
403
403
403
404
404
404
404
404
403
402
400
400
400
399
392
391
391
391
389
389
388
386
384
383
383
383
383
383
383
384
384
384
384
384
383
383
383
382
382
382
382