3
4
5
7
9
10
14
18
20
22
23
24
25
29
32
34
36
38
39
40
44
47
49
53
55
59
60
64
66
67
69
71
73
77
83
84
90
91
92
93
94
99
100
101
102
104
105
112
119
120
124
126
129
131
135
141
143
147
148
149
150
151
154
156
157
159
160
167
173
175
177
181
184
185
187
188
189
190
192
196
201
202
203
205
207
208
209
210
211
213
215
216
217
220
223
225
227
228
233
237
240
244
245
246
247
249
253
257
261
263
264
265
267
268
272
273
277
279
282
283
284
285
287
290
292
295
296
299
302
307
309
311
313
314
315
316
317
319
320
321
322
325
326
327
332
338
339
341
343
345
350
351
352
353
356
361
367
369
370
371
384
389
391
394
398
402
403
408
410
412
418
419
422
423
425
426
428
429
430
432
434
435
437
439
440
441
443
447
450
452
454
456
457
458
459
460
462
468
471
472
473
474
479
481
483
485
486
490
496
498
500
502
504
507
508
511
514
518
519
522
523
528
532
534
536
538
539
540
543
544
545
546
555
556
557
559
562
563
564
565
567
569
571
573
575
579
581
582
587
588
589
590
591
593
595
597
598
599
602
603
604
610
611
612
614
615
616
618
619
622
623
625
628
637
638
640
643
645
650
651
653
654
655
661
665
667
668
670
673
675
676
680
682
685
687
689
691
695
697
701
705
706
707
709
710
714
717
718
719
720
722
724
727
728
729
731
737
738
744
749
751
755
756
757
758
761
764
765
766
768
770
772
773
776
778
780
782
784
787
788
792
799
801
804
807
808
809
810
812
813
814
816
817
820
821
824
827
829
832
833
834
837
838
839
840
844
847
848
849
850
852
856
857
863
868
870
871
874
875
877
880
883
886
889
890
891
892
893
896
897
899
900
901
902
907
909
916
921
923
924
925
926
927
928
935
938
940
944
951
952
953
955
957
959
962
963
964
970
974
975
976
989
992
998
999
1001
1005
1007
1011
1012
1016
1017
1019
1020
1025
1027
1030
1032
1034
1036
1037
1038
1043
1044
1047
1051
1054
1055
1057
1058
1059
1062
1069
1072
1073
1074
1075
1077
1078
1080
1088
1091
1095
1096
1098
1108
1111
1112
1113
1115
1116
1117
1120
1121
1123
1125
1126
1128
1129
1130
1132
1133
1138
1141
1142
1149
1152
1153
1155
1156
1161
1163
1166
1167
1171
1172
1177
1179
1181
1182
1184
1186
1187
1194
1201
1203
1206
1210
1213
1215
1216
1217
1221
1224
1228
1230
1237
1239
1241
1247
1248
1250
1258
1259
1263
1266
1269
1270
1271
1274
1276
1277
1278
1281
1282
1283
1286
1287
1289
1292
1293
1295
1296
1307
1313
1314
1316
1318
1320
1323
1324
1325
1326
1328
1329
1331
1333
1334
1335
1336
1337
1339
1341
1343
1344
1346
1348
1350
1354
1356
1357
1358
1363
1364
1365
1370
1376
1377
1380
1382
1385
1387
1390
1392
1395
1396
1398
1399
1402
1403
1404
1407
1411
1413
1417
1419
1420
1423
1425
1430
1431
1432
1433
1437
1439
1440
1442
1444
1446
1447
1448
1450
1454
1455
1457
1458
1460
1463
1464
1465
1466
1468
1470
1471
1472
1473
1474
1475
1477
1479
1483
1484
1485
1486
1492
1494
1495
1496
1505
1508
1509
1511
1512
1513
1518
1520
1523
1529
1531
1533
1536
1537
1538
1539
1540
1544
1545
1547
1554
1561
1565
1566
1567
1568
1570
1572
1580
1581
1582
1584
1586
1590
1591
1594
1596
1598
1600
1601
1604
1607
1610
1611
1613
1615
1618
1620
1623
1627
1628
1630
1632
1640
1644
1654
1656
1660
1662
1670
1673
1674
1678
1680
1681
1682
1685
1686
1687
1689
1692
1693
1694
1695
1696
1698
1699
1703
1706
1707
1713
1716
1717
1719
1720
1721
1724
1726
1727
1728
1731
1732
1738
1739
1741
1742
1743
1749
1751
1752
1753
1754
1756
1757
1760
1762
1763
1764
1765
1766
1771
1773
1774
1775
1778
1783
1786
1787
1789
1795
1796
1799
1800
1805
1807
1810
1811
1814
1815
1817
1818
1820
1826
1830
1832
1835
1836
1837
1839
1841
1843
1847
1848
1853
1855
1858
1859
1861
1862
1864
1866
1867
1868
1872
1876
1877
1880
1885
1887
1889
1890
1894
1897
1898
1904
1905
1907
1909
1910
1912
1913
1915
1916
1917
1919
1923
1924
1925
1930
1933
1934
1937
1942
1943
1945
1946
1948
1950
1954
1958
1959
1960
1966
1967
1968
1970
1973
1975
1977
1979
1980
1981
1985
1986
1987
1988
1989
1990
1991
1992
1995
2000
2002
2005
2006
2012
2015
2016
2017
2020
2022
2023
2024
2025
2030
2034
2035
2037
2038
2041
2048
2049
2050
2051
2055
2058
2059
2060
2061
2063
2064
2066
2067
2068
2069
2070
2072
2074
2075
2076
2077
2078
2080
2081
2085
2087
2089
2090
2094
2095
2097
2099
2100
2102
2105
2107
2108
2111
2113
2116
2117
2123
2125
2126
2129
2131
2133
2134
2135
2143
2144
2146
2147
2148
2151
2152
2155
2156
2159
2161
2162
2164
2165
2167
2168
2169
2174
2175
2183
2184
2186
2190
2191
2194
2195
2198
2201
2204
2205
2213
2214
2218
2219
2223
2225
2226
2229
2230
2231
2232
2234
2235
2236
2242
2243
2246
2248
2249
2250
2251
2253
2257
2259
2263
2270
2274
2283
2284
2285
2287
2288
2291
2293
2300
2301
2304
2305
2306
2309
2312
2313
2315
2317
2318
2320
2321
2323
2327
2330
2335
2336
2337
2338
2339
2340
2341
2343
2344
2345
2346
2351
2355
2359
2360
2361
2362
2363
2365
2370
2372
2374
2377
2379
2380
2382
2383
2385
2387
2391
2392
2394
2396
2397
2400
2401
2405
2407
2409
2411
2416
2417
2420
2430
2431
2432
2433
2439
2444
2447
2448
2449
2450
2452
2455
2457
2458
2459
2460
2465
2466
2469
2471
2473
2479
2482
2485
2486
2487
2488
2489
2491
2493
2494
2495
2497
2498
2500
2507
2508
2513
2514
2515
2521
2522
2524
2528
2529
2530
2540
2541
2544
2545
2546
2549
2550
2556
2559
2560
2562
2564
2570
2572
2575
2577
2579
2580
2582
2584
2585
2586
2587
2589
2591
2596
2597
2599
2601
2605
2606
2607
2608
2610
2612
2618
2619
2622
2624
2628
2634
2638
2639
2640
2641
2643
2645
2647
2648
2654
2657
2658
2659
2660
2663
2664
2665
2668
2669
2671
2674
2675
2676
2678
2683
2687
2689
2690
2692
2694
2695
2696
2697
2706
2707
2708
2709
2713
2714
2718
2719
2721
2725
2726
2727
2728
2732
2735
2736
2737
2738
2739
2743
2746
2749
2757
2758
2762
2764
2765
2766
2769
2770
2771
2773
2774
2775
2781
2782
2783
2785
2786
2787
2788
2789
2790
2791
2792
2793
2798
2800
2801
2802
2803
2804
2807
2810
2814
2815
2816
2817
2818
2822
2824
2827
2832
2836
2840
2843
2845
2847
2848
2849
2851
2855
2856
2857
2860
2861
2862
2865
2866
2868
2869
2870
2871
2875
2876
2879
2881
2885
2886
2887
2889
2899
2902
2903
2905
2908
2910
2911
2917
2918
2920
2922
2924
2926
2927
2934
2940
2944
2945
2946
2951
2953
2954
2955
2956
2957
2958
2962
2965
2968
2969
2970
2972
2974
2977
2979
2982
2983
2984
2986
2994
2995
2998
3000
3003
3009
3013
3015
3016
3017
3018
3021
3022
3024
3026
3027
3029
3031
3034
3037
3038
3039
3040
3042
3044
3046
3048
3050
3053
3054
3055
3061
3062
3063
3064
3065
3067
3071
3072
3073
3074
3075
3077
3078
3082
3084
3086
3088
3091
3093
3098
3099
3102
3106
3109
3111
3112
3114
3117
3118
3121
3122
3123
3130
3131
3140
3142
3144
3148
3149
3150
3151
3153
3154
3155
3156
3157
3161
3163
3165
3167
3169
3170
3171
3172
3174
3175
3176
3178
3185
3187
3188
3189
3191
3196
3198
3199
3200
3203
3210
3213
3214
3216
3217
3218
3219
3221
3222
3223
3224
3226
3227
3229
3230
3234
3236
3238
3239
3240
3241
3243
3244
3246
3247
3248
3251
3253
3254
3257
3259
3261
3268
3269
3271
3272
3274
3280
3281
3283
3287
3289
3292
3295
3296
3297
3298
3300
3301
3302
3304
3306
3310
3311
3313
3315
3320
3325
3326
3328
3331
3334
3335
3337
3338
3339
3340
3348
3350
3351
3352
3364
3365
3370
3371
3373
3374
3376
3378
3380
3381
3383
3384
3387
3391
3396
3397
3398
3401
3406
3408
3409
3412
3414
3416
3420
3421
3422
3423
3424
3430
3431
3433
3436
3438
3440
3441
3442
3443
3444
3446
3448
3450
3451
3452
3457
3458
3459
3460
3461
3462
3465
3467
3468
3469
3471
3473
3478
3481
3488
3490
3494
3495
3497
3500
3502
3509
3510
3511
3516
3518
3519
3521
3522
3523
3526
3528
3532
3533
3538
3547
3554
3555
3559
3560
3563
3564
3566
3568
3569
3570
3572
3573
3574
3577
3583
3587
3589
3593
3597
3604
3605
3606
3607
3609
3611
3615
3616
3622
3626
3630
3631
3635
3637
3639
3640
3642
3644
3646
3650
3653
3655
3656
3662
3663
3664
3666
3667
3668
3669
3672
3673
3675
3678
3679
3680
3683
3684
3686
3687
3689
3692
3693
3698
3699
3707
3709
3714
3715
3717
3721
3723
3725
3731
3733
3734
3736
3738
3739
3743
3745
3747
3748
3758
3759
3762
3763
3764
3766
3771
3772
3773
3778
3779
3780
3781
3782
3785
3786
3789
3790
3791
3794
3796
3798
3799
3802
3806
3808
3809
3810
3811
3812
3814
3816
3817
3823
3824
3826
3828
3831
3836
3837
3839
3840
3843
3847
3849
3851
3854
3855
3856
3857
3858
3860
3861
3862
3863
3873
3874
3875
3876
3877
3880
3885
3890
3892
3894
3895
3898
3899
3905
3907
3908
3911
3915
3916
3918
3922
3930
3932
3933
3934
3938
3939
3946
3947
3950
3953
3954
3958
3959
3962
3963
3965
3966
3971
3972
3973
3975
3978
3979
3984
3990
3991
3994
3998
3999
4000
4001
4002
4003
4004
4006
4008
4010
4011
4013
4014
4018
4021
4022
4025
4026
4028
4029
4032
4034
4035
4036
4037
4041
4042
4045
4047
4048
4051
4053
4054
4057
4058
4059
4060
4061
4063
4067
4069
4070
4073
4080
4081
4082
4084
4087
4088
4089
4094
4096
4098
4099
4101
4102
4103
4105
4106
4107
4108
4109
4114
4117
4119
4120
4125
4127
4128
4132
4133
4134
4135
4137
4138
4140
4143
4146
4148
4156
4157
4160
4163
4167
4174
4176
4179
4180
4182
4183
4188
4192
4193
4196
4197
4200
4202
4204
4207
4208
4212
4215
4216
4222
4227
4230
4231
4233
4234
4237
4240
4243
4244
4248
4250
4252
4255
4256
4259
4265
4268
4269
4270
4273
4274
4275
4276
4278
4281
4284
4285
4288
4289
4293
4294
4301
4302
4311
4312
4313
4323
4326
4329
4332
4333
4335
4337
4340
4341
4344
4347
4348
4349
4350
4351
4354
4355
4356
4360
4362
4368
4369
4371
4373
4375
4379
4380
4381
4387
4388
4392
4396
4398
4402
4404
4410
4411
4412
4413
4415
4419
4420
4421
4422
4425
4427
4428
4429
4431
4433
4439
4441
4442
4443
4444
4446
4447
4448
4455
4457
4460
4461
4462
4463
4464
4469
4470
4472
4473
4474
4475
4477
4479
4480
4483
4486
4489
4490
4492
4500
4503
4513
4514
4518
4520
4524
4525
4531
4534
4535
4537
4538
4544
4545
4548
4558
4560
4561
4562
4563
4565
4566
4568
4570
4571
4572
4575
4576
4579
4581
4583
4584
4585
4586
4594
4595
4598
4599
4602
4604
4608
4609
4610
4612
4613
4615
4617
4618
4619
4620
4621
4622
4623
4627
4629
4632
4634
4637
4638
4639
4640
4642
4643
4647
4650
4656
4657
4659
4661
4664
4665
4666
4667
4669
4674
4675
4676
4677
4679
4680
4684
4691
4692
4693
4697
4698
4699
4706
4707
4708
4709
4711
4714
4716
4720
4721
