64
64
64
66
69
72
73
82
83
86
92
94
102
106
111
113
115
116
117
117
117
118
120
121
122
123
126
126
125
124
123
122
121
119
119
118
117
117
116
116
115
114
114
113
112
112
113
114
115
117
118
119
122
123
125
126
127
127
129
129
132
134
135
136
140
139
137
136
136
135
134
133
130
130
130
128
127
120
116
107
84
80
69
64
60
58
53
53
54
54
54
55
55
56
56
56
57
57
58
60
62
62
63
64
65
69
69
69
69
69
69
73
74
75
75
76
77
78
79
81
82
84
84
85
85
86
86
87
87
87
89
89
89
89
89
91
92
93
94
94
94
94
100
102
104
112
117
130
131
133
134
136
141
143
145
147
148
149
150
153
161
161
161
161
164
165
166
168
169
170
171
172
181
184
185
187
188
189
191
192
193
197
202
203
207
211
215
261
264
266
280
287
291
295
301
304
308
314
318
319
319
319
319
322
325
328
331
335
341
345
348
353
355
358
362
366
374
379
383
385
388
389
390
400
404
407
433
438
442
457
460
461
464
466
468
471
475
477
480
484
495
501
514
514
522
527
548
551
557
561
564
570
575
580
585
592
598
605
614
621
627
633
642
640
628
621
607
599
588
584
580
575
571
567
558
552
541
530
512
506
484
479
477
475
473
472
470
458
427
416
415
410
409
411
415
418
425
428
437
477
493
498
504
523
537
573
583
596
650
655
660
665
670
675
679
686
691
701
711
716
722
722
723
724
723
714
695
688
684
676
669
663
659
643
632
623
616
611
598
583
573
570
564
562
557
554
561
564
568
569
570
573
573
574
574
576
578
578
577
576
575
575
575
576
576
576
577
577
577
578
579
579
579
581
583
584
593
594
594
594
593
593
595
597
598
599
617
629
633
636
645
648
648
650
652
654
655
657
665
665
675
675
675
676
676
676
677
679
680
680
681
681
682
682
683
683
684
684
685
686
687
688
688
688
689
689
692
694
695
695
705
707
710
711
714
720
724
725
727
729
732
742
748
749
753
756
760
775
779
784
791
796
808
814
820
841
844
848
853
856
858
861
864
872
874
874
874
875
875
875
833
829
826
823
820
818
809
807
805
803
800
798
793
790
788
785
782
780
777
775
767
764
772
772
772
772
771
764
763
762
761
755
750
749
748
744
732
729
729
729
729
729
730
659
659
659
659
659
658
658
655
654
653
653
653
653
653
653
653
655
657
658
659
659
658
649
644
641
640
639
638
633
632
628
628
628
627
626
626
625
625
625
625
625
625
625
625
625
625
625
626
626
626
626
626
626
626
626
626
624
623
622
622
621
620
617
616
617
618
619
619
620
621
622
624
624
625
625
626
626
626
626
625
624
624
623
623
619
618
617
616
611
609
609
608
607
605
602
600
599
598
592
591
590
589
589
589
588
588
587
586
586
585
582
582
581
581
581
581
581
581
581
582
582
582
583
583
583
584
584
584
584
583
582
581
580
579
578
578
575
574
574
574
574
574
574
574
574
574
574
574
574
574
574
573
573
573
573
573
572
570
569
569
568
567
565
565
564
564
564
570
571
575
577
580
590
593
597
602
606
608
612
615
618
622
625
627
627
627
628
629
631
632
633
628
615
610
604
602
595
586
593
601
607
608
608
609
621
634
634
635
638
641
643
645
646
647
650
652
652
653
653
654
654
654
655
657
657
657
657
657
657
657
657
657
656
656
656
656
656
656
655
655
655
655
655
655
655
655
655
655
655
655
655
655
655
656
656
657
657
657
657
658
658
658
658
658
659
659
660
660
661
678
698
697
703
705
707
716
722
729
728
727
727
726
715
714
712
712
711
711
710
709
709
708
706
686
683
681
677
672
670
669
665
661
660
661
670
674
667
665
662
643
642
641
629
628
628
627
627
626
625
625
622
621
621
621
621
621
622
623
625
627
627
628
628
629
630
631
631
632
633
635
635
635
636
637
637
637
638
639
640
641
642
643
646
649
651
652
655
657
658
658
658
658
658
657
657
656
656
656
656
656
656
656
656
656
656
656
656
656
657
659
661
662
663
664
664
667
667
668
669
670
672
674
677
679
686
688
691
692
693
693
696
696
697
698
699
700
700
701
702
702
704
705
709
712
713
714
720
721
730
732
732
733
733
733
734
734
734
738
738
739
741
742
744
745
746
746
747
747
747
748
748
749
749
750
753
754
755
755
756
756
757
758
759
760
765
771
773
776
779
783
784
786
786
787
793
805
807
808
809
810
811
812
812
814
816
819
820
823
823
825
829
837
840
843
844
844
850
851
850
850
855
879
883
887
891
892
905
921
926
930
932
927
924
922
920
918
912
910
907
905
902
898
898
898
898
898
898
900
900
889
881
862
861
859
858
858
857
855
854
853
853
852
852
851
851
850
850
845
835
830
829
828
827
826
825
825
823
822
820
818
814
811
807
803
800
795
792
792
791
789
785
783
782
780
779
778
770
768
762
755
754
752
745
744
743
741
731
729
726
724
720
718
715
707
705
705
704
702
700
698
695
691
689
687
659
658
659
661
662
663
664
666
667
668
669
664
630
629
628
627
626
625
624
623
609
607
605
604
603
602
601
593
593
593
593
592
592
591
591
591
591
589
589
589
588
587
582
572
569
566
563
563
563
563
563
563
563
563
563
562
560
559
556
552
552
551
549
548
548
548
547
546
544
543
542
540
539
536
535
534
533
526
523
521
518
509
508
508
507
507
506
506
503
503
503
503
503
503
503
503
503
503
503
503
502
499
497
496
495
493
491
490
485
482
479
478
477
476
475
474
473
472
471
471
470
470
470
470
469
469
469
469
471
473
475
478
479
489
490
492
492
488
484
483
476
468
445
448
449
449
450
451
452
454
456
457
457
458
459
459
459
458
458
457
456
456
454
453
452
451
450
450
449
446
472
474
476
476
477
478
478
471
446
439
438
438
438
438
430
428
427
426
425
423
423
423
422
422
422
422
423
424
424
425
425
424
424
424
424
423
421
420
420
419
419
419
419
418
418
418
418
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
416
416
416
416
416
415
415
415
415
415
416
420
421
421
422
422
424
426
430
414
411
410
410
410
410
410
410
410
410
411
413
414
415
416
416
415
410
410
410
410
411
412
412
412
412
412
412
411
411
410
410
409
408
408
407
408
408
409
409
409
412
412
413
413
414
414
414
414
414
414
413
413
412
412
412
411
410
410
410
410
410
410
410
409
408
407
402
403
404
406
407
408
409
410
412
413
414
414
415
415
413
408
405
402
402
401
401
401
401
401
400
400
399
398
398
398
397
396
396
395
398
403
401
400
399
397
397
399
407
405
402
400
397
395
393
388
388
387
387
387
387
386
386
388
400
403
409
413
420
416
413
410
408
405
391
391
391
391
391
390
390
390
390
390
390
390
390
399
400
400
399
398
397
395
395
393
390
386
389
390
391
392
394
395
395
396
396
396
395
395
394
393
393
392
392
391
390
388
388
387
387
386
386
385
385
384
383
383
382
382
382
386
388
389
391
393
394
394
393
391
385
384
387
388
388
389
389
389
390
390
389
386
386
385
385
383
383
382
382
382
381
379
377
365
361
361
357
356
356
356
356
359
364
366
381
376
372
370
368
366
364
362
362
360
357
357
358
358
359
360
360
360
361
361
362
362
362
363
365
365
366
367
368
369
371
372
373
374
375
375
373
373
372
372
372
373
383
385
387
390
394
398
399
402
405
408
433
439
444
447
453
456
459
460
460
461
465
468
478
495
485
478
474
471
468
464
466
487
491
495
500
506
512
517
522
527
530
535
534
529
522
521
519
517
516
516
515
515
514
514
514
514
514
513
513
513
508
506
503
501
495
493
491
489
486
481
479
475
473
471
465
462
456
453
452
450
445
441
436
429
425
423
422
418
416
416
416
416
415
415
415
415
415
415
415
415
415
415
416
416
418
420
421
421
422
423
424
426
427
427
428
428
429
429
430
430
430
430
430
430
430
430
430
430
430
430
430
430
431
432
433
435
437
440
441
442
446
447
447
447
447
447
447
447
447
447
447
446
446
446
446
446
446
446
446
448
448
449
450
451
451
452
452
454
454
455
456
456
455
454
454
454
453
453
453
452
452
451
451
451
451
450
450
449
449
449
449
450
451
451
451
452
453
453
454
455
455
455
455
455
455
455
454
453
452
452
452
451
450
449
449
448
448
447
447
447
446
446
446
447
454
460
462
463
464
466
467
468
470
471
473
474
475
476
477
478
479
480
481
482
480
479
479
478
477
476
475
474
474
473
471
471
471
471
470
469
468
468
468
468
468
468
468
469
469
469
469
469
469
469
469
470
470
470
470
470
470
470
470
470
470
470
470
470
470
469
469
469
468
468
468
468
468
468
468
467
467
467
467
467
467
467
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
467
467
467
467
467
468
473
474
475
476
479
480
483
484
493
498
501
501
500
500
500
499
499
498
498
497
497
497
496
496
496
495
494
494
493
490
487
486
484
483
482
482
483
483
484
485
485
485
486
487
487
489
489
491
492
492
493
494
494
494
494
494
493
493
493
492
492
492
492
493
493
494
495
496
496
496
497
498
498
501
501
503
503
504
506
509
509
510
510
510
511
511
512
512
513
515
519
520
521
522
522
524
525
525
525
524
523
523
522
522
521
521
521
521
521
522
522
523
523
524
524
524
524
525
525
526
526
527
528
529
529
530
531
532
532
534
536
537
538
539
539
539
539
539
539
542
544
544
546
546
547
547
548
548
549
549
550
551
553
554
555
556
556
557
557
559
560
561
562
562
563
564
566
567
568
570
572
578
595
606
610
611
609
608
608
608
607
606
604
604
601
601
600
599
599
598
598
598
597
597
597
596
596
596
595
595
594
594
593
593
592
592
592
592
591
591
590
590
590
590
590
590
590
590
590
590
589
589
589
589
589
589
589
589
589
589
589
589
589
590
591
592
594
595
596
597
599
601
602
602
603
605
609
612
616
618
619
620
621
622
623
625
630
633
637
639
644
648
650
654
657
660
663
665
667
669
672
674
675
678
680
683
685
688
690
691
693
696
700
702
702
704
704
705
708
709
711
712
714
717
719
720
722
723
725
725
726
728
729
730
731
732
734
737
738
741
742
743
745
747
749
751
751
755
758
759
761
763
765
768
769
771
774
774
776
778
780
782
783
785
787
789
791
792
794
799
800
802
804
806
820
823
828
849
814
812
811
810
808
807
795
787
777
770
761
751
742
736
734
726
720
711
708
703
697
694
682
682
682
682
681
681
681
680
680
680
680
679
679
679
679
679
679
679
679
679
679
680
680
680
680
680
681
681
681
682
682
683
683
684
685
686
685
684
683
682
681
681
683
684
690
691
691
692
693
693
694
694
693
692
691
691
690
691
691
692
695
696
697
698
699
701
711
712
722
724
727
726
723
720
718
716
714
752
754
758
760
756
755
753
752
765
774
771
770
769
769
768
767
766
765
765
764
765
766
766
767
768
770
771
773
778
780
778
775
771
764
763
758
760
760
760
763
768
771
775
777
779
781
783
785
786
786
787
787
788
789
791
792
793
793
797
804
816
859
866
863
861
857
855
839
833
831
830
828
826
825
823
822
820
819
820
822
824
826
834
835
836
837
837
838
838
839
839
839
839
839
839
838
836
835
835
835
835
836
844
846
847
848
849
850
861
862
863
864
866
869
871
872
872
872
871
871
868
861
859
857
855
855
857
861
864
866
866
861
853
835
850
853
855
859
862
864
864
864
864
857
855
852
851
848
845
843
837
837
837
838
838
838
838
838
839
839
839
839
840
840
840
841
839
840
841
843
843
844
846
847
849
850
852
854
855
856
858
860
863
865
865
865
865
865
865
864
864
864
865
865
866
867
867
868
869
870
870
870
870
870
870
870
870
870
871
873
874
875
876
876
876
876
876
875
875
875
875
874
896
897
897
896
895
904
904
905
906
906
907
908
910
910
910
910
910
910
910
910
910
910
910
910
910
910
910
910
910
910
910
910
911
912
915
920
921
922
927
928
929
929
931
934
948
951
952
954
959
944
939
939
938
937
935
934
948
946
945
944
944
944
945
946
947
947
948
950
952
955
955
955
957
959
959
960
961
963
966
966
966
966
966
966
966
966
970
971
972
973
976
988
1002
997
991
988
987
1027
1022
1018
1021
1025
1028
1039
1044
1047
1050
1053
1056
1056
1056
1103
1102
1101
1110
1113
1115
1117
1120
1123
1123
1124
1128
1131
1132
1132
1133
1134
1136
1137
1138
1139
1140
1140
1141
1142
1143
1144
1144
1146
1148
1149
1149
1149
1150
1151
1152
1156
1157
1159
1160
1162
1166
1168
1170
1171
1175
1176
1178
1182
1185
1187
1189
1191
1196
1197
1200
1203
1205
1206
1206
1202
1201
1199
1197
1195
1193
1191
1189
1187
1187
1192
1194
1195
1198
1200
1202
1208
1213
1214
1215
1217
1228
1230
1234
1237
1239
1246
1251
1253
1254
1258
1261
1263
1265
1268
1271
1271
1270
1269
1267
1263
1262
1257
1253
1250
1241
1240
1239
1238
1236
1235
1235
1235
1235
1235
1235
1235
1235
1235
1235
1235
1235
1235
1234
1234
1233
1233
1233
1233
1232
1232
1232
1231
1230
1230
1230
1230
1230
1230
1232
1233
1233
1234
1235
1236
1236
1236
1237
1237
1237
1237
1237
1237
1237
1237
1237
1237
1238
1238
1238
1238
1238
1238
1238
1238
1238
1237
1235
1234
1233
1231
1229
1228
1227
1226
1225
1223
1220
1217
1216
1214
1213
1212
1212
1212
1212
1212
1211
1211
1211
1211
1211
1211
1211
1211
1212
1212
1213
1213
1213
1214
1214
1214
1215
1215
1216
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1216
1216
1215
1215
1215
1214
1214
1214
1213
1212
1211
1211
1211
1210
1209
1209
1208
1207
1206
1206
1205
1204
1204
1204
1204
1205
1205
1205
1205
1209
1213
1214
1220
1222
1228
1231
1231
1231
1231
1233
1237
1222
1220
1207
1208
1209
1210
1208
1206
1204
1198
1196
1197
1194
1194
1194
1193
1192
1190
1189
1187
1183
1183
1186
1186
1183
1177
1177
1176
1171
1171
1171
1170
1167
1167
1165
1164
1163
1162
1161
1160
1156
1142
1142
1139
1139
1138
1138
1137
1134
1133
1133
1130
1130
1130
1129
1126
1123
1122
1119
1119
1118
1118
1118
1117
1117
1117
1115
1115
1115
1114
1114
1114
1115
1124
1124
1123
1123
1122
1122
1122
1122
1122
1123
1123
1124
1124
1125
1125
1125
1125
1125
1124
1124
1124
1124
1124
1124
1124
1124
1124
1124
1124
1124
1124
1123
1121
1118
1115
1108
1108
1108
1108
1108
1108
1108
1108
1109
1109
1109
1109
1109
1109
1109
1108
1107
1106
1105
1104
1101
1100
1098
1097
1096
1095
1094
1096
1099
1102
1106
1112
1113
1114
1114
1114
1114
1114
1114
1111
1106
1103
1099
1096
1094
1092
1087
1085
1083
1082
1082
1082
1081
1081
1080
1080
1079
1079
1078
1078
1078
1078
1078
1078
1078
1078
1078
1079
1079
1081
1081
1081
1082
1083
1083
1083
1083
1083
1083
1082
1081
1081
1080
1080
1080
1079
1079
1079
1078
1079
1080
1082
1084
1090
1092
1095
1095
1096
1096
1097
1098
1099
1099
1100
1100
1101
1100
1099
1099
1096
1096
1095
1094
1094
1094
1095
1098
1099
1100
1101
1102
1105
1107
1108
1109
1112
1113
1113
1113
1100
1087
1083
1080
1078
1073
1068
1057
1047
1043
1040
1024
1014
1010
1006
1002
996
996
995
995
994
994
993
993
993
992
991
991
990
990
989
989
989
989
989
989
989
989
989
989
989
989
989
988
988
988
987
987
987
987
987
987
987
987
988
990
991
991
993
995
998
999
994
994
993
993
993
993
1004
1018
1028
1035
1046
1048
1055
1060
1069
1074
1080
1086
1092
1101
1175
1184
1188
1191
1194
1196
1201
1206
1210
1223
1227
1232
1237
1242
1247
1252
1256
1265
1270
1274
1278
1281
1284
1296
1308
1310
1312
1315
1317
1319
1314
1311
1307
1283
1282
1283
1284
1285
1286
1287
1288
1289
1291
1295
1295
1283
1280
1262
1262
1261
1259
1258
1257
1255
1253
1251
1250
1250
1248
1248
1248
1247
1246
1245
1244
1243
1243
1242
1242
1242
1241
1240
1240
1239
1239
1239
1238
1238
1238
1238
1238
1238
1238
1238
1238
1238
1238
1238
1238
1238
1237
1236
1233
1233
1232
1231
1231
1230
1229
1229
1228
1227
1227
1225
1224
1224
1223
1221
1220
1219
1219
1219
1219
1220
1220
1220
1221
1221
1222
1223
1223
1223
1226
1227
1228
1229
1230
1232
1234
1235
1236
1238
1239
1239
1240
1241
1245
1252
1259
1267
1286
1290
1295
1299
1301
1304
1306
1307
1310
1312
1313
1321
1321
1320
1320
1319
1318
1316
1308
1268
1259
1256
1253
1250
1250
1306
1316
1321
1344
1346
1347
1347
1347
1346
1343
1289
1323
1336
1339
1341
1343
1344
1345
1346
1347
1348
1349
1350
1352
1353
1356
1357
1362
1363
1363
1363
1363
1363
1364
1364
1364
1364
1365
1365
1365
1365
1365
1365
1357
1355
1352
1347
1349
1351
1352
1353
1355
1355
1356
1357
1357
1353
1352
1350
1349
1347
1345
1344
1341
1339
1339
1342
1345
1347
1349
1349
1350
1350
1351
1351
1351
1352
1353
1353
1354
1356
1358
1361
1363
1363
1364
1366
1367
1368
1365
1358
1345
1338
1333
1324
1227
1187
1183
1180
1176
1173
1167
1160
1160
1158
1152
1148
1134
1129
1126
1101
1091
1089
1086
1084
1081
1048
1045
1039
1035
1032
1029
1026
1014
1013
1012
1012
1008
1004
1001
1001
1000
1000
999
999
997
996
996
995
995
995
995
995
995
995
995
995
995
995
995
995
995
995
995
995
995
995
995
994
994
993
993
993
993
994
994
995
995
996
996
998
999
1000
1002
1002
1003
1004
1005
1006
1006
1007
1027
1031
1038
1042
1048
1058
1063
1068
1116
1117
1124
1126
1130
1143
1144
1146
1149
1150
1151
1156
1157
1162
1162
1162
1162
1163
1163
1163
1163
1163
1164
1164
1164
1164
1165
1165
1167
1168
1168
1168
1168
1169
1170
1170
1171
1173
1174
1174
1175
1176
1177
1178
1179
1179
1180
1181
1182
1183
1183
1184
1184
1185
1187
1187
1188
1189
1190
1190
1191
1192
1192
1193
1193
1194
1194
1195
1196
1198
1198
1199
1200
1201
1201
1202
1203
1203
1204
1204
1205
1206
1206
1208
1209
1210
1212
1212
1212
1213
1213
1214
1214
1214
1215
1215
1215
1216
1216
1216
1217
1217
1218
1218
1218
1218
1219
1220
1220
1222
1227
1231
1234
1236
1238
1240
1244
1246
1249
1251
1254
1257
1261
1263
1264
1266
1267
1271
1273
1275
1277
1279
1280
1283
1286
1289
1292
1294
1298
1299
1301
1304
1308
1311
1310
1304
1300
1294
1284
1271
1258
1250
1240
1228
1222
1218
1215
1215
1206
1201
1199
1199
1197
1190
1181
1180
1179
1177
1174
1172
1164
1161
1157
1153
1146
1145
1144
1136
1129
1125
1123
1120
1115
1112
1110
1109
1108
1104
1097
1095
1091
1090
1087
1079
1074
1065
1057
1056
1054
1049
1037
1034
1027
1023
1019
1013
1011
1003
1001
996
993
987
981
977
970
962
962
962
962
962
962
962
962
962
962
962
962
962
962
962
940
935
932
930
926
925
924
924
917
907
897
892
887
877
872
867
860
859
857
856
854
854
852
851
850
864
865
866
867
868
871
872
872
874
877
880
882
884
885
886
887
887
887
888
889
890
892
894
895
894
892
889
888
887
886
885
885
883
882
882
881
880
878
878
878
877
876
875
875
874
873
872
871
870
866
862
859
858
855
851
844
840
835
834
832
825
820
818
816
815
814
813
811
809
807
806
803
801
799
798
797
793
792
789
786
784
781
773
770
765
762
760
753
749
744
739
738
737
737
733
733
732
730
729
727
726
725
725
724
722
726
728
728
728
728
726
719
714
713
713
715
716
718
719
720
721
728
725
725
725
721
713
706
703
703
703
704
704
705
706
706
706
706
706
706
706
706
706
706
706
706
707
709
710
712
713
713
715
715
715
716
716
717
718
719
719
720
720
721
722
722
722
723
723
723
724
724
724
724
724
724
724
724
724
723
723
723
723
723
723
722
722
722
722
722
721
721
720
720
720
719
719
719
719
719
718
718
718
718
717
717
717
717
717
718
718
718
718
719
720
720
720
720
721
721
721
722
722
722
722
723
723
723
723
723
723
724
724
724
724
725
725
726
726
726
726
726
726
726
728
730
730
731
732
732
733
733
734
734
734
735
736
742
743
751
751
752
753
757
757
758
760
765
766
766
767
768
770
771
771
772
773
774
776
776
777
778
779
779
781
785
786
787
787
788
790
792
801
801
802
802
803
812
812
813
814
817
821
821
821
820
820
819
814
810
807
804
802
817
813
813
812
812
811
811
811
812
813
813
814
814
814
815
816
818
820
825
826
826
830
833
834
836
838
839
841
842
843
845
846
849
850
851
855
857
859
863
863
863
862
862
861
861
861
860
860
859
858
858
858
857
857
856
856
856
856
855
855
854
854
853
853
851
850
849
848
847
847
846
845
845
844
844
843
843
842
841
841
841
842
844
846
847
847
848
848
848
849
850
850
851
852
853
853
855
863
866
869
871
881
885
889
894
901
907
911
912
913
914
916
917
918
919
920
930
936
941
945
949
951
952
952
953
953
941
935
927
917
911
896
891
879
874
874
875
876
877
877
877
878
878
880
882
883
883
883
884
884
883
881
875
873
868
861
860
857
856
853
850
847
833
830
830
829
827
826
825
824
823
818
817
814
812
809
807
806
805
804
803
802
802
799
794
790
788
787
785
783
782
781
779
778
777
776
775
773
769
767
765
751
746
744
741
735
731
729
726
717
713
711
709
702
700
697
695
692
689
687
682
680
678
676
673
670
667
666
664
663
658
656
652
651
650
648
644
642
641
639
635
630
627
625
623
621
615
612
611
606
604
603
602
601
600
598
596
594
592
589
587
581
580
579
578
576
572
569
566
563
556
553
552
541
539
537
529
527
522
520
517
505
503
502
490
485
482
481
479
473
471
467
465
463
459
457
455
449
447
446
440
438
434
432
430
426
425
423
422
419
417
413
412
409
408
407
403
400
394
393
388
387
386
384
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
380
379
379
377
374
373
372
370
369
368
367
366
366
365
364
363
363
362
359
358
357
356
354
352
350
348
347
345
344
342
341
340
340
334
334
332
330
327
326
326
325
317
316
312
312
312
312
311
310
309
307
307
305
305
304
303
303
303
305
305
306
307
310
311
312
314
318
320
321
323
327
328
329
330
333
344
349
351
355
362
366
367
368
369
374
375
376
378
380
383
381
380
377
376
374
373
371
370
369
368
366
363
361
360
358
357
356
355
352
351
349
347
345
343
340
335
334
330
329
328
327
322
320
318
317
316
314
313
309
308
307
305
303
302
301
299
297
295
292
290
289
286
283
280
277
276
273
270
268
267
266
267
269
269
270
271
272
272
273
274
275
276
277
279
279
280
280
280
281
282
283
283
284
290
292
295
297
301
313
318
320
321
322
324
330
333
334
335
336
337
338
341
343
344
344
344
347
347
349
350
354
355
357
358
358
362
364
368
369
369
370
370
371
371
373
374
374
374
375
376
378
379
381
382
383
385
386
386
388
389
390
389
388
379
376
374
373
371
370
368
366
363
360
356
346
343
340
338
337
335
334
329
325
323
320
318
316
315
313
310
308
306
303
301
299
294
290
287
284
283
282
280
272
269
266
260
258
256
254
254
254
253
253
253
252
252
251
251
250
249
249
249
249
248
248
248
247
247
246
246
245
244
244
244
243
243
243
242
242
242
241
241
241
240
240
239
239
239
240
241
242
242
243
244
245
245
246
247
248
250
250
251
251
252
252
251
249
247
244
242
242
240
239
237
236
235
234
233
232
231
230
229
229
229
230
230
231
232
234
234
235
236
237
237
239
239
240
240
240
240
240
241
241
241
242
242
242
242
240
238
237
235
234
233
232
230
229
228
227
226
226
225
225
224
224
223
222
221
219
218
216
215
215
214
213
212
211
211
209
209
208
207
206
205
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
204
205
205
205
206
206
207
207
207
208
209
210
211
212
213
213
214
214
215
215
211
209
208
207
206
205
204
203
202
200
198
196
194
192
191
190
189
188
188
187
186
186
185
184
183
182
181
181
180
180
180
179
178
177
176
175
173
173
172
172
171
170
169
168
167
166
164
163
161
160
159
159
159
159
159
159
159
159
159
159
159
159
158
158
158
158
158
158
158
158
157
157
157
157
157
157
156
156
155
155
154
154
153
153
152
152
151
151
150
149
149
148
148
147
147
146
145
145
143
142
142
141
141
140
140
139
139
138
136
135
134
133
132
132
132
131
131
130
130
130
129
129
128
127
126
125
125
125
125
126
127
128
129
130
133
133
135
136
138
139
141
142
140
138
137
135
133
130
128
127
126
125
124
123
122
122
123
123
123
125
126
127
127
128
129
129
129
129
130
130
130
130
130
130
129
129
128
128
127
126
125
125
124
124
123
123
124
124
125
127
129
129
130
132
132
132
131
130
130
129
129
128
128
127
127
128
129
130
131
132
133
134
134
135
136
136
136
136
136
135
135
135
135
134
134
134
134
133
133
133
133
132
132
132
131
131
131
131
131
130
130
130
130
129
129
128
128
128
128
128
128
128
128
129
129
130
131
132
132
133
133
134
135
135
135
136
137
137
137
137
138
138
138
139
139
140
140
141
141
141
142
142
143
143
145
145
146
146
146
147
147
148
148
149
149
149
150
151
151
151
153
153
154
154
155
155
156
156
157
158
158
159
159
160
162
163
164
165
167
169
170
171
171
173
174
174
175
176
176
177
178
179
180
182
184
185
186
188
189
191
193
194
194
195
197
197
198
199
200
201
201
202
202
203
204
204
204
205
205
206
206
207
208
208
209
210
212
213
216
217
220
221
223
225
227
230
234
236
237
237
237
238
238
238
238
238
238
238
239
239
239
239
243
244
247
249
252
257
262
267
270
279
282
285
288
291
293
296
300
306
319
319
319
319
318
318
317
316
315
315
314
313
313
312
311
310
312
313
316
320
321
325
327
329
332
335
338
341
342
344
345
346
348
354
357
361
365
371
375
376
378
380
382
385
389
391
392
393
396
401
405
409
414
418
421
430
436
458
462
466
467
469
470
470
471
473
474
477
479
480
483
485
487
488
493
498
499
501
502
504
505
506
507
509
510
512
514
518
520
521
528
531
532
534
536
543
546
550
552
556
558
564
566
568
570
572
575
577
580
583
585
585
585
586
587
587
588
588
589
589
590
590
591
592
592
593
593
594
595
596
597
597
598
599
599
598
597
595
594
592
590
588
587
586
585
584
583
582
578
575
574
573
573
573
573
572
572
571
571
569
568
567
567
566
564
564
562
560
559
558
558
557
556
556
556
557
558
559
559
560
562
563
564
565
565
566
566
567
567
568
570
570
571
571
573
573
574
575
576
577
577
578
578
578
574
572
571
570
569
568
567
566
565
565
564
562
561
560
559
558
557
556
555
554
552
551
550
549
548
545
543
542
542
541
540
540
539
538
537
535
534
533
533
532
530
530
529
528
527
527
526
524
523
522
521
520
518
516
513
511
509
507
506
505
502
499
497
494
492
489
487
483
481
479
477
472
469
466
464
461
459
456
453
451
447
445
441
440
435
433
427
426
422
417
411
407
403
394
390
387
386
385
384
380
378
376
372
368
364
361
359
355
353
348
346
342
338
336
334
332
330
330
329
328
327
326
325
325
324
317
316
315
314
312
312
311
310
308
304
303
297
288
284
282
278
273
258
254
243
241
233
217
212
211
208
204
200
196
193
189
184
182
178
174
172
171
170
167
166
163
162
160
159
158
157
156
154
153
153
152
151
150
149
148
146
145
142
141
140
139
138
136
133
130
128
126
123
120
118
115
112
108
99
84
80
79
77
73
73
72
71
70
68
67
64
63
63
62
61
61
60
59
59
58
57
56
56
56
56
55
55
55
54
54
53
53
53
52
51
51
50
49
47
45
45
44
44
43
43
41
41
41
41
40
40
40
40
40
39
40
42
46
47
48
47
45
43
42
41
40
39
39
39
40
40
41
41
42
43
43
43
44
44
45
48
48
48
47
47
46
46
44
42
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
44
44
44
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
44
44
44
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
38
38
38
38
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
33
33
33
32
31
31
31
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
35
35
34
33
33
32
32
32
31
31
31
31
31
31
31
31
33
34
34
34
34
33
32
32
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
32
32
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
37
38
38
38
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
38
38
38
38
39
39
37
34
31
31
33
34
36
37
40
40
41
41
41
41
41
41
41
41
40
39
36
35
34
34
33
33
32
32
32
32
32
35
38
39
41
41
40
40
39
38
38
37
38
38
38
38
38
37
37
37
37
37
37
37
37
39
40
40
42
45
47
48
49
50
51
52
54
46
45
43
40
40
39
39
39
39
39
41
41
42
43
45
46
47
53
56
58
62
68
71
70
70
66
65
65
43
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
39
39
38
38
38
37
37
36
33
33
33
30
29
29
28
27
27
26
26
26
26
26
25
25
25
24
23
22
21
20
20
20
19
19
18
18
17
17
16
16
16
16
16
16
15
15
15
15
13
12
12
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
5
5
5
5
6
6
6
6
4
3
3
3
4
4
5
5
6
6
6
6
5
4
4
3
2
1
1
1
1
1
1
2
2
2
2
5
5
5
5
4
4
4
4
4
4
4
4
4
4
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
7
7
7
7
7
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
13
13
13
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
17
18
17
17
18
19
20
22
23
29
33
35
43
44
45
47
50
46
46
41
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
43
45
45
47
47
47
46
45
45
44
44
44
43
43
43
43
43
42
42
42
42
41
41
41
40
40
40
39
38
37
37
37
38
38
38
39
39
39
39
38
38
38
37
36
36
36
35
35
35
32
29
28
27
24
23
22
21
20
20
17
17
16
14
13
11
11
14
14
15
16
18
14
13
13
12
12
11
10
9
9
9
10
10
10
10
11
11
12
14
15
16
16
17
17
17
18
18
20
16
14
12
13
14
15
18
19
23
29
40
42
43
42
41
38
37
33
26
23
20
20
20
20
20
20
22
23
25
28
28
29
29
30
30
30
31
31
31
31
32
32
39
59
62
67
66
63
59
57
55
54
53
52
50
50
49
48
48
45
44
43
37
36
36
36
36
36
36
36
36
36
36
35
32
28
25
23
22
22
20
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
24
29
39
60
63
65
65
65
64
64
63
63
62
62
61
61
60
58
56
51
49
47
45
43
41
39
36
34
26
25
23
22
21
21
20
20
19
18
17
16
16
15
14
12
11
10
10
10
11
11
12
12
13
13
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
27
27
29
31
37
38
39
41
45
46
48
52
56
60
64
68
71
76
79
90
92
95
101
105
108
112
115
118
122
125
128
139
140
147
152
157
165
167
169
169
168
167
166
164
160
158
158
159
160
162
163
164
165
165
165
166
168
169
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
173
173
173
173
173
173
173
173
173
173
173
173
172
172
171
171
170
169
168
168
167
166
166
165
165
165
169
170
170
171
172
172
173
173
173
173
174
174
176
177
178
179
181
182
182
182
183
183
183
183
183
183
183
184
184
184
184
184
184
184
185
184
181
179
179
177
176
166
164
159
158
157
156
154
150
149
142
137
132
130
127
123
120
117
114
112
106
100
99
98
96
94
92
90
83
79
75
73
72
65
63
56
43
40
39
38
37
35
34
31
29
25
24
22
19
18
19
27
34
36
30
29
29
27
27
26
26
24
22
22
21
20
19
22
24
26
28
31
32
33
36
37
38
40
42
42
44
45
47
48
48
48
48
48
48
49
53
56
64
68
71
66
59
56
54
52
50
30
41
45
41
40
39
38
37
36
35
35
34
33
33
29
29
28
26
25
24
23
23
22
21
21
20
19
18
17
17
15
14
12
12
11
11
10
10
10
9
9
8
8
8
8
9
10
11
12
12
12
13
13
13
14
14
14
14
14
13
13
13
12
11
11
11
11
11
11
11
11
10
10
10
9
9
9
8
8
8
8
8
9
9
9
9
9
9
10
10
11
15
16
17
19
20
20
21
21
22
22
21
20
20
17
14
13
12
10
10
9
9
8
8
9
10
10
11
12
12
12
13
13
14
14
15
16
16
17
18
18
19
19
19
20
21
22
23
23
23
22
22
22
21
21
20
20
20
20
20
20
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
17
17
16
16
16
16
16
16
15
15
14
14
13
12
12
11
9
10
11
11
12
13
13
15
15
15
16
17
17
17
17
17
17
18
18
20
21
23
23
23
23
23
26
29
30
31
32
33
35
35
37
40
41
41
43
45
45
46
48
54
55
57
57
58
59
60
60
62
62
64
64
65
66
66
68
72
72
73
79
81
85
101
101
100
100
100
100
100
100
100
100
100
100
100
99
98
97
96
93
91
88
84
79
72
69
67
67
66
66
66
66
66
64
63
59
50
49
47
48
48
51
51
51
51
52
52
53
54
55
56
56
58
60
61
62
62
64
69
76
78
79
76
73
71
67
60
55
47
46
45
45
38
35
26
27
30
35
38
41
42
43
44
45
49
49
49
49
49
49
49
48
48
48
47
45
44
44
44
48
49
53
54
55
55
57
63
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
63
57
51
46
45
42
40
39
38
37
35
34
31
31
29
28
27
27
28
30
32
33
34
34
35
35
36
37
38
40
42
43
44
45
45
48
49
50
51
52
52
53
55
56
58
60
61
62
62
64
66
67
68
69
74
75
76
78
79
81
84
86
87
88
90
90
90
91
91
92
93
93
94
94
95
98
102
104
109
111
111
113
114
115
115
116
118
120
122
123
125
125
125
124
123
123
122
122
122
121
121
121
120
120
119
119
119
118
118
117
116
116
116
115
114
114
112
111
111
110
110
110
108
108
107
107
107
107
107
107
107
107
107
107
106
106
106
106
106
106
106
106
106
105
105
105
105
105
105
105
105
105
105
104