0
1
3
4
5
6
8
10
12
13
14
15
16
17
18
19
20
23
29
31
34
37
38
39
41
42
44
47
49
51
53
54
55
56
59
60
61
62
65
67
68
69
70
73
74
75
76
79
80
81
84
85
90
93
95
96
98
100
101
104
105
107
108
109
110
111
112
115
118
119
120
122
123
124
125
126
127
128
129
130
131
134
136
137
139
141
142
143
144
145
146
147
148
154
157
158
160
162
165
166
167
168
172
177
179
180
181
182
183
185
191
196
197
200
205
208
209
210
213
214
215
219
221
222
223
225
226
230
231
232
234
238
240
241
245
247
248
249
250
252
253
254
255
257
258
260
262
266
267
268
269
274
276
277
278
279
280
281
282
283
285
286
287
290
294
295
300
301
302
303
305
306
307
309
311
313
314
315
319
320
326
327
328
329
331
332
335
337
338
339
340
341
343
345
346
348
349
351
352
354
356
358
359
362
363
364
375
376
379
380
381
383
384
388
390
391
393
394
397
399
400
404
407
408
409
410
412
413
415
418
420
422
424
425
427
431
433
434
435
438
439
440
444
445
446
447
449
452
457
460
461
462
464
465
469
471
472
477
478
480
483
486
488
491
494
496
498
499
500
502
504
507
508
510
516
518
519
521
525
530
531
532
533
536
537
538
540
541
544
545
546
548
551
552
554
559
560
561
563
568
570
572
574
575
578
579
580
582
584
585
586
587
588
589
590
594
595
596
598
599
602
605
606
608
609
611
613
614
615
616
618
621
622
624
625
629
630
631
632
636
637
639
640
641
642
643
645
650
651
653
655
656
657
658
660
661
662
664
667
668
670
671
673
674
675
676
677
679
680
682
685
686
688
689
690
691
693
694
695
696
697
701
702
704
705
706
707
711
713
714
715
716
717
718
719
721
722
724
725
726
727
732
734
735
738
739
740
741
742
743
744
745
746
748
751
754
756
758
759
763
764
765
766
767
769
771
772
773
774
775
777
778
780
781
782
787
788
790
791
792
794
795
797
799
801
802
803
805
806
807
808
809
813
817
818
822
823
824
825
827
830
831
835
838
839
842
845
847
849
851
855
857
858
860
862
863
864
865
866
867
871
874
875
881
883
885
886
890
891
893
900
901
902
905
906
907
908
910
911
914
915
916
920
921
923
924
925
926
927
930
932
933
934
935
936
937
939
941
942
944
945
946
949
951
953
955
956
959
960
961
962
966
970
972
974
976
978
980
981
982
983
984
986
987
988
989
991
992
994
995
998
999
1003
1004
1006
1008
1009
1010
1011
1012
1014
1015
1016
1017
1019
1020
1021
1022
1023
1024
1026
1028
1030
1031
1032
1033
1034
1035
1038
1039
1040
1041
1043
1045
1046
1048
1049
1050
1052
1055
1057
1058
1062
1063
1065
1066
1067
1069
1070
1071
1076
1077
1078
1079
1081
1084
1086
1087
1090
1093
1094
1095
1096
1098
1100
1101
1102
1103
1106
1107
1108
1109
1110
1112
1117
1118
1121
1123
1125
1127
1128
1129
1130
1132
1135
1141
1144
1149
1150
1152
1153
1155
1158
1159
1161
1162
1164
1165
1166
1167
1169
1171
1173
1175
1176
1178
1179
1182
1183
1185
1186
1189
1194
1196
1197
1200
1201
1202
1203
1204
1206
1208
1209
1210
1213
1214
1215
1218
1221
1224
1227
1228
1229
1230
1231
1232
1234
1235
1236
1237
1239
1242
1244
1245
1246
1247
1251
1253
1255
1256
1259
1263
1264
1266
1268
1269
1272
1273
1277
1280
1282
1283
1285
1288
1289
1290
1292
1293
1294
1295
1297
1298
1299
1302
1303
1306
1308
1310
1311
1313
1314
1315
1317
1320
1321
1322
1324
1325
1326
1327
1330
1331
1333
1334
1335
1336
1337
1343
1344
1348
1349
1351
1353
1355
1356
1357
1359
1360
1362
1363
1364
1369
1370
1371
1373
1375
1376
1377
1378
1379
1380
1381
1383
1385
1386
1387
1388
1389
1393
1394
1396
1397
1401
1402
1405
1406
1407
1410
1411
1412
1413
1418
1419
1420
1422
1423
1424
1426
1427
1429
1432
1434
1435
1437
1438
1439
1440
1446
1448
1450
1451
1452
1457
1459
1461
1462
1465
1467
1471
1473
1475
1476
1478
1479
1481
1482
1483
1484
1485
1486
1488
1491
1492
1493
1494
1496
1497
1500
1501
1502
1506
1507
1509
1511
1512
1513
1515
1516
1518
1519
1520
1522
1523
1526
1527
1528
1531
1532
1533
1535
1536
1537
1540
1541
1543
1548
1549
1553
1554
1555
1559
1561
1562
1563
1564
1565
1566
1567
1568
1570
1572
1573
1574
1576
1577
1579
1580
1582
1587
1588
1589
1591
1593
1596
1598
1599
1600
1601
1602
1603
1605
1606
1607
1608
1609
1610
1611
1612
1614
1616
1618
1621
1622
1623
1624
1625
1626
1627
1628
1629
1631
1638
1639
1640
1641
1644
1648
1649
1650
1651
1652
1654
1655
1656
1658
1662
1663
1664
1665
1667
1668
1670
1671
1672
1673
1674
1679
1683
1684
1685
1688
1689
1690
1693
1694
1696
1697
1699
1700
1703
1704
1709
1710
1712
1713
1718
1719
1721
1724
1727
1729
1734
1735
1737
1738
1742
1743
1745
1746
1748
1749
1750
1754
1756
1757
1758
1759
1760
1762
1763
1766
1768
1769
1771
1772
1774
1778
1779
1780
1781
1787
1788
1789
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1805
1806
1807
1808
1809
1811
1814
1815
1821
1822
1823
1827
1828
1829
1830
1831
1833
1834
1835
1837
1838
1839
1840
1841
1842
1843
1844
1848
1849
1851
1852
1853
1856
1859
1863
1864
1865
1868
1869
1873
1876
1878
1879
1880
1886
1887
1889
1892
1894
1895
1898
1899
1900
1901
1902
1903
1906
1910
1912
1913
1915
1916
1917
1918
1920
1921
1922
1923
1925
1926
1930
1932
1935
1936
1937
1938
1939
1940
1947
1948
1949
1951
1952
1953
1955
1956
1957
1959
1961
1962
1963
1964
1968
1969
1970
1972
1973
1975
1976
1977
1978
1982
1983
1986
1989
1994
1995
1996
1997
1998
1999
2000
2001
2002
2007
2010
2011
2012
2016
2017
2018
2020
2022
2023
2024
2025
2026
2027
2029
2031
2034
2035
2036
2038
2041
2045
2047
2049
2052
2053
2054
2055
2058
2060
2061
2067
2068
2069
2070
2071
2073
2074
2076
2077
2081
2083
2090
2092
2094
2096
2098
2099
2102
2105
2107
2108
2109
2114
2117
2118
2119
2122
2123
2124
2125
2126
2129
2130
2131
2132
2136
2138
2139
2142
2145
2148
2149
2152
2154
2156
2159
2160
2161
2162
2163
2165
2166
2169
2170
2174
2179
2181
2182
2184
2186
2188
2190
2191
2192
2193
2194
2197
2201
2202
2203
2204
2207
2208
2209
2210
2211
2214
2215
2216
2217
2219
2220
2221
2224
2225
2226
2228
2230
2231
2232
2234
2238
2239
2243
2246
2247
2248
2250
2251
2253
2254
2258
2260
2264
2267
2269
2271
2274
2275
2278
2279
2281
2282
2283
2284
2285
2286
2287
2289
2290
2291
2297
2298
2299
2301
2303
2308
2310
2311
2313
2315
2316
2317
2321
2323
2324
2325
2327
2329
2330
2331
2333
2334
2335
2336
2339
2340
2345
2348
2350
2351
2356
2358
2360
2361
2362
2364
2367
2368
2372
2373
2376
2377
2378
2379
2380
2381
2382
2383
2386
2388
2391
2394
2396
2397
2398
2399
2400
2401
2403
2406
2407
2408
2410
2411
2414
2415
2416
2417
2418
2420
2421
2422
2425
2426
2427
2429
2430
2431
2433
2434
2436
2437
2440
2442
2447
2448
2449
2451
2452
2454
2457
2462
2463
2464
2466
2467
2468
2469
2470
2473
2474
2475
2478
2479
2482
2483
2485
2487
2491
2492
2493
2494
2495
2498
2499
2500
2502
2504
2506
2507
2509
2512
2516
2517
2518
2519
2520
2524
2528
2530
2531
2533
2534
2535
2537
2538
2540
2542
2546
2550
2553
2554
2558
2563
2565
2567
2568
2569
2571
2574
2575
2578
2579
2580
2581
2582
2585
2586
2589
2592
2596
2599
2602
2606
2607
2608
2609
2614
2615
2618
2619
2620
2621
2622
2623
2624
2625
2627
2631
2634
2640
2643
2645
2646
2648
2649
2650
2653
2654
2656
2657
2658
2659
2662
2663
2666
2667
2668
2669
2671
2672
2673
2676
2677
2678
2680
2681
2682
2684
2686
2688
2691
2693
2696
2704
2705
2707
2708
2709
2710
2711
2713
2714
2716
2717
2719
2720
2721
2722
2725
2727
2729
2730
2733
2734
2735
2737
2739
2741
2743
2745
2752
2753
2754
2756
2757
2758
2759
2764
2765
2766
2769
2771
2772
2773
2774
2775
2776
2777
2779
2781
2782
2783
2787
2788
2791
2792
2794
2795
2796
2797
2798
2799
2800
2806
2807
2808
2810
2811
2813
2815
2816
2819
2821
2823
2828
2831
2832
2834
2838
2841
2842
2843
2844
2848
2849
2850
2851
2852
2854
2855
2856
2860
2862
2865
2866
2867
2868
2869
2871
2873
2878
2879
2881
2884
2886
2887
2889
2892
2893
2894
2895
2897
2898
2899
2900
2902
2907
2911
2912
2914
2915
2916
2921
2929
2932
2934
2936
2937
2939
2943
2944
2946
2947
2949
2950
2951
2952
2954
2958
2960
2961
2963
2968
2969
2970
2974
2975
2979
2982
2984
2986
2988
2989
2990
2993
2994
2996
2998
3000
3001
3002
3003
3004
3012
3014
3015
3020
3026
3028
3031
3032
3033
3034
3035
3043
3045
3047
3048
3049
3050
3052
3054
3055
3060
3063
3064
3066
3067
3069
3071
3073
3074
3079
3084
3085
3087
3089
3090
3094
3097
3098
3099
3100
3103
3107
3108
3110
3111
3113
3114
3115
3117
3118
3119
3120
3122
3124
3125
3126
3128
3131
3132
3133
3135
3137
3138
3139
3141
3142
3143
3145
3146
3147
3149
3151
3155
3156
3158
3159
3160
3161
3163
3164
3165
3169
3170
3171
3174
3175
3177
3178
3179
3181
3183
3186
3187
3188
3190
3191
3193
3195
3201
3205
3206
3207
3208
3209
3213
3214
3215
3216
3217
3219
3224
3225
3227
3229
3230
3231
3232
3233
3235
3237
3238
3240
3241
3242
3243
3246
3247
3248
3250
3251
3252
3254
3255
3257
3258
3259
3260
3261
3262
3263
3264
3265
3267
3269
3270
3271
3273
3275
3276
3278
3279
3282
3283
3287
3293
3294
3295
3296
3297
3299
3300
3301
3302
3303
3304
3305
3307
3308
3310
3312
3313
3314
3315
3317
3318
3319
3323
3325
3333
3334
3335
3337
3338
3339
3340
3341
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3355
3356
3357
3359
3361
3364
3365
3366
3367
3369
3370
3372
3376
3377
3378
3379
3381
3382
3384
3385
3386
3388
3393
3396
3398
3399
3400
3401
3403
3406
3407
3409
3410
3411
3413
3416
3418
3419
3421
3423
3426
3428
3429
3430
3432
3435
3437
3438
3439
3441
3442
3444
3445
3446
3451
3453
3454
3455
3456
3457
3460
3462
3463
3464
3465
3466
3467
3469
3472
3475
3477
3479
3480
3481
3485
3487
3488
3489
3493
3495
3497
3498
3500
3501
3502
3504
3511
3515
3516
3518
3519
3520
3521
3522
3523
3525
3527
3533
3534
3535
3537
3539
3540
3541
3543
3545
3546
3547
3548
3549
3552
3554
3555
3556
3557
3558
3559
3560
3562
3563
3565
3568
3570
3572
3576
3580
3581
3582
3583
3584
3586
3588
3589
3590
3591
3592
3599
3600
3602
3604
3605
3606
3608
3610
3614
3616
3619
3620
3627
3630
3633
3635
3639
3643
3644
3645
3646
3647
3648
3649
3652
3653
3654
3655
3657
3658
3660
3662
3663
3664
3665
3668
3669
3671
3673
3674
3675
3678
3679
3681
3684
3685
3686
3687
3690
3691
3692
3699
3703
3707
3709
3711
3712
3714
3716
3719
3726
3727
3730
3735
3738
3741
3743
3744
3746
3747
3748
3749
3750
3751
3752
3754
3756
3757
3761
3764
3767
3770
3771
3772
3775
3777
3779
3782
3784
3787
3788
3789
3790
3796
3797
3801
3806
3808
3809
3810
3812
3813
3817
3818
3821
3823
3826
3829
3831
3834
3839
3840
3842
3846
3847
3848
3850
3851
3856
3857
3859
3860
3863
3865
3875
3876
3877
3879
3880
3881
3882
3885
3888
3890
3891
3893
3895
3897
3899
3900
3903
3904
3905
3906
3907
3910
3912
3914
3915
3916
3917
3920
3921
3926
3929
3930
3932
3935
3936
3938
3939
3940
3941
3945
3946
3947
3949
3952
3954
3958
3959
3960
3962
3963
3965
3966
3970
3974
3976
3977
3981
3982
3983
3984
3985
3988
3989
3990
3994
3996
3997
4000
4004
4006
4007
4008
4009
4013
4014
4015
4017
4019
4021
4023
4026
4027
4029
4030
4031
4032
4033
4035
4037
4038
4039
4041
4043
4045
4046
4047
4049
4052
4055
4063
4065
4066
4067
4068
4070
4071
4073
4074
4075
4076
4078
4079
4081
4084
4085
4089
4091
4092
4093
4095
4099
4100
4101
4103
4104
4105
4106
4109
4111
4112
4113
4115
4116
4118
4120
4121
4123
4125
4128
4131
4132
4133
4135
4137
4138
4139
4140
4142
4144
4145
4146
4151
4152
4153
4156
4157
4158
4160
4161
4163
4164
4165
4167
4168
4169
4170
4172
4173
4174
4175
4176
4177
4178
4179
4180
4182
4184
4185
4187
