0
3
5
6
10
11
15
17
21
23
26
28
31
32
34
37
45
53
55
58
59
61
63
64
65
71
74
75
79
80
82
85
92
95
97
99
101
102
103
104
105
107
108
110
111
114
115
120
121
122
124
125
127
129
130
132
133
135
136
137
139
141
142
143
145
148
149
159
160
163
164
171
174
175
178
179
180
181
182
186
187
188
189
191
193
198
200
201
204
207
208
209
210
214
215
216
217
219
221
222
223
225
227
229
230
232
234
237
238
242
244
245
246
247
249
250
252
254
256
260
261
266
267
270
275
279
284
287
289
290
291
293
295
296
297
298
300
304
308
309
311
312
314
315
317
320
327
330
331
332
337
339
340
342
346
347
348
349
355
358
361
364
365
367
368
376
378
383
385
387
391
392
394
397
400
401
402
403
410
411
415
419
420
422
424
426
427
428
432
439
440
441
447
451
453
456
460
461
465
466
471
472
476
486
487
489
490
491
492
495
496
497
504
505
506
509
510
513
517
519
525
528
530
533
534
538
540
542
546
547
548
554
555
557
561
566
568
570
573
575
579
581
583
584
585
590
593
596
597
598
600
601
604
605
606
608
609
615
617
620
621
622
624
628
632
633
634
638
641
642
644
646
648
649
652
654
655
657
662
663
665
667
669
671
672
673
676
682
690
693
695
699
700
705
707
709
713
718
721
723
725
727
729
730
733
734
735
737
740
745
748
750
752
754
755
756
757
759
760
766
773
780
781
786
788
789
791
793
794
795
797
798
799
801
802
804
807
816
818
820
821
828
831
839
841
844
845
847
849
850
851
852
855
857
858
860
862
865
868
872
875
877
880
881
882
883
889
890
892
896
897
900
902
903
904
905
906
907
908
910
911
913
916
917
919
921
922
929
930
931
933
937
938
947
949
950
952
953
956
960
961
966
969
971
973
979
980
981
991
994
996
1000
1010
1011
1013
1015
1019
1020
1022
1025
1027
1028
1030
1031
1034
1036
1039
1041
1042
1043
1045
1047
1050
1052
1053
1054
1062
1063
1067
1071
1072
1077
1079
1080
1085
1086
1088
1089
1094
1097
1098
1100
1107
1108
1109
1116
1117
1121
1122
1127
1128
1130
1131
1132
1135
1136
1138
1140
1144
1147
1148
1152
1154
1158
1159
1160
1161
1162
1168
1169
1170
1171
1174
1175
1178
1179
1180
1181
1183
1190
1191
1196
1197
1198
1202
1205
1206
1208
1211
1215
1218
1219
1225
1226
1227
1231
1237
1242
1244
1246
1249
1252
1254
1255
1259
1260
1261
1266
1267
1269
1271
1274
1276
1277
1278
1281
1282
1284
1285
1286
1290
1295
1296
1297
1300
1301
1302
1307
1308
1310
1311
1314
1315
1318
1320
1321
1322
1324
1327
1330
1334
1337
1340
1341
1342
1343
1345
1347
1349
1355
1356
1357
1359
1366
1369
1373
1374
1375
1376
1377
1378
1381
1382
1383
1385
1388
1389
1390
1391
1392
1393
1394
1395
1397
1398
1400
1401
1405
1406
1413
1416
1418
1423
1425
1429
1430
1431
1432
1442
1449
1455
1456
1458
1466
1469
1470
1471
1473
1474
1478
1481
1482
1483
1484
1485
1486
1489
1493
1498
1500
1502
1510
1514
1515
1521
1524
1527
1528
1531
1532
1534
1537
1541
1542
1545
1546
1553
1554
1556
1562
1565
1567
1568
1569
1572
1573
1576
1582
1583
1585
1588
1589
1591
1602
1607
1611
1613
1617
1620
1621
1622
1624
1625
1627
1630
1631
1632
1633
1637
1639
1644
1645
1647
1648
1655
1656
1660
1662
1664
1665
1671
1672
1674
1678
1682
1684
1692
1695
1696
1698
1702
1703
1710
1711
1713
1718
1719
1720
1721
1723
1727
1728
1732
1735
1737
1741
1742
1743
1746
1747
1748
1751
1752
1755
1756
1760
1761
1764
1765
1768
1770
1771
1772
1774
1775
1776
1777
1780
1782
1784
1786
1787
1793
1798
1800
1802
1803
1804
1805
1811
1816
1819
1820
1822
1824
1825
1827
1829
1836
1838
1843
1844
1845
1850
1851
1853
1861
1862
1867
1868
1869
1870
1871
1872
1873
1875
1877
1879
1881
1884
1886
1887
1890
1894
1899
1905
1906
1909
1917
1920
1929
1936
1938
1941
1942
1943
1944
1948
1956
1957
1959
1960
1961
1962
1965
1966
1969
1970
1971
1974
1978
1979
1980
1981
1983
1985
1986
1987
1992
1994
1997
2000
2001
2002
2006
2007
2008
2013
2018
2020
2023
2024
2029
2031
2033
2034
2035
2036
2039
2042
2043
2046
2048
2051
2052
2054
2055
2063
2065
2067
2070
2071
2078
2080
2090
2092
2095
2096
2097
2098
2099
2103
2105
2107
2110
2111
2116
2117
2118
2121
2123
2126
2127
2128
2130
2135
2138
2140
2143
2146
2147
2148
2152
2153
2158
2159
2166
2168
2170
2179
2180
2181
2186
2189
2191
2193
2195
2196
2199
2200
2206
2209
2210
2211
2214
2216
2217
2218
2220
2221
2226
2231
2239
2248
2251
2252
2253
2254
2256
2258
2261
2264
2265
2268
2281
2283
2284
2285
2287
2288
2290
2291
2292
2293
2294
2296
2297
2299
2301
2302
2305
2308
2310
2312
2320
2322
2325
2326
2330
2338
2339
2341
2344
2350
2353
2354
2355
2356
2358
2362
2363
2364
2366
2369
2370
2372
2373
2376
2382
2384
2387
2388
2389
2392
2395
2400
2401
2408
2409
2410
2413
2417
2419
2421
2425
2427
2428
2431
2432
2434
2437
2438
2439
2440
2446
2447
2449
2451
2452
2455
2456
2458
2459
2461
2463
2474
2475
2476
2480
2482
2486
2487
2488
2489
2490
2493
2496
2502
2503
2505
2507
2509
2510
2514
2517
2518
2519
2520
2521
2523
2527
2529
2530
2531
2532
2536
2537
2541
2542
2543
2544
2545
2546
2550
2551
2553
2557
2558
2559
2562
2567
2568
2569
2570
2571
2574
2578
2579
2580
2582
2586
2592
2593
2595
2596
2599
2600
2604
2605
2610
2611
2613
2614
2616
2619
2620
2621
2622
2625
2626
2630
2632
2634
2637
2642
2645
2648
2652
2654
2658
2660
2663
2666
2670
2673
2674
2677
2678
2679
2684
2687
2688
2690
2691
2693
2694
2699
2702
2715
2716
2718
2724
2725
2728
2735
2736
2739
2742
2743
2748
2749
2751
2754
2755
2757
2759
2760
2761
2762
2765
2767
2769
2771
2772
2774
2777
2780
2782
2783
2785
2787
2790
2794
2797
2799
2800
2802
2803
2806
2812
2814
2818
2819
2821
2824
2826
2828
2831
2832
2838
2841
2851
2855
2856
2857
2860
2861
2862
2872
2874
2876
2878
2883
2888
2890
2894
2896
2900
2902
2903
2910
2913
2915
2918
2921
2923
2929
2934
2939
2941
2942
2944
2945
2947
2948
2949
2954
2955
2959
2961
2962
2964
2965
2966
2968
2969
2972
2976
2978
2979
2982
2983
2984
2985
2992
2993
2998
3008
3009
3014
3017
3022
3024
3025
3028
3030
3031
3033
3035
3036
3041
3042
3043
3046
3048
3049
3052
3055
3056
3058
3060
3067
3068
3069
3073
3075
3077
3079
3082
3084
3085
3087
3088
3093
3096
3097
3098
3100
3101
3102
3104
3105
3107
3109
3111
3112
3113
3116
3117
3118
3119
3120
3121
3123
3124
3128
3129
3137
3139
3140
3142
3146
3147
3148
3149
3151
3152
3153
3154
3158
3161
3166
3169
3170
3172
3174
3175
3176
3181
3189
3192
3196
3197
3200
3204
3207
3212
3214
3216
3217
3219
3221
3224
3228
3230
3232
3233
3235
3236
3238
3239
3240
3241
3242
3245
3249
3253
3254
3255
3256
3258
3259
3262
3263
3266
3269
3270
3271
3277
3278
3279
3282
3295
3303
3304
3306
3308
3309
3311
3312
3313
3320
3322
3323
3324
3325
3327
3332
3333
3334
3335
3336
3345
3350
3353
3356
3358
3363
3368
3369
3372
3375
3379
3384
3386
3388
3390
3391
3394
3395
3397
3399
3400
3401
3403
3404
3406
3409
3413
3419
3420
3423
3424
3428
3429
3431
3432
3435
3442
3443
3444
3446
3452
3453
3464
3470
3471
3473
3476
3477
3480
3481
3482
3485
3488
3491
3492
3507
3509
3515
3517
3519
3520
3521
3522
3524
3525
3526
3528
3529
3531
