148
147
146
146
146
146
147
147
148
146
145
147
143
148
151
152
154
156
156
161
163
162
162
156
154
154
153
151
151
152
155
155
155
155
157
160
161
161
161
161
161
161
161
162
165
166
166
166
167
167
168
170
168
168
173
173
174
176
175
174
173
173
174
174
175
175
172
172
173
175
178
178
178
178
179
180
181
183
184
184
184
185
185
185
185
185
185
185
183
182
182
180
181
182
183
187
190
190
190
190
190
190
188
188
187
181
181
180
179
178
178
171
169
170
170
173
173
173
173
173
173
174
174
176
176
178
178
178
176
175
174
174
173
173
173
174
174
175
176
177
177
177
177
177
176
175
177
178
180
180
182
184
182
183
183
183
183
183
183
183
184
184
184
185
186
187
188
189
190
190
191
190
190
190
190
190
190
190
190
190
189
185
172
168
160
156
139
141
141
142
143
143
143
143
143
143
149
152
155
138
134
130
127
125
123
120
118
117
116
112
111
110
106
100
77
73
76
78
81
84
86
90
91
91
91
93
96
98
104
107
109
123
124
125
121
119
115
114
113
110
106
107
111
114
117
122
125
125
129
129
129
133
133
133
133
133
131
131
131
133
134
139
138
138
138
145
150
153
162
164
169
173
173
175
175
177
177
177
179
182
188
197
203
207
215
216
217
219
223
226
227
231
230
228
227
227
227
228
231
231
230
229
228
227
226
224
226
226
227
228
228
228
229
229
230
234
236
238
240
243
244
244
245
244
242
240
237
238
243
251
253
255
255
256
257
257
257
258
260
261
262
262
261
260
262
264
270
272
275
277
280
313
332
319
314
307
304
303
302
300
284
280
276
273
271
278
280
281
282
286
286
286
284
283
280
272
277
279
282
281
279
277
273
273
273
281
283
283
284
287
287
287
286
283
283
283
284
285
286
296
298
299
301
302
303
303
303
303
303
319
324
325
329
331
325
313
309
298
298
301
302
303
305
316
323
323
318
311
310
309
309
312
317
319
321
322
322
322
322
325
327
333
335
333
331
327
324
320
317
316
314
310
310
310
310
312
313
314
317
318
318
319
323
324
328
333
341
345
350
351
354
355
356
359
360
361
361
361
361
362
362
363
363
363
363
367
369
372
374
378
387
389
392
415
426
432
436
437
438
441
443
446
449
450
455
457
458
463
465
466
467
467
468
469
469
470
472
473
474
474
475
476
478
478
481
483
485
488
489
491
492
493
494
489
484
478
477
472
472
474
477
479
480
482
484
486
489
491
493
495
496
497
505
521
533
547
554
557
560
560
559
559
558
558
557
557
556
555
554
554
553
551
550
549
546
543
539
533
525
518
515
512
510
503
501
499
498
497
496
495
494
494
494
494
494
493
489
489
487
485
483
479
476
463
463
463
466
467
467
467
464
463
460
459
457
456
453
451
445
441
434
422
419
416
413
411
409
406
406
405
404
409
410
414
419
421
422
428
433
433
433
432
432
431
430
429
429
428
428
428
428
429
430
431
433
433
426
422
415
406
401
401
405
408
415
426
435
437
440
439
436
420
414
411
414
416
419
425
420
405
400
393
387
385
379
375
372
372
374
375
376
377
378
379
374
373
371
369
368
362
354
351
350
346
345
344
343
341
341
340
339
339
337
336
331
329
327
324
323
321
322
325
330
349
345
343
338
337
339
343
347
349
352
368
373
375
376
372
369
365
364
359
358
356
359
364
370
376
388
402
401
398
395
381
365
361
356
352
330
329
328
326
325
324
324
324
324
330
332
333
344
350
351
352
359
360
356
351
344
340
334
311
305
298
297
296
295
291
287
285
283
281
259
258
258
259
260
262
265
266
265
262
264
269
275
279
284
293
297
299
299
299
298
298
297
297
299
301
304
305
305
305
305
305
305
306
310
311
311
311
310
307
311
312
318
325
327
328
329
335
351
358
365
368
370
373
377
384
393
402
411
429
430
431
431
431
432
433
435
438
439
440
442
445
446
449
453
452
450
449
439
432
413
406
404
409
410
411
412
415
420
421
421
421
422
423
424
424
427
427
428
429
429
432
439
440
440
439
438
438
437
437
437
431
428
424
422
421
419
416
414
419
421
422
425
426
429
431
433
440
442
443
445
451
457
459
461
465
467
476
476
474
468
458
457
465
476
486
491
497
497
497
497
497
494
491
490
489
491
507
510
513
517
527
526
526
525
524
524
524
524
524
524
521
520
520
518
516
508
500
494
488
482
474
471
473
480
484
486
490
492
492
492
492
492
489
487
483
481
480
486
488
490
497
503
497
496
494
493
492
490
488
488
488
487
487
487
488
492
494
497
498
498
494
491
490
508
518
533
529
508
507
507
507
508
509
509
509
510
510
510
509
506
502
500
504
519
514
504
501
498
498
498
511
519
521
523
534
542
552
560
564
557
550
544
541
538
543
547
553
557
559
563
566
565
564
563
566
568
570
573
576
586
586
575
570
561
558
549
545
547
561
565
577
582
576
563
560
555
552
548
532
530
530
530
530
530
530
530
533
535
536
538
545
558
570
584
590
593
597
597
613
614
616
616
612
603
601
599
594
575
575
579
628
557
555
558
558
559
558
556
554
552
551
552
552
553
554
554
555
555
552
532
529
529
529
529
527
525
520
518
511
508
505
503
500
498
497
490
489
484
482
481
473
469
470
473
477
479
481
488
490
495
494
492
490
488
479
473
472
469
466
462
458
455
454
450
452
461
464
465
466
481
486
496
498
502
505
512
520
532
538
532
528
497
494
501
506
511
515
520
532
546
562
585
591
612
616
616
598
575
538
538
537
537
534
507
502
486
480
479
478
478
482
491
494
499
508
514
519
546
567
578
587
596
599
606
609
612
611
609
608
606
605
601
600
599
601
610
612
617
619
624
623
619
617
614
611
607
606
606
603
599
598
597
601
608
612
616
630
646
652
657
657
656
654
653
639
630
615
611
610
610
609
609
608
608
608
607
606
605
604
603
602
600
597
595
595
594
593
580
577
579
582
583
584
583
582
580
579
579
578
573
566
561
557
551
539
531
529
523
521
516
510
503
497
507
515
517
519
538
545
547
556
558
560
562
563
564
565
568
569
570
570
570
567
566
566
564
561
559
553
541
533
524
515
507
497
504
519
524
534
534
535
538
539
540
540
538
537
535
531
524
520
517
521
525
530
570
575
578
581
586
591
594
598
602
600
596
592
588
586
587
590
593
598
603
612
615
615
615
616
616
620
622
627
634
636
640
640
640
640
640
640
640
640
640
636
635
635
634
633
638
641
642
644
646
647
646
645
644
642
642
646
654
667
672
674
680
692
694
696
698
700
702
703
696
690
689
690
690
691
691
638
641
644
650
658
659
651
643
635
622
614
609
606
600
598
608
626
633
634
635
637
638
639
641
642
644
644
643
641
640
639
637
637
632
618
617
613
611
609
606
602
598
596
595
591
591
592
593
595
601
610
613
617
621
630
628
626
625
624
623
623
622
622
640
648
659
664
668
677
694
694
695
696
697
696
694
692
691
691
689
688
687
687
684
679
675
673
671
666
653
630
626
616
601
591
599
608
610
618
622
627
626
624
624
620
619
616
616
614
613
608
606
595
581
582
582
583
583
584
575
571
561
557
551
547
540
550
554
558
561
562
566
568
573
581
607
612
619
627
632
628
617
605
592
584
555
557
559
560
562
563
564
582
595
602
602
602
602
602
601
608
615
621
628
636
649
650
653
655
659
662
665
669
676
680
681
682
683
681
679
678
672
670
666
664
661
659
658
656
655
654
653
652
650
651
652
653
654
657
662
665
667
667
667
667
667
666
666
662
658
657
653
645
660
667
672
697
713
717
720
725
730
738
742
747
747
746
744
743
743
744
748
750
757
760
763
767
777
780
791
791
787
783
778
773
770
769
771
772
773
773
776
776
776
775
772
772
771
768
763
760
754
750
744
734
731
724
720
711
706
699
686
682
683
685
687
691
691
704
707
711
713
720
721
727
716
699
690
685
681
685
698
701
711
725
728
731
736
738
747
754
759
762
743
720
704
685
679
688
713
727
732
743
752
787
778
772
766
757
749
722
703
702
700
697
696
695
699
702
713
721
725
731
733
729
726
721
718
718
718
719
720
720
720
721
724
743
752
760
769
778
783
782
781
780
780
787
798
803
804
808
807
806
805
800
797
794
791
778
774
767
762
767
772
778
796
812
821
840
843
856
855
852
850
848
847
844
843
843
847
851
863
866
870
881
884
886
888
892
913
951
957
960
960
960
961
961
961
961
955
934
928
924
918
913
906
897
893
889
886
884
901
912
945
958
965
969
970
972
973
974
979
989
994
997
1000
1008
1012
1015
1018
1029
1032
1029
1021
1019
1014
1014
1013
1013
1011
1011
1012
1016
1018
1019
1020
1022
1024
1025
1025
1026
1026
1026
1027
1027
1028
1029
1033
1036
1042
1053
1047
1040
1037
1026
1022
1021
1018
1016
1016
1018
1020
1024
1027
1029
1032
1034
1037
1042
1046
1050
1055
1059
1063
1085
1099
1100
1104
1105
1108
1110
1110
1110
1109
1109
1109
1110
1114
1118
1120
1123
1134
1137
1141
1143
1143
1147
1148
1148
1151
1152
1153
1153
1154
1155
1155
1156
1157
1158
1160
1163
1167
1168
1170
1170
1168
1167
1167
1166
1164
1161
1156
1153
1145
1144
1149
1152
1154
1157
1165
1167
1183
1186
1194
1195
1197
1198
1198
1198
1198
1198
1198
1198
1202
1207
1239
1242
1246
1229
1220
1214
1210
1207
1193
1183
1178
1175
1171
1164
1160
1153
1150
1160
1165
1168
1175
1183
1208
1205
1203
1199
1198
1197
1195
1193
1158
1154
1157
1160
1162
1167
1171
1178
1180
1187
1190
1193
1205
1208
1211
1218
1222
1225
1228
1234
1236
1240
1248
1250
1241
1240
1237
1234
1231
1217
1214
1214
1213
1211
1208
1204
1193
1188
1189
1204
1207
1211
1216
1217
1218
1214
1206
1204
1202
1200
1193
1195
1197
1197
1198
1200
1201
1202
1203
1204
1203
1202
1202
1201
1199
1198
1198
1197
1196
1196
1195
1195
1195
1194
1193
1193
1193
1192
1192
1192
1191
1191
1192
1197
1210
1215
1222
1224
1227
1231
1231
1230
1227
1222
1219
1208
1207
1205
1200
1198
1197
1192
1190
1189
1186
1185
1179
1178
1176
1179
1185
1187
1190
1192
1193
1198
1196
1192
1186
1172
1169
1150
1148
1145
1143
1141
1137
1128
1103
1098
1091
1089
1085
1083
1078
1079
1080
1083
1084
1087
1087
1091
1092
1095
1114
1117
1123
1130
1134
1137
1140
1142
1148
1151
1156
1173
1183
1193
1199
1204
1206
1209
1212
1204
1179
1168
1160
1155
1151
1147
1143
1137
1135
1133
1130
1126
1126
1126
1126
1126
1126
1126
1123
1123
1122
1119
1115
1122
1126
1130
1137
1139
1145
1143
1135
1133
1131
1126
1116
1112
1075
1067
1061
1058
1056
1055
1054
1066
1074
1081
1094
1111
1119
1124
1131
1124
1121
1118
1118
1116
1116
1126
1144
1150
1147
1136
1128
1120
1113
1108
1103
1100
1100
1100
1100
1107
1114
1118
1119
1120
1120
1120
1119
1118
1117
1114
1115
1120
1122
1126
1136
1141
1145
1150
1155
1158
1165
1170
1144
1136
1132
1124
1118
1115
1115
1114
1114
1118
1121
1123
1125
1129
1156
1155
1153
1152
1151
1149
1149
1149
1149
1154
1158
1162
1166
1166
1165
1163
1160
1155
1155
1162
1164
1169
1174
1178
1181
1181
1183
1184
1186
1193
1197
1199
1204
1203
1202
1201
1199
1198
1197
1189
1186
1182
1176
1174
1175
1176
1179
1180
1180
1181
1181
1183
1183
1183
1183
1180
1176
1174
1171
1167
1160
1158
1153
1152
1151
1151
1148
1147
1147
1148
1155
1161
1167
1170
1175
1178
1180
1178
1177
1166
1164
1161
1161
1160
1160
1160
1159
1158
1155
1149
1135
1123
1130
1134
1139
1148
1161
1166
1167
1167
1168
1168
1169
1170
1170
1171
1172
1173
1173
1172
1171
1171
1171
1169
1169
1168
1167
1164
1162
1161
1160
1160
1160
1159
1159
1165
1172
1181
1190
1199
1212
1230
1235
1236
1237
1238
1239
1242
1245
1247
1262
1270
1273
1271
1271
1275
1281
1288
1293
1298
1311
1316
1324
1320
1314
1310
1306
1301
1295
1290
1286
1284
1282
1279
1275
1272
1269
1267
1266
1265
1268
1268
1269
1271
1273
1274
1274
1274
1272
1272
1269
1264
1257
1253
1235
1228
1220
1213
1203
1196
1187
1168
1159
1152
1147
1148
1151
1158
1160
1163
1169
1171
1174
1177
1183
1187
1190
1194
1199
1211
1209
1204
1200
1196
1188
1185
1183
1176
1172
1168
1158
1139
1134
1128
1118
1110
1109
1108
1106
1130
1135
1148
1153
1150
1141
1131
1132
1134
1141
1151
1186
1189
1192
1202
1207
1218
1231
1240
1242
1246
1249
1251
1255
1258
1262
1257
1236
1232
1230
1226
1223
1226
1228
1235
1241
1246
1229
1226
1216
1213
1238
1244
1250
1252
1262
1261
1257
1256
1242
1240
1234
1227
1212
1200
1197
1192
1177
1172
1163
1158
1158
1160
1164
1164
1165
1177
1181
1187
1197
1203
1206
1214
1219
1229
1229
1230
1231
1231
1232
1232
1229
1223
1211
1209
1202
1199
1185
1177
1170
1168
1165
1161
1161
1160
1163
1165
1169
1174
1176
1182
1182
1183
1184
1187
1190
1192
1193
1194
1201
1205
1212
1211
1208
1207
1205
1202
1199
1192
1189
1186
1182
1182
1182
1182
1182
1182
1181
1180
1179
1179
1175
1174
1174
1176
1177
1177
1179
1180
1182
1181
1180
1180
1180
1179
1178
1176
1173
1172
1166
1165
1163
1155
1153
1144
1124
1121
1114
1116
1116
1117
1120
1122
1127
1122
1121
1121
1120
1119
1118
1110
1100
1098
1097
1097
1094
1078
1076
1074
1074
1073
1071
1063
1064
1065
1066
1067
1068
1073
1074
1076
1078
1078
1078
1078
1078
1078
1078
1074
1072
1066
1062
1058
1052
1037
1026
1027
1027
1029
1029
1029
1029
1029
1029
1029
1029
1029
1025
1024
1023
1023
1022
1022
1021
1020
1013
1013
1012
1013
1015
1018
1018
1019
1020
1021
1015
1012
1007
1004
994
994
994
994
994
994
994
994
980
978
977
977
975
974
972
965
964
963
962
962
961
960
957
950
950
950
950
950
949
948
948
946
944
941
938
936
932
909
891
892
902
905
907
909
911
913
925
919
915
914
913
913
912
903
900
895
889
894
895
896
897
898
900
905
899
896
894
891
890
888
884
878
876
875
874
873
872
871
864
862
861
859
851
851
851
851
851
851
851
852
854
855
857
862
866
874
876
874
858
853
851
849
843
841
839
837
837
837
837
837
837
836
836
835
832
831
831
827
824
823
822
821
819
818
816
809
807
806
805
806
809
811
813
815
817
818
823
797
785
779
774
770
769
768
768
767
766
764
763
760
758
757
756
755
754
750
748
746
734
725
701
703
705
707
709
711
714
730
735
738
739
740
740
740
738
731
729
728
725
720
716
712
709
704
701
697
695
692
689
687
683
682
682
683
683
683
683
684
684
684
685
685
686
686
686
686
685
684
684
683
677
675
673
670
670
669
668
667
667
667
669
670
672
673
674
675
675
675
675
675
675
675
673
673
670
666
662
662
657
655
651
650
649
650
652
652
653
653
653
653
653
652
649
649
645
641
638
633
631
630
630
630
629
629
629
629
628
628
627
598
577
564
559
559
559
559
559
559
560
560
560
561
561
561
561
559
558
557
556
556
557
558
559
560
561
561
561
561
561
561
559
559
558
558
549
546
543
514
512
504
492
492
492
492
508
516
519
524
529
544
548
542
533
528
524
518
506
497
495
493
491
487
485
481
475
474
473
462
457
454
444
440
434
431
419
420
421
427
432
434
435
431
429
428
424
422
420
406
403
400
391
391
391
391
391
391
391
391
390
386
383
379
378
376
373
368
367
365
363
361
360
363
378
387
401
403
402
399
396
394
390
385
384
383
379
375
375
365
363
361
359
364
366
373
376
378
405
411
429
432
432
433
408
394
393
394
395
397
398
411
415
419
427
429
441
424
402
396
393
391
385
383
381
391
395
382
374
355
351
347
346
346
344
340
324
315
307
300
295
294
299
303
324
323
317
317
317
318
318
319
323
326
327
330
331
333
317
325
332
334
336
339
336
328
332
333
331
330
323
319
315
309
310
311
313
316
317
319
320
325
335
336
341
344
349
349
348
348
348
347
347
347
345
340
334
329
315
317
328
343
355
379
383
388
385
378
371
364
354
352
352
352
353
354
355
357
358
359
357
355
351
348
328
318
311
323
325
333
351
351
352
352
352
352
346
326
319
315
313
308
307
304
302
300
297
295
292
283
281
276
273
266
260
247
249
278
290
340
319
309
301
294
297
298
299
309
336
314
317
324
345
342
333
331
328
325
322
299
296
279
274
270
267
264
242
241
240
240
240
240
240
240
240
253
258
267
268
268
268
268
272
277
290
299
303
306
308
311
310
309
300
286
277
274
270
260
253
252
251
254
255
256
260
261
261
259
258
258
245
216
195
193
192
192
190
190
191
191
193
196
199
201
222
227
232
239
250
230
223
224
227
229
230
235
227
211
212
212
212
212
212
212
204
196
187
191
198
219
218
218
216
210
191
180
175
172
167
166
166
166
177
192
195
200
211
208
207
206
203
201
202
221
211
200
181
172
158
156
153
157
163
176
172
165
160
154
147
142
141
138
135
134
134
137
140
142
141
138
136
135
133
133
133
133
134
136
140
141
142
143
140
137
138
139
139
139
141
172
176
171
166
162
157
152
155
165
169
186
208
220
222
223
226
223
203
194
199
204
208
209
208
179
173
171
169
167
167
172
173
174
182
193
199
212
215
202
186
183
181
186
212
220
224
208
200
199
203
206
216
219
222
227
223
221
228
230
233
237
231
222
201
199
197
196
195
191
191
190
190
194
195
196
217
232
239
248
267
265
262
258
257
257
257
259
261
269
272
275
279
279
280
282
293
298
301
306
309
303
302
300
292
289
285
280
276
271
269
268
266
265
260
253
244
243
243
243
246
246
248
252
254
257
259
290
293
295
299
303
324
327
307
311
314
317
320
330
333
340
342
336
302
340
338
333
331
313
297
284
267
244
258
268
271
274
284
286
293
297
300
301
305
306
311
313
314
316
318
320
328
332
347
350
351
353
356
350
345
338
334
330
326
333
342
345
357
369
378
383
376
363
358
353
362
366
370
374
375
378
379
380
381
389
395
398
394
346
328
326
326
326
327
340
344
346
346
346
344
340
336
331
326
325
323
320
318
316
315
313
312
309
311
313
317
319
325
327
329
329
326
324
323
324
326
332
332
333
324
321
311
306
311
320
330
324
321
321
319
318
316
312
312
311
310
309
308
295
293
291
331
332
342
350
355
360
366
374
376
379
380
382
395
391
383
380
385
392
417
421
425
430
430
431
434
430
413
391
387
396
401
406
420
424
431
433
433
433
431
394
388
376
375
370
368
366
367
369
371
372
374
376
377
377
378
375
374
372
367
364
362
358
359
360
361
366
370
375
378
379
380
381
383
385
388
389
390
390
391
392
395
397
400
402
403
406
420
423
425
431
433
434
436
435
434
432
431
430
434
439
444
456
472
475
477
487
490
495
498
505
507
511
510
510
509
504
509
511
516
520
522
525
521
512
508
504
501
493
492
493
494
494
494
495
495
522
527
543
547
578
579
579
583
583
583
573
572
569
566
552
550
551
553
554
556
565
571
574
577
580
578
575
570
566
559
560
561
563
570
573
573
576
582
594
598
610
617
625
627
631
637
637
638
638
639
639
639
639
639
639
638
638
635
634
640
649
650
656
656
657
657
657
658
658
659
662
664
668
671
676
678
684
682
674
665
658
658
662
663
664
665
668
669
678
680
683
687
689
692
694
693
693
692
692
691
691
689
688
687
684
684
684
685
685
686
688
691
693
695
696
698
700
702
704
711
713
718
726
728
730
732
734
737
739
742
745
748
747
744
741
738
736
735
734
729
726
714
712
709
706
693
710
740
746
750
753
756
760
769
765
763
764
765
766
768
769
770
770
771
772
786
791
799
804
809
812
816
819
819
817
815
811
808
815
817
819
822
825
828
830
830
830
830
830
829
829
829
829
829
829
829
830
833
833
834
837
838
839
840
840
842
856
857
856
856
855
855
853
853
853
851
849
849
850
851
852
853
853
853
855
856
857
864
866
867
872
874
894
897
899
903
913
914
914
912
911
909
907
901
897
895
894
891
889
886
880
901
903
905
906
908
910
916
918
919
920
921
921
921
921
921
921
922
934
935
937
939
940
942
948
948
949
951
951
951
952
954
955
958
967
977
980
981
983
984
985
989
990
991
991
992
992
992
993
998
999
1001
1002
1002
1003
1004
1010
1008
1005
1005
1004
1004
1003
1006
1013
1016
1020
1022
1025
1026
1026
1026
1026
1027
1028
1028
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1030
1030
1030
1030
1030
1030
1036
1037
1046
1062
1068
1071
1073
1070
1070
1069
1068
1067
1067
1066
1066
1066
1065
1064
1063
1063
1073
1077
1080
1090
1093
1095
1096
1098
1098
1101
1101
1101
1101
1102
1102
1111
1112
1113
1114
1115
1122
1111
1108
1107
1106
1105
1103
1095
1122
1128
1137
1139
1141
1145
1152
1154
1167
1171
1172
1177
1178
1179
1182
1182
1182
1181
1180
1180
1180
1180
1180
1175
1171
1168
1165
1164
1163
1158
1163
1166
1176
1177
1179
1181
1192
1198
1201
1203
1204
1205
1206
1207
1208
1210
1210
1206
1202
1200
1195
1192
1153
1141
1122
1118
1115
1118
1127
1146
1150
1154
1160
1173
1178
1190
1199
1205
1203
1201
1200
1193
1187
1192
1200
1211
1230
1233
1233
1233
1233
1233
1233
1233