25
25
27
28
29
31
32
33
36
36
38
41
41
43
44
54
55
56
57
60
62
63
63
62
61
60
60
60
58
59
60
68
58
68
70
73
76
82
86
96
129
193
207
200
193
189
186
190
186
168
130
94
106
120
132
145
181
225
320
337
176
192
214
213
211
208
220
228
221
216
211
194
174
162
156
143
147
155
163
164
168
180
216
219
212
169
121
119
119
125
127
138
139
136
136
136
136
136
136
134
133
133
137
141
143
143
144
165
178
182
172
160
150
140
134
135
138
144
152
153
153
153
147
139
135
134
146
151
158
167
166
165
164
164
169
170
171
171
172
180
185
186
183
184
187
187
186
188
191
197
199
200
205
210
213
215
222
227
310
307
268
240
235
242
246
253
256
263
279
284
316
324
323
321
320
319
310
295
319
399
439
463
477
457
405
345
318
379
363
379
393
403
412
427
434
435
438
439
443
467
478
492
492
493
500
524
525
525
525
520
481
425
408
385
366
352
358
362
367
377
392
396
399
404
405
405
413
427
443
562
741
698
675
642
607
592
584
545
534
523
501
488
489
490
491
482
478
466
458
450
434
430
426
422
424
428
432
434
436
436
434
433
449
462
500
514
512
505
494
483
477
476
476
475
479
484
492
498
514
523
548
559
558
555
542
488
473
402
392
385
375
392
397
401
395
395
395
395
395
395
396
398
402
403
419
420
420
420
424
429
434
431
425
414
409
403
404
405
406
408
424
429
431
429
428
439
445
447
454
456
457
459
460
466
469
471
476
478
480
485
486
483
463
463
462
480
494
534
532
530
478
470
468
465
461
452
448
443
441
441
441
445
446
448
449
452
455
458
458
464
470
472
472
472
472
472
472
472
473
477
482
487
495
501
514
532
549
548
546
544
527
516
510
512
513
514
517
529
537
538
540
545
547
550
560
577
581
606
606
604
603
601
581
568
561
550
542
543
546
549
555
565
558
561
567
571
578
588
590
593
595
596
602
622
620
612
609
609
608
608
611
657
662
665
653
648
644
658
657
656
657
657
658
659
669
672
675
671
670
680
696
698
700
703
703
702
701
710
716
720
735
760
787
804
807
812
819
790
757
733
716
718
723
727
728
730
733
736
738
740
741
743
747
758
761
798
877
882
887
905
859
835
817
800
797
787
786
800
803
818
823
824
822
820
816
811
803
814
820
830
852
857
868
874
877
880
884
888
884
876
872
867
865
865
866
865
861
850
848
845
844
846
849
849
851
852
853
857
862
866
872
876
882
882
881
881
880
879
887
889
890
888
887
886
880
878
875
874
874
873
872
861
857
838
838
842
844
847
857
868
871
876
881
883
885
887
890
895
899
900
901
905
906
907
908
909
911
913
913
914
913
912
912
913
915
920
921
922
921
921
920
919
920
921
921
935
947
953
965
968
969
972
973
975
975
976
977
980
982
988
984
981
979
977
980
983
985
982
975
966
961
960
960
959
959
960
962
957
953
951
951
949
952
958
965
971
984
989
992
994
994
995
995
996
997
1001
1003
1006
1009
1015
1017
1019
1025
1033
1036
1039
1042
1028
1022
1015
1001
999
994
991
989
986
983
982
981
981
981
980
980
985
987
990
990
991
992
996
1001
1003
1007
1010
1009
1008
1006
1005
977
975
974
975
979
985
987
991
999
999
998
996
994
989
982
982
981
980
979
985
986
988
990
992
1001
1010
1017
1022
1021
1020
1020
1019
1018
1012
1007
994
980
976
973
970
968
965
962
960
960
962
962
963
964
965
966
969
970
972
975
986
991
999
1011
1013
1018
1022
1023
1022
1018
1013
1008
1005
997
1001
1005
1007
1019
1025
1030
1034
1033
1032
1032
1029
1026
1024
1018
1017
1015
1013
1012
1011
1011
1011
1011
1012
1012
1012
1013
1013
1014
1016
1017
1018
1031
1033
1035
1045
1048
1050
1055
1055
1053
1034
1036
1037
1039
1040
1043
1044
1038
1034
1032
1033
1037
1048
1053
1057
1060
1069
1069
1071
1071
1072
1073
1073
1073
1073
1072
1066
1063
1061
1066
1069
1074
1076
1077
1077
1076
1076
1077
1080
1083
1084
1095
1098
1101
1107
1108
1112
1114
1117
1119
1119
1119
1119
1118
1117
1117
1115
1114
1114
1120
1123
1125
1126
1131
1132
1131
1130
1129
1128
1127
1125
1123
1120
1120
1121
1121
1118
1116
1112
1113
1117
1124
1126
1126
1126
1125
1125
1126
1130
1131
1132
1132
1134
1135
1135
1138
1139
1140
1144
1149
1154
1157
1165
1167
1169
1180
1178
1176
1173
1171
1168
1166
1170
1172
1174
1176
1184
1188
1191
1196
1198
1201
1202
1204
1210
1196
1183
1176
1180
1184
1184
1185
1186
1186
1186
1186
1186
1186
1190
1194
1199
1202
1203
1204
1204
1205
1205
1205
1214
1216
1218
1230
1229
1228
1226
1225
1223
1217
1215
1215
1214
1214
1214
1215
1216
1223
1227
1233
1237
1241
1254
1257
1255
1253
1244
1242
1245
1251
1253
1259
1264
1274
1277
1279
1267
1258
1256
1255
1253
1253
1255
1258
1270
1271
1267
1265
1264
1261
1260
1271
1275
1275
1273
1272
1269
1266
1264
1262
1258
1260
1262
1264
1264
1263
1262
1262
1260
1261
1262
1263
1263
1264
1265
1268
1265
1263
1258
1265
1269
1274
1281
1288
1289
1292
1293
1297
1307
1307
1307
1310
1316
1320
1340
1346
1349
1343
1338
1327
1321
1311
1305
1307
1308
1310
1317
1319
1324
1329
1331
1337
1339
1340
1341
1341
1340
1340
1339
1339
1339
1333
1323
1305
1322
1338
1342
1343
1344
1347
1348
1349
1349
1351
1350
1350
1349
1345
1344
1341
1341
1341
1339
1337
1335
1329
1327
1326
1324
1323
1325
1328
1332
1336
1338
1346
1359
1360
1360
1361
1362
1362
1364
1364
1362
1361
1358
1358
1360
1365
1370
1379
1383
1388
1395
1397
1398
1406
1419
1423
1426
1426
1425
1422
1421
1422
1425
1424
1421
1419
1414
1411
1406
1402
1408
1411
1413
1414
1415
1416
1416
1416
1417
1417
1417
1417
1421
1424
1436
1445
1452
1458
1462
1471
1473
1475
1477
1477
1477
1476
1472
1466
1462
1458
1442
1435
1435
1439
1445
1448
1456
1456
1456
1456
1456
1456
1456
1456
1459
1459
1461
1463
1467
1470
1472
1479
1482
1485
1488
1488
1477
1473
1470
1466
1463
1455
1457
1459
1461
1464
1466
1475
1479
1484
1494
1496
1496
1497
1498
1496
1494
1493
1490
1494
1496
1498
1499
1500
1501
1502
1503
1504
1506
1508
1511
1525
1541
1549
1550
1546
1544
1540
1532
1525
1522
1521
1520
1519
1519
1522
1525
1528
1536
1540
1549
1561
1581
1579
1576
1574
1573
1571
1568
1560
1558
1557
1555
1551
1549
1542
1513
1519
1524
1531
1538
1546
1557
1577
1585
1592
1599
1612
1616
1619
1620
1622
1623
1624
1625
1626
1625
1625
1624
1624
1624
1625
1625
1622
1606
1599
1605
1610
1614
1618
1626
1678
1646
1639
1636
1634
1636
1638
1641
1643
1645
1646
1646
1649
1652
1655
1661
1661
1662
1662
1663
1666
1668
1672
1673
1674
1676
1678
1679
1680
1682
1683
1684
1686
1687
1689
1697
1699
1700
1702
1706
1705
1704
1701
1699
1697
1695
1693
1689
1688
1688
1688
1689
1691
1692
1696
1698
1699
1700
1702
1698
1695
1694
1692
1692
1693
1695
1695
1695
1694
1694
1693
1693
1694
1696
1707
1708
1710
1712
1710
1710
1708
1708
1717
1723
1724
1727
1733
1737
1731
1727
1725
1720
1717
1713
1698
1702
1705
1708
1722
1726
1731
1736
1746
1751
1762
1767
1774
1782
1780
1778
1776
1774
1768
1755
1750
1746
1728
1733
1738
1742
1745
1754
1751
1750
1749
1747
1746
1743
1740
1738
1734
1738
1742
1747
1752
1758
1760
1762
1766
1766
1766
1766
1769
1774
1776
1781
1781
1781
1781
1781
1777
1776
1774
1772
1769
1766
1769
1770
1777
1778
1783
1783
1785
1785
1787
1788
1788
1788
1788
1788
1788
1788
1788
1794
1806
1808
1812
1812
1810
1802
1792
1792
1799
1801
1802
1803
1806
1804
1803
1802
1798
1796
1796
1796
1796
1798
1801
1803
1806
1815
1815
1812
1812
1811
1816
1818
1821
1823
1826
1834
1837
1839
1845
1844
1841
1835
1832
1830
1825
1813
1813
1813
1814
1814
1815
1818
1822
1828
1832
1832
1832
1835
1838
1848
1851
1852
1854
1854
1855
1856
1866
1861
1858
1862
1868
1867
1867
1866
1866
1857
1853
1851
1848
1848
1848
1848
1848
1848
1848
1849
1849
1849
1849
1853
1856
1866
1876
1883
1881
1880
1878
1876
1873
1864
1860
1857
1859
1861
1862
1863
1868
1877
1880
1880
1881
1882
1885
1886
1887
1887
1890
1892
1893
1896
1898
1898
1897
1895
1894
1894
1895
1895
1896
1897
1898
1901
1903
1904
1908
1910
1911
1911
1911
1911
1905
1903
1901
1901
1901
1904
1907
1922
1920
1919
1915
1913
1916
1922
1927
1931
1934
1936
1937
1937
1937
1940
1943
1950
1953
1957
1964
1965
1965
1964
1963
1958
1953
1949
1943
1944
1945
1946
1948
1950
1953
1954
1959
1960
1963
1970
1973
1992
1994
1990
1979
1972
1969
1972
1975
1977
1981
1983
1985
1984
1981
1978
1970
1959
1953
1954
1956
1959
1962
1965
1969
1975
1981
1989
1988
1987
1986
1983
1975
1972
1972
1971
1971
1971
1971
1971
1980
1986
2002
2006
2003
2001
2000
1998
1999
2001
2003
2004
2008
2014
2016
2019
2021
2021
2021
2021
2021
2017
2014
2007
2004
2003
2003
2002
2004
2007
2009
2015
2018
2018
2016
2014
2013
2012
2010
2006
2005
2006
2007
2008
2009
2012
2009
2004
2002
1999
1998
1999
2001
2003
2005
2009
2014
2018
2021
2022
2024
2031
2035
2035
2035
2036
2036
2036
2036
2040
2044
2061
2067
2070
2072
2073
2068
2065
2063
2056
2054
2050
2047
2046
2045
2041
2040
2034
2031
2023
2008
2009
2012
2015
2017
2028
2033
2036
2040
2043
2056
2055
2053
2050
2049
2048
2047
2045
2045
2045
2045
2045
2045
2045
2045
2045
2046
2047
2048
2049
2056
2062
2066
2077
2090
2093
2086
2080
2077
2075
2076
2077
2082
2083
2086
2084
2083
2082
2082
2083
2091
2096
2099
2099
2098
2098
2098
2097
2106
2109
2109
2107
2104
2108
2108
2110
2113
2114
2117
2117
2117
2117
2117
2116
2116
2122
2135
2149
2153
2152
2151
2152
2156
2158
2163
2165
2167
2167
2165
2162
2160
2155
2146
2144
2141
2144
2146
2157
2165
2164
2162
2162
2160
2158
2159
2160
2161
2162
2164
2170
2173
2175
2176
2177
2179
2181
2182
2188
2190
2190
2188
2188
2187
2187
2186
2186
2187
2191
2191
2192
2191
2192
2194
2195
2196
2197
2198
2205
2204
2205
2209
2215
2218
2221
2221
2221
2221
2221
2223
2226
2228
2230
2234
2232
2231
2231
2229
2230
2231
2232
2233
2234
2236
2240
2242
2245
2252
2257
2259
2260
2259
2257
2255
2245
2242
2248
2252
2256
2260
2265
2268
2268
2268
2268
2268
2267
2266
2262
2261
2260
2259
2258
2258
2258
2258
2258
2258
2258
2258
2260
2265
2267
2269
2271
2273
2277
2277
2277
2277
2277
2277
2277
2277
2282
2286
2300
2300
2300
2300
2299
2299
2299
2303
2304
2308
2309
2308
2306
2306
2305
2306
2307
2310
2314
2316
2328
2332
2339
2338
2337
2336
2331
2330
2328
2324
2327
2333
2337
2339
2349
2352
2354
2355
2356
2357
2357
2358
2358
2357
2357
2356
2356
2356
2360
2363
2365
2366
2360
2358
2358
2360
2362
2364
2365
2366
2367
2370
2372
2371
2367
2367
2369
2371
2380
2380
2381
2382
2389
2400
2404
2407
2410
2411
2411
2409
2408
2407
2405
2403
2396
2393
2387
2388
2389
2391
2395
2396
2395
2394
2395
2398
2400
2402
2406
2412
2412
2413
2413
2417
2421
2430
2434
2446
2446
2445
2445
2447
2449
2452
2454
2443
2440
2438
2436
2434
2435
2437
2437
2438
2439
2452
2483
2491
2479
2469
2465
2462
2459
2457
2452
2448
2449
2452
2453
2455
2457
2461
2469
2476
2483
2498
2512
2463
2455
2452
2451
2436
2432
2430
2429
2429
2429
2429
2430
2431
2431
2431
2430
2428
2425
2425
2425
2425
2425
2425
2425
2424
2423
2423
2422
2421
2421
2420
2420
2420
2420
2419
2417
2415
2411
2395
2395
2395
2395
2393
2392
2389
2389
2388
2387
2385
2379
2375
2373
2370
2371
2372
2374
2380
2379
2378
2371
2369
2367
2368
2370
2372
2378
2380
2382
2379
2374
2365
2363
2359
2341
2328
2319
2323
2335
2334
2333
2332
2331
2332
2332
2332
2330
2325
2322
2323
2330
2331
2328
2321
2310
2308
2302
2299
2295
2297
2298
2299
2299
2299
2299
2288
2284
2282
2278
2279
2281
2282
2292
2289
2286
2283
2268
2262
2258
2254
2252
2254
2257
2263
2267
2260
2257
2252
2251
2255
2257
2258
2261
2259
2257
2263
2265
2267
2269
2272
2276
2285
2291
2295
2296
2296
2297
2298
2298
2297
2296
2290
2288
2286
2286
2288
2292
2298
2298
2299
2304
2304
2306
2306
2313
2314
2314
2314
2314
2314
2314
2315
2316
2316
2317
2317
2317
2318
2318
2323
2325
2327
2332
2332
2333
2335
2338
2339
2344
2346
2347
2351
2353
2354
2354
2354
2355
2357
2358
2359
2361
2363
2365
2365
2368
2369
2369
2370
2371
2372
2375
2375
2377
2381
2388
2393
2398
2398
2397
2396
2395
2393
2391
2389
2382
2384
2386
2389
2393
2398
2401
2403
2404
2405
2407
2407
2407
2406
2406
2410
2411
2413
2414
2419
2418
2417
2423
2429
2430
2430
2431
2432
2433
2433
2434
2434
2434
2435
2436
2441
2442
2443
2447
2450
2447
2446
2443
2440
2441
2443
2447
2447
2446
2445
2445
2447
2449
2459
2462
2464
2465
2469
2473
2489
2488
2486
2485
2484
2483
2480
2482
2483
2485
2485
2485
2485
2485
2485
2486
2490
2492
2498
2499
2504
2505
2509
2512
2515
2516
2517
2518
2519
2517
2516
2516
2516
2516
2516
2517
2518
2525
2527
2531
2534
2538
2541
2543
2546
2549
2549
2549
2549
2549
2548
2547
2546
2548
2548
2549
2552
2556
2561
2572
2565
2563
2561
2560
2559
2561
2561
2562
2567
2568
2576
2577
2578
2579
2580
2581
2584
2585
2586
2588
2591
2595
2603
2606
2607
2608
2609
2612
2618
2625
2631
2637
2649
2653
2656
2655
2654
2650
2648
2646
2651
2655
2656
2657
2657
2665
2670
2672
2674
2675
2676
2676
2677
2679
2680
2692
2707
2708
2708
2708
2707
2706
2706
2705
2704
2706
2709
2712
2714
2717
2719
2726
2727
2728
2729
2730
2730
2731
2732
2733
2736
2739
2742
2745
2751
2756
2767
2768
2768
2768
2768
2768
2768
2768
2769
2769
2770
2770
2773
2775
2776
2778
2779
2779
2779
2780
2780
2781
2782
2787
2788
2788
2789
2790
2795
2799
2803
2809
2818
2825
2834
2836
2842
2845
2846
2847
2848
2848
2846
2835
2833
2831
2831
2832
2832
2836
2837
2839
2841
2842
2843
2849
2851
2851
2852
2852
2853
2854
2856
2856
2858
2860
2861
2865
2866
2867
2869
2877
2882
2884
2885
2888
2891
2896
2904
2907
2909
2914
2914
2913
2912
2912
2912
2912
2915
2920
2920
2921
2923
2923
2930
2932
2935
2938
2938
2938
2937
2936
2936
2937
2938
2939
2941
2942
2946
2948
2950
2950
2950
2949
2947
2947
2947
2946
2946
2945
2945
2945
2945
2945
2945
2947
2948
2952
2954
2955
2962
2966
2967
2969
2973
2974
2975
2975
2976
2976
2977
2977
2980
2981
2982
2985
2987
2989
2989
2992
3021
3024
3036
3037
3038
3039
3039
3041
3041
3042
3045
3046
3052
3054
3058
3067
3069
3070
3073
3073
3073
3073
3073
3073
3073
3074
3088
3090
3091
3095
3097
3098
3098
3098
3098
3098
3098
3098
3098
3098
3098
3098
3098
3100
3100
3101
3101
3103
3103
3104
3105
3106
3108
3109
3110
3111
3115
3116
3117
3118
3119
3122
3124
3127
3132
3133
3133
3133
3133
3133
3133
3136
3137
3139
3142
3146
3152
3166
3169
3174
3175
3177
3180
3182
3184
3183
3181
3180
3180
3181
3183
3184
3186
3187
3188
3188
3188
3189
3189
3189
3189
3190
3191
3190
3188
3187
3187
3185
3184
3180
3179
3176
3173
3169
3166
3165
3162
3161
3157
3154
3153
3150
3149
3147
3145
3143
3141
3140
3139
3138
3138
3139
3139
3140
3140
3142
3143
3146
3146
3148
3149
3149
3146
3141
3136
3135
3134
3133
3131
3131
3132
3133
3133
3133
3134
3140
3141
3142
3146
3147
3147
3147
3147
3147
3147
3147
3148
3150
3159
3162
3165
3169
3168
3167
3165
3166
3167
3172
3173
3175
3178
3179
3181
3183
3187
3189
3191
3193
3196
3199
3201
3204
3207
3207
3207
3207
3214
3218
3221
3223
3231
3233
3240
3244
3247
3250
3249
3248
3248
3247
3246
3244
3243
3243
3245
3248
3249