155
155
155
156
156
156
157
158
158
158
158
158
158
158
158
157
157
156
155
155
150
148
140
140
141
141
141
141
141
142
143
144
144
144
144
144
144
144
144
144
144
145
145
145
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
145
145
145
145
146
146
146
146
146
146
146
146
147
147
148
150
151
151
151
152
152
153
154
154
156
157
157
157
157
157
157
157
157
157
157
157
157
158
158
158
158
158
158
158
158
158
158
158
158
158
158
157
156
155
155
154
154
154
154
156
157
162
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
166
166
166
166
167
167
168
168
168
168
168
168
168
169
169
169
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
170
170
171
171
171
171
171
171
171
171
171
171
171
171
171
171
172
172
172
172
173
174
175
175
176
177
176
175
175
175
175
175
175
173
172
172
172
174
175
176
176
177
178
178
178
178
177
177
177
177
177
178
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
180
180
180
181
182
182
182
182
182
182
182
182
182
180
180
180
180
181
181
181
181
181
181
181
181
181
181
181
181
182
183
183
183
183
184
184
184
185
187
188
189
189
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
191
191
192
192
192
192
192
192
194
194
194
195
195
195
195
195
196
196
196
195
194
195
197
197
197
198
199
199
199
199
198
197
196
194
194
193
192
192
192
192
192
192
191
194
195
195
195
195
195
196
196
196
196
197
197
197
197
198
198
198
198
199
200
201
201
201
202
202
202
202
202
202
202
201
201
201
201
201
202
203
203
203
204
204
204
204
204
205
205
206
206
206
206
206
206
207
207
207
207
207
207
207
207
207
207
207
208
208
208
209
209
209
209
208
208
208
208
208
208
209
209
209
209
210
210
210
210
210
210
210
210
210
211
211
211
211
211
211
211
211
209
208
207
205
204
204
203
203
202
202
201
202
203
204
204
205
205
204
204
204
204
205
206
208
208
207
206
206
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
206
207
209
209
209
209
208
210
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
210
210
210
210
209
209
209
209
209
209
209
210
210
210
210
210
210
210
210
211
211
211
211
211
211
211
212
212
211
211
211
208
208
208
208
208
207
207
207
207
204
206
210
211
210
210
209
209
209
215
215
216
216
216
216
216
217
217
217
217
217
217
217
218
218
219
221
221
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
218
218
216
216
216
216
217
219
219
219
219
219
219
220
220
221
221
221
224
224
224
224
224
225
225
225
226
226
226
227
227
227
226
226
226
226
227
227
227
227
227
227
227
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
227
227
227
227
227
227
227
227
227
227
227
226
226
227
227
228
228
228
228
228
228
230
231
232
232
232
232
232
233
238
241
241
241
242
242
242
242
242
242
242
242
242
242
244
245
246
247
246
245
245
245
245
245
246
246
246
246
246
246
245
243
243
243
244
245
246
247
247
247
247
247
247
248
249
249
248
247
246
242
241
239
238
237
237
237
238
238
239
239
237
237
237
237
237
237
237
238
238
238
238
238
238
239
239
239
240
240
240
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
242
242
242
242
242
243
244
246
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
247
247
247
247
247
246
246
246
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
246
247
247
247
247
246
246
246
246
246
247
249
250
251
251
252
252
253
253
254
254
254
254
253
253
253
252
252
252
252
251
255
257
257
257
257
257
257
259
259
259
260
261
260
264
269
269
269
269
269
269
269
268
268
268
268
269
270
270
272
272
274
280
281
283
285
291
293
296
296
296
296
296
296
296
296
296
296
296
296
296
296
291
290
289
287
281
281
281
281
287
289
293
294
295
296
302
305
316
318
319
314
312
304
297
295
294
291
290
290
289
288
288
286
284
284
284
284
284
284
284
284
284
284
285
285
285
285
285
286
286
286
286
286
286
286
286
286
286
285
285
285
286
287
288
288
289
290
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
293
293
293
293
294
294
295
295
295
296
298
298
299
299
299
300
300
300
300
301
301
301
302
302
303
304
304
304
305
305
305
305
305
305
305
305
306
308
308
310
311
312
315
316
317
318
320
321
322
325
325
325
327
328
328
328
328
329
329
329
329
330
330
331
331
332
332
332
333
333
333
335
335
336
336
336
337
337
338
338
339
339
340
341
341
341
342
343
343
344
348
348
350
350
352
354
358
363
364
370
371
373
374
375
381
382
383
384
384
385
386
386
388
389
390
391
393
393
396
396
399
401
402
407
407
409
409
409
410
411
411
412
413
413
413
413
413
413
412
412
412
412
412
412
412
412
412
412
411
410
410
409
408
407
407
406
405
404
403
402
401
401
400
398
398
397
397
396
394
393
393
391
390
388
387
386
385
383
381
379
378
378
377
375
373
373
372
370
368
367
363
362
359
355
352
351
351
352
352
352
352
352
353
353
354
354
354
356
356
357
357
358
359
359
360
360
363
364
364
364
365
365
365
367
368
369
369
370
370
372
372
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
377
378
378
378
379
382
382
383
384
385
385
386
386
386
386
386
386
386
387
387
387
387
387
387
387
387
388
388
388
388
388
388
389
391
392
392
392
394
395
397
398
398
398
398
398
398
398
398
398
398
397
397
396
396
397
398
398
399
400
400
401
401
403
403
404
405
405
406
406
409
411
412
413
413
414
415
415
416
416
416
417
419
422
423
424
425
426
428
428
431
431
435
435
436
436
438
438
438
439
439
440
441
441
441
442
443
444
446
447
448
449
450
452
452
454
454
456
457
457
457
457
457
457
457
457
457
458
458
459
460
460
465
466
469
469
470
470
470
472
472
472
472
472
473
473
473
473
473
475
475
476
476
476
476
476
477
480
481
482
484
482
482
481
479
479
483
483
484
485
486
486
485
485
485
485
485
485
488
490
492
495
496
496
496
496
496
496
496
497
497
499
500
498
497
493
483
482
482
481
480
477
473
468
465
462
459
457
456
455
453
453
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
450
450
450
450
450
450
450
449
449
448
445
444
443
442
441
441
440
439
438
438
438
438
440
441
442
442
443
443
444
445
446
446
447
447
448
448
448
448
448
448
447
447
447
447
446
446
446
446
445
445
445
443
443
443
442
442
441
441
438
438
437
436
434
433
433
431
431
429
428
424
423
422
418
414
414
412
411
411
411
411
411
411
411
408
407
406
406
401
399
399
399
399
398
398
397
397
397
397
397
397
397
396
395
394
394
393
393
392
392
391
390
390
389
388
388
388
387
387
387
386
386
386
386
385
385
385
385
386
386
387
387
389
390
390
389
386
386
385
384
383
382
381
382
383
383
384
384
385
385
386
387
387
387
388
389
389
389
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
391
391
392
392
392
393
394
394
394
395
395
395
395
396
396
397
397
398
399
399
399
400
401
401
403
404
404
405
406
406
406
406
406
406
406
406
406
405
405
405
406
406
406
406
405
404
402
402
401
402
404
405
405
407
407
409
410
411
412
414
414
415
427
428
431
432
434
434
435
435
435
435
435
435
433
433
435
445
446
452
453
454
454
458
459
461
463
463
464
466
468
469
469
472
472
472
472
472
472
472
472
473
473
473
474
476
474
473
468
467
467
466
465
464
465
468
491
493
495
497
498
499
500
501
501
502
503
503
504
506
506
519
524
526
528
530
532
537
539
541
543
545
543
540
535
532
529
524
521
518
516
513
510
506
503
500
497
492
492
492
493
493
494
495
495
497
497
497
498
498
499
499
500
501
501
502
502
502
503
503
504
504
505
506
506
506
506
506
506
506
506
506
506
509
510
510
511
515
515
516
517
517
517
518
518
518
518
518
518
514
510
507
505
501
497
495
495
495
495
495
490
485
483
485
485
486
486
486
488
489
490
490
490
490
491
491
491
491
492
492
492
492
492
492
492
493
494
494
494
494
494
494
495
495
495
495
495
495
495
495
495
495
495
495
495
494
493
485
482
479
478
472
471
471
471
471
471
470
470
469
469
469
469
469
469
469
470
471
471
472
472
472
472
472
473
473
473
473
473
474
474
474
475
475
475
475
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
477
477
477
477
476
476
476
476
476
476
476
476
476
477
477
477
477
478
478
479
480
481
481
481
481
481
481
481
482
482
482
482
483
483
483
483
483
484
484
484
485
485
486
486
486
486
486
486
485
485
484
484
484
483
485
486
487
488
489
489
490
490
491
490
490
490
490
490
490
490
490
490
491
492
491
490
490
489
488
487
487
487
486
486
487
488
489
490
491
492
495
494
497
498
498
493
502
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
505
506
506
509
512
515
516
518
521
522
522
523
526
527
529
528
526
524
523
523
521
521
522
526
528
529
529
530
530
531
532
533
533
533
533
534
536
536
536
536
536
537
538
538
538
539
541
542
542
542
542
542
542
543
543
546
547
547
551
552
553
554
556
559
560
560
561
561
563
565
565
566
568
568
566
564
561
560
558
558
558
557
557
557
556
559
559
560
560
561
562
565
565
565
566
567
568
570
571
572
572
573
577
579
579
581
582
582
582
583
585
586
587
587
588
591
594
595
596
598
598
599
600
600
600
601
602
603
603
603
603
605
605
606
605
602
600
598
598
595
594
594
593
593
592
592
591
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
589
589
589
588
587
585
585
584
583
582
582
582
582
582
581
581
581
581
580
580
581
581
582
583
584
586
586
587
587
587
587
588
588
588
588
588
587
587
587
586
586
586
586
586
586
586
586
591
593
593
594
595
597
598
599
600
604
605
605
607
609
612
612
612
610
609
609
610
611
613
617
619
620
621
623
625
627
628
629
631
643
650
656
658
659
660
661
663
664
666
666
666
666
666
666
664
662
654
651
650
647
643
639
638
638
638
639
639
639
640
640
640
640
641
645
649
652
653
663
666
668
669
672
673
674
676
674
673
671
670
670
670
670
668
668
670
671
673
675
677
678
682
686
688
689
689
691
691
691
692
693
693
693
693
693
694
694
694
694
694
695
695
696
696
697
697
697
698
703
704
705
709
709
709
710
710
711
712
713
714
714
715
715
715
716
717
717
719
721
721
722
723
725
727
729
733
734
737
744
751
757
757
757
758
760
763
764
765
766
767
769
770
770
771
775
776
779
780
783
785
786
786
788
791
794
794
795
796
797
799
800
801
801
801
802
802
803
804
806
807
807
808
809
811
811
814
817
820
824
831
835
838
841
843
843
844
844
847
850
857
864
866
868
870
874
876
880
886
887
888
889
890
890
891
897
898
900
902
903
904
905
906
908
911
919
929
934
935
937
937
936
936
936
935
934
933
932
931
931
930
930
929
927
927
927
928
929
930
933
935
935
936
937
939
945
948
948
955
957
958
958
962
963
968
972
976
978
979
980
981
982
986
987
989
994
995
996
1004
1007
1008
1011
1012
1015
1020
1023
1026
1028
1028
1031
1031
1032
1034
1035
1037
1038
1039
1040
1041
1042
1044
1044
1046
1047
1048
1048
1049
1049
1049
1049
1048
1048
1047
1046
1045
1045
1045
1045
1046
1047
1050
1053
1054
1055
1061
1062
1064
1065
1067
1067
1068
1069
1071
1073
1074
1075
1076
1076
1077
1079
1080
1081
1081
1082
1082
1083
1085
1086
1086
1086
1086
1087
1087
1087
1088
1088
1088
1090
1093
1095
1096
1097
1097
1099
1100
1101
1105
1106
1109
1113
1114
1116
1118
1121
1122
1125
1127
1127
1129
1132
1133
1133
1132
1132
1137
1139
1140
1141
1144
1150
1151
1152
1152
1153
1154
1154
1155
1156
1157
1158
1159
1160
1160
1161
1163
1164
1164
1166
1167
1168
1170
1171
1171
1172
1176
1178
1179
1188
1189
1190
1191
1192
1193
1196
1197
1198
1199
1200
1202
1203
1204
1206
1206
1207
1208
1211
1214
1217
1218
1219
1223
1227
1228
1233
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1237
1238
1238
1240
1241
1243
1245
1247
1251
1254
1258
1260
1262
1265
1266
1269
1270
1274
1276
1289
1291
1294
1296
1307
1315
1328
1334
1334
1335
1335
1336
1337
1337
1337
1338
1344
1351
1355
1356
1361
1377
1379
1385
1397
1403
1407
1407
1407
1408
1408
1408
1410
1412
1414
1415
1416
1416
1417
1418
1419
1420
1421
1421
1421
1422
1422
1422
1422
1422
1423
1424
1424
1424
1424
1424
1424
1424
1425
1426
1426
1427
1427
1428
1428
1429
1430
1431
1433
1437
1438
1441
1444
1447
1448
1450
1453
1455
1460
1466
1469
1471
1475
1494
1497
1501
1502
1505
1507
1514
1516
1518
1521
1527
1529
1530
1532
1535
1592
1668
1829
1837
1863
1589
1582
1572
1566
1563
1561
1559
1558
1558
1557
1557
1556
1551
1550
1548
1547
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1545
1545
1544
1544
1544
1543
1543
1543
1542
1531
1529
1528
1526
1525
1522
1521
1520
1519
1518
1518
1517
1517
1517
1516
1515
1515
1513
1513
1512
1512
1511
1510
1509
1509
1509
1508
1508
1508
1507
1507
1507
1507
1507
1507
1506
1505
1505
1505
1504
1504
1502
1501
1498
1494
1493
1491
1490
1489
1484
1483
1482
1480
1476
1473
1473
1472
1471
1467
1466
1464
1462
1458
1457
1456
1456
1454
1453
1452
1449
1443
1442
1441
1441
1440
1439
1439
1436
1435
1435
1431
1428
1427
1426
1425
1425
1424
1423
1422
1421
1420
1418
1418
1416
1414
1413
1410
1407
1404
1402
1400
1399
1398
1397
1396
1396
1395
1395
1394
1393
1391
1391
1389
1388
1387
1386
1383
1382
1380
1378
1377
1375
1375
1373
1373
1372
1370
1369
1367
1367
1367
1367
1366
1365
1364
1363
1363
1363
1363
1362
1361
1361
1361
1360
1359
1358
1358
1355
1351
1350
1347
1346
1346
1339
1338
1338
1334
1329
1325
1325
1324
1319
1319
1319
1318
1318
1317
1316
1316
1315
1313
1309
1309
1307
1306
1306
1302
1300
1300
1297
1297
1296
1294
1293
1291
1290
1289
1287
1286
1284
1279
1279
1279
1278
1274
1273
1273
1272
1272
1271
1270
1270
1270
1269
1268
1267
1266
1265
1265
1265
1265
1264
1264
1263
1263
1261
1260
1258
1257
1255
1254
1254
1254
1254
1253
1253
1253
1253
1253
1253
1252
1252
1252
1252
1252
1252
1252
1252
1251
1250
1249
1245
1245
1239
1236
1235
1234
1234
1234
1234
1234
1233
1233
1233
1232
1232
1230
1229
1222
1219
1218
1215
1214
1211
1208
1205
1205
1203
1203
1202
1202
1202
1200
1197
1196
1195
1191
1190
1187
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1184
1184
1185
1186
1187
1187
1187
1188
1188
1188
1189
1189
1189
1190
1192
1194
1195
1197
1201
1202
1204
1205
1206
1206
1207
1209
1213
1214
1214
1214
1214
1214
1215
1215
1215
1215
1216
1214
1214
1213
1213
1212
1212
1212
1212
1212
1210
1209
1208
1208
1205
1202
1202
1201
1200
1200
1197
1196
1195
1194
1192
1191
1190
1188
1184
1180
1178
1173
1170
1163
1162
1159
1153
1149
1149
1148
1146
1146
1145
1144
1144
1142
1141
1139
1139
1138
1137
1136
1136
1136
1136
1135
1135
1134
1130
1128
1120
1118
1114
1113
1113
1113
1106
1102
1100
1095
1094
1092
1091
1090
1090
1089
1088
1088
1090
1090
1091
1092
1093
1094
1097
1098
1098
1099
1099
1099
1101
1103
1105
1107
1108
1109
1113
1115
1125
1126
1127
1129
1130
1131
1132
1132
1133
1133
1134
1135
1135
1136
1138
1140
1142
1142
1143
1144
1145
1145
1146
1147
1147
1148
1148
1154
1160
1163
1163
1163
1163
1164
1166
1166
1167
1167
1168
1169
1170
1170
1170
1174
1176
1177
1178
1182
1183
1184
1186
1187
1188
1188
1188
1189
1189
1189
1189
1190
1192
1193
1193
1200
1203
1207
1213
1214
1215
1219
1221
1225
1226
1227
1228
1229
1239
1240
1241
1243
1249
1250
1251
1253
1254
1255
1257
1264
1267
1278
1281
1294
1298
1307
1311
1317
1318
1320
1322
1323
1325
1333
1337
1342
1343
1344
1345
1349
1350
1352
1353
1354
1360
1361
1361
1362
1363
1370
1380
1382
1383
1385
1388
1392
1394
1396
1402
1403
1404
1405
1405
1406
1408
1409
1409
1410
1410
1414
1415
1416
1416
1416
1415
1414
1414
1412
1411
1411
1412
1418
1419
1420
1421
1421
1422
1422
1425
1426
1429
1432
1433
1435
1438
1439
1440
1440
1445
1448
1448
1450
1455
1457
1458
1458
1460
1460
1460
1462
1463
1464
1465
1466
1466
1467
1467
1467
1468
1472
1474
1474
1475
1477
1478
1479
1479
1481
1484
1485
1487
1488
1491
1493
1494
1501
1502
1503
1504
1505
1509
1511
1513
1515
1519
1522
1524
1526
1528
1530
1537
1539
1541
1542
1544
1552
1553
1555
1557
1559
1560
1562
1566
1568
1571
1574
1576
1581
1581
1581
1581
1581
1581
1582
1582
1582
1582
1582
1582
1582
1582
1585
1588
1590
1593
1595
1600
1603
1604
1605
1607
1608
1612
1618
1621
1625
1627
1630
1632
1635
1640
1643
1649
1651
1653
1659
1661
1662
1663
1663
1663
1665
1667
1669
1672
1673
1674
1675
1677
1682
1683
1684
1685
1685
1686
1686
1688
1691
1695
1696
1698
1700
1707
1707
1708
1710
1711
1711
1712
1714
1715
1716
1718
1720
1725
1727
1728
1731
1732
1734
1736
1738
1743
1748
1751
1753
1754
1755
1756
1757
1759
1761
1762
1763
1766
1767
1768
1769
1769
1770
1772
1773
1774
1777
1780
1782
1784
1785
1785
1787
1787
1788
1789
1789
1791
1792
1793
1800
1802
1803
1805
1809
1812
1813
1815
1819
1820
1821
1822
1829
1829
1829
1825
1823
1822
1808
1804
1801
1796
1791
1790
1789
1784
1781
1778
1777
1776
1775
1772
1772
1771
1765
1765
1764
1763
1763
1761
1761
1756
1755
1755
1757
1760
1762
1763
1764
1765
1765
1767
1770
1773
1777
1779
1781
1786
1789
1790
1796
1799
1802
1806
1812
1830
1832
1834
1835
1838
1858
1859
1860
1862
1864
1867
1869
1871
1875
1886
1893
1896
1899
1903
1905
1906
1908
1910
1912
1914
1916
1917
1919
1920
1920
1920
1920
1920
1920
1920
1920
1919
1917
1916
1915
1914
1913
1910
1908
1906
1904
1903
1902
1896
1893
1890
1886
1884
1883
1881
1880
1879
1878
1877
1877
1876
1874
1872
1870
1866
1861
1860
1859
1857
1855
1854
1853
1851
1850
1850
1848
1844
1841
1835
1833
1832
1831
1829
1827
1827
1826
1826
1825
1825
1824
1823
1822
1821
1819
1816
1814
1808
1803
1796
1792
1791
1789
1787
1785
1783
1781
1779
1777
1776
1771
1768
1765
1762
1760
1756
1739
1737
1731
1729
1727
1725
1724
1722
1716
1714
1712
1702
1701
1699
1698
1697
1689
1688
1687
1686
1685
1684
1678
1677
1677
1676
1675
1675
1662
1658
1653
1649
1644
1642
1639
1635
1634
1632
1630
1628
1625
1618
1617
1616
1615
1615
1614
1612
1612
1611
1611
1610
1609
1608
1607
1606
1604
1602
1601
1599
1595
1590
1589
1587
1585
1584
1582
1578
1572
1570
1568
1559
1556
1552
1547
1545
1543
1541
1539
1536
1534
1532
1529
1526
1522
1519
1515
1512
1511
1508
1506
1505
1504
1500
1499
1498
1498
1497
1496
1494
1494
1493
1492
1491
1490
1490
1489
1486
1483
1481
1479
1478
1475
1475
1471
1463
1463
1458
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1457
1456
1456
1456
1456
1456
1456
1456
1456
1456
1456
1456
1456
1456
1456
1456
1455
1455
1454
1454
1454
1453
1453
1453
1452
1452
1452
1452
1452
1452
1451
1451
1451
1450
1450
1449
1448
1448
1446
1446
1444
1444
1443
1443
1441
1441
1441
1440
1440
1439
1438
1438
1437
1436
1435
1435
1434
1434
1433
1433
1432
1432
1432
1431
1431
1430
1430
1429
1428
1427
1427
1425
1425
1425
1424
1424
1422
1422
1423
1424
1425
1427
1428
1433
1434
1434
1435
1436
1438
1438
1439
1439
1441
1444
1445
1446
1449
1451
1453
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1455
1455
1456
1457
1458
1459
1459
1460
1463
1463
1464
1463
1460
1459
1457
1454
1451
1450
1450
1450
1448
1445
1443
1443
1443
1443
1443
1443
1443
1443
1443
1443
1443
1443
1443
1442
1440
1438
1437
1436
1435
1434
1432
1431
1430
1428
1428
1427
1427
1425
1421
1421
1418
1417
1411
1411
1410
1409
1408
1405
1405
1403
1403
1401
1400
1399
1396
1394
1393
1392
1391
1390
1389
1388
1388
1387
1381
1379
1376
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1375
1373
1372
1370
1367
1366
1366
1364
1362
1361
1361
1360
1360
1358
1357
1356
1355
1353
1349
1348
1344
1343
1341
1339
1337
1337
1333
1332
1331
1330
1328
1328
1325
1324
1320
1313
1309
1302
1299
1293
1291
1289
1279
1274
1272
1270
1268
1262
1258
1253
1249
1236
1234
1231
1228
1220
1219
1217
1214
1213
1212
1209
1207
1200
1196
1195
1185
1182
1180
1176
1173
1167
1164
1162
1158
1154
1153
1152
1151
1149
1148
1147
1144
1142
1140
1137
1133
1132
1130
1128
1126
1122
1120
1117
1114
1112
1103
1100
1097
1095
1094
1091
1088
1086
1084
1082
1080
1077
1075
1069
1064
1063
1058
1055
1047
1042
1039
1039
1038
1034
1032
1017
1015
1013
1011
1010
1006
1005
1003
999
997
995
994
993
990
985
984
983
981
980
978
976
975
973
971
969
966
966
964
963
961
960
957
954
952
950
949
948
948
946
945
943
941
941
939
936
933
929
926
923
919
918
916
916
914
914
912
912
911
911
911
911
911
911
911
910
910
910
910
910
909
909
909
909
910
911
911
912
913
914
915
916
916
918
919
919
920
921
922
923
924
922
920
920
920
919
919
919
918
917
917
916
914
913
910
909
907
906
904
904
904
904
904
904
904
905
905
905
905
906
906
906
906
906
907
907
907
907
906
906
905
905
902
902
901
901
901
900
899
899
899
898
897
897
896
894
893
891
890
890
889
888
885
884
884
882
882
881
880
880
879
878
875
874
873
871
870
869
866
866
864
861
860
860
859
859
859
858
858
858
858
857
857
857
857
857
857
856
856
856
856
855
853
845
844
843
839
838
835
833
833
832
832
832
832
831
830
830
830
830
829
829
828
827
827
827
827
828
828
828
828
828
828
829
829
829
828
826
825
816
813
813
812
812
812
812
812
811
811
811
803
800
795
793
792
791
790
790
789
788
788
786
785
785
784
782
781
781
778
778
777
777
773
772
772
767
765
763
761
751
745
744
735
733
732
732
731
730
730
729
725
724
724
717
717
717
717
717
715
715
714
714
714
713
711
708
707
706
706
704
704
704
704
704
704
703
702
701
699
699
699
698
697
696
694
692
692
692
692
692
692
693
694
694
694
695
695
694
693
691
691
690
690
686
686
686
688
688
694
694
695
695
697
704
708
710
713
714
721
726
726
732
732
736
737
738
739
742
743
744
744
745
746
746
746
746
746
746
746
746
746
746
746
746
746
746
746
746
746
746
746
741
740
739
737
736
735
734
733
732
731
728
727
724
722
721
716
707
706
704
703
697
696
693
691
686
686
686
685
685
685
685
685
684
683
679
679
679
679
679
679
679
679
679
679
679
678
677
676
675
674
672
667
665
665
664
664
664
663
663
663
663
663
664
664
664
665
665
665
666
666
666
666
666
666
666
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
664
664
664
663
661
660
660
659
658
657
657
657
658
659
660
660
660
661
662
663
663
664
664
664
664
664
665
665
665
665
665
665
665
665
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
666
669
671
676
677
678
679
680
683
684
687
689
691
692
693
694
696
696
697
698
698
699
699
702
702
703
705
706
707
708
709
709
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
711
710
710
709
709
708
708
708
708
707
707
707
707
706
706
706
706
707
709
710
711
713
715
717
720
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
719
716
714
714
714
713
713
710
706
706
705
705
703
702
701
700
699
698
697
696
696
695
693
691
690
690
690
690
690
690
690
690
690
691
691
691
691
691
691
691
691
691
691
691
691
691
691
693
695
695
695
696
697
698
699
699
699
700
701
702
703
705
709
713
718
724
726
727
731
735
736
739
740
743
747
748
750
751
754
755
756
758
763
765
767
768
770
773
775
776
774
770
768
767
761
756
752
749
743
741
737
733
726
721
717
707
705
702
698
692
691
689
688
682
679
676
674
672
670
669
668
667
665
659
657
655
653
652
650
649
648
647
645
644
643
642
642
643
645
646
646
648
649
649
650
650
651
652
655
657
658
658
661
662
663
664
666
667
667
668
669
669
672
674
675
677
678
678
679
680
683
683
684
684
685
685
686
687
689
690
690
692
693
694
697
698
698
697
694
690
689
687
686
685
684
682
680
679
679
678
677
676
675
673
672
672
672
672
672
673
673
673
674
674
674
674
674
674
674
675
675
675
675
675
675
675
673
672
672
670
670
670
669
665
663
663
661
660
660
659
658
656
656
653
652
651
651
651
650
650
649
648
647
647
646
643
642
641
640
639
639
638
637
637
636
636
634
635
636
639
639
640
641
642
643
645
646
648
649
649
650
650
651
651
654
655
658
660
661
663
666
667
669
673
674
675
680
684
687
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
688
689
689
690
692
692
693
693
693
694
694
694
693
691
690
690
689
688
687
686
686
685
685
685
684
684
683
682
680
679
677
676
674
674
673
669
664
659
658
657
654
652
650
649
647
645
644
643
643
642
641
641
640
640
639
639
638
638
638
638
638
638
638
639
640
640
641
641
642
642
643
643
645
645
648
648
650
650
650
652
653
654
656
657
659
659
660
662
663
664
664
664
664
665
665
665
665
665
664
659
656
655
654
653
652
649
648
644
643
642
639
637
632
631
631
631
631
631
631
630
630
629
628
628
627
627
627
626
626
625
625
623
623
623
622
622
622
621
621
620
618
617
617
616
616
616
615
614
613
612
610
608
606
604
603
603
602
600
590
585
584
582
581
580
578
576
576
576
571
569
570
571
572
573
573
576
577
581
582
585
586
592
593
594
596
599
603
606
608
609
612
613
615
616
618
618
618
618
618
617
617
617
617
617
616
616
615
615
614
613
612
611
610
609
608
607
607
606
606
606
607
607
607
607
607
608
608
608
608
608
607
603
600
596
592
589
588
587
578
567
566
565
565
564
562
562
560
558
558
555
555
552
550
550
548
547
544
544
544
543
543
542
542
541
541
541
541
541
541
541
541
541
542
544
545
547
550
551
553
555
556
556
556
556
556
556
556
556
556
556
556
556
556
556
555
555
555
555
555
548
537
534
530
528
530
534
537
538
540
540
540
540
540
540
540
540
540
540
540
540
539
538
536
535
534
531
528
525
522
521
521
521
521
524
524
525
525
525
526
526
526
524
524
522
522
521
520
519
519
519
519
519
519
519
519
519
520
521
521
523
524
524
524
525
525
526
526
526
527
527
529
530
532
533
534
535
536
537
537
537
536
536
535
535
535
534
522
517
515
514
514
514
514
514
513
513
513
512
512
512
512
510
509
509
509
512
514
515
522
524
526
527
531
534
537
542
544
545
546
546
546
546
546
547
547
550
549
548
547
547
547
547
546
546
546
545
544
542
536
535
534
534
533
525
524
523
522
521
521
520
516
515
515
512
511
510
510
510
509
509
508
507
507
506
505
505
505
505
504
504
504
504
504
504
503
502
501
500
498
498
498
498
498
498
493
491
482
480
477
469
469
468
468
468
468
468
468
466
466
466
466
464
464
463
463
463
463
462
458
457
453
453
453
453
452
452
451
447
447
447
448
449
452
452
452
452
453
453
449
449
448
447
446
452
474
473
469
466
470
473
476
479
474
469
469
469
469
469
469
469
469
469
469
469
469
470
472
473
473
473
473
473
473
473
474
474
480
480
480
480
481
481
481
481
481
481
481
487
487
487
488
488
488
488
488
489
489
489
489
490
490
494
494
495
495
496
497
497
498
498
499
499
500
501
501
501
501
501
501
501
501
500
500
500
500
500
500
499
499
499
499
499
499
498
497
496
495
495
494
494
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
492
492
492
493
490
489
488
488
488
488
488
488
488
487
487
487
487
487
487
487
487
487
488
490
490
491
491
491
491
492
493
493
493
494
494
495
497
497
498
499
499
500
500
500
500
500
500
500
500
500
502
503
506
507
510
512
512
512
513
513
514
514
515
518
520
520
520
525
529
530
531
531
532
533
534
534
535
536
536
536
538
538
538
538
538
538
538
538
537
537
536
536
535
535
535
534
533
536
545
546
548
548
549
551
552
552
553
554
554
554
555
555
556
556
556
557
557
557
557
557
562
564
568
568
568
568
569
570
573
583
583
583
584
587
596
597
599
600
600
601
601
601
602
602
603
603
604
605
605
606
606
607
607
609
611
611
612
612
612
613
614
614
614
614
613
612
612
611
611
610
608
607
606
602
601
599
597
596
596
594
591
589
587
586
584
583
582
580
577
576
574
573
571
569
571
571
572
572
573
575
575
575
577
577
578
579
580
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
582
582
583
584
584
584
584
585
587
588
583
581
580
578
574
571
569
566
564
560
557
556
555
554
551
550
548
546
544
540
536
534
533
532
532
532
532
531
531
531
530
530
530
529
528
528
528
528
527
527
525
524
522
521
520
513
513
511
505
505
505
505
504
503
502
499
490
485
484
483
479
478
478
477
475
474
474
474
474
474
473
472
471
471
471
471
471
472
472
472
472
473
473
473
474
475
475
475
475
474
473
471
470
468
468
467
467
467
466
466
471
472
474
476
477
481
483
486
490
492
493
494
495
496
498
500
501
501
501
502
502
503
503
505
505
505
502
499
496
494
493
491
490
489
486
485
485
485
486
487
487
488
488
489
490
491
491
491
492
492
493
493
493
493
493
492
492
492
492
492
492
492
492
492
490
488
480
475
470
464
459
458
458
457
455
452
450
449
448
443
442
440
439
439
438
436
433
429
429
428
427
427
426
425
424
423
422
422
421
421
420
419
419
416
415
414
412
412
412
412
412
411
411
407
407
406
406
405
403
403
403
403
403
403
403
402
402
402
401
401
400
400
400
399
399
399
399
399
399
398
398
398
397
397
397
397
397
397
397
398
398
397
397
397
397
397
397
396
396
395
395
395
385
384
382
381
379
378
377
376
375
375
368
368
368
368
368
368
368
368
366
364
363
362
361
361
360
359
359
358
355
354
353
352
351
349
348
347
347
347
346
346
346
344
343
343
343
343
342
342
341
341
341
341
340
340
340
339
339
339
338
338
338
337
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
334
334
332
331
330
329
327
326
325
324
324
324
324
324
324
324
324
324
324
324
324
324
323
322
322
321
320
319
318
317
316
316
309
308
308
308
307
306
306
306
303
303
302
301
301
301
301
301
300
300
300
299
299
299
297
295
294
293
292
292
291
290
284
283
282
281
280
276
274
274
274
274
274
274
274
274
274
274
274
274
273
271
270
270
269
268
268
266
265
265
264
263
263
262
261
261
258
258
258
255
254
253
253
252
252
252
251
251
250
250
252
252
252
252
250
250
250
248
246
246
245
245
245
240
239
236
235
235
234
232
232
231
231
231
231
231
231
231
226
225
225
225
225
225
225
225
225
224
217
217
217
217
217
217
217
217
217
219
219
219
220
219
219
216
213
211
211
210
208
207
206
204
203
201
201
199
197
197
196
195
195
195
194
193
192
191
187
187
186
186
186
185
184
184
183
183
183
183
183
180
179
178
178
177
175
175
175
174
174
174
174
174
174
173
173
173
173
173
173
172
170
168
168
168
168
164
163
160
156
155
154
151
150
148
148
148
146
146
146
146
146
145
145
145
145
145
144
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
142
142
138
138
138
138
137
137
137
136
135
132
132
131
129
126
125
123
122
121
120
117
115
113
113
113
112
112
112
110
108
105
102
100
96
93
93
92
89
88
87
84
83
81
81
81
81
81
82
82
82
82
82
82
82
76
75
74
74
75
75
75
75
75
75
75
75
75
75
75
74
74
74
73
73
73
73
73
73
73
73
73
73
73
74
75
75
76
77
77
77
77
76
76
76
75
75
75
75
75
76
76
76
76
76
77
77
77
77
77
76
76
76
76
76
75
75
75
75
75
75
74
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
70
69
67
65
62
62
61
61
61
62
62
63
65
67
69
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
69
69
69
67
66
64
63
63
61
60
60
60
61
61
61
62
62
63
63
63
62
59
53
51
50
50
50
50
50
50
49
49
48
48
48
48
48
49
49
50
50
50
50
50
50
50
50
50
49
46
45
45
44
43
44
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
44
43
43
43
42
42
42
41
40
40
43
45
45
46
47
46
45
45
44
42
41
38
38
37
36
35
35
28
28
28
28
26
26
26
26
26
26
27
26
25
24
23
23
23
23
23
23
23
23
24
25
28
28
28
28
27
26
25
24
22
22
21
20
18
18
17
16
16
17
17
17
17
17
17
17
20
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
20
20
19
22
23
23
23
22
22
20
20
18
18
18
18
18
18
18
18
19
19
19
17
17
15
15
14
14
14
16
17
18
18
19
22
22
26
26
26
28
28
28
28
28
28
28
28
28
28
27
27
27
26
25
24
18
13
14
15
19
19
19
19
19
19
19
18
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
20
20
27
30
31