0
2
3
4
5
7
8
10
12
16
17
18
20
21
22
23
28
29
30
31
32
33
34
35
36
37
39
41
42
50
51
53
54
55
58
62
63
64
65
68
69
71
72
73
74
75
77
78
81
82
83
84
85
88
90
93
94
95
97
99
102
105
106
107
108
111
113
114
116
117
121
122
127
131
132
134
138
139
140
144
145
147
148
150
151
152
153
159
160
165
166
168
169
170
172
174
175
176
177
178
179
180
181
183
186
187
189
191
192
193
194
195
196
200
202
203
204
205
208
209
210
212
218
219
220
221
224
225
228
229
230
232
237
238
240
242
243
244
246
249
251
252
253
254
255
256
257
260
263
264
266
267
270
271
272
273
275
280
282
283
284
293
295
296
298
299
301
303
305
306
307
309
310
312
313
314
315
317
322
323
324
326
328
330
331
332
333
336
337
339
340
341
342
345
347
348
350
352
358
368
369
370
371
372
373
374
376
380
383
385
387
388
389
393
394
395
396
400
406
407
409
410
412
413
416
419
420
421
425
426
430
431
433
434
435
436
437
438
440
441
442
443
444
448
449
453
454
455
456
458
459
460
461
464
465
466
467
468
471
473
474
476
477
478
479
481
485
488
489
490
491
492
493
494
495
496
502
504
507
508
512
514
515
516
517
518
520
522
526
529
532
534
537
538
540
541
543
548
549
550
551
554
556
558
560
561
562
563
567
569
570
571
572
574
575
581
585
586
590
591
592
598
599
600
602
603
604
605
606
611
612
615
616
617
619
620
621
622
625
626
629
631
632
633
634
635
636
637
638
641
643
644
645
646
648
653
655
663
665
666
668
669
670
674
675
678
679
681
682
683
685
686
687
688
689
692
693
695
696
697
698
700
701
702
705
706
708
709
710
711
712
715
717
720
723
725
726
728
730
731
734
736
737
738
747
749
750
751
754
755
757
759
760
763
766
768
774
775
776
777
778
779
781
782
783
788
789
794
795
797
798
799
800
802
805
806
808
809
813
814
815
817
819
820
821
824
825
826
828
830
831
832
833
834
837
838
839
840
842
843
844
847
849
850
851
852
853
854
855
857
858
861
864
866
869
870
871
872
874
876
878
879
880
881
882
883
885
886
891
892
893
895
896
899
900
901
902
903
904
905
906
907
908
910
912
913
914
915
918
920
922
926
927
931
932
934
937
938
940
941
945
946
947
950
955
957
958
959
960
965
967
968
969
970
971
972
975
976
977
978
981
986
988
991
992
994
995
997
1001
1005
1006
1007
1013
1017
1018
1019
1020
1022
1023
1025
1026
1027
1028
1030
1031
1033
1034
1035
1039
1043
1045
1046
1049
1050
1052
1054
1055
1060
1062
1063
1064
1065
1066
1070
1072
1074
1077
1078
1079
1081
1082
1084
1085
1089
1090
1091
1092
1096
1097
1100
1101
1105
1106
1107
1108
1109
1110
1112
1113
1116
1117
1119
1121
1123
1125
1126
1127
1128
1129
1130
1132
1133
1134
1135
1137
1138
1141
1145
1147
1150
1151
1153
1156
1158
1159
1163
1165
1166
1168
1169
1170
1173
1174
1175
1176
1177
1179
1182
1183
1184
1189
1193
1195
1196
1198
1200
1201
1205
1206
1208
1210
1211
1213
1214
1216
1218
1219
1221
1222
1223
1224
1225
1226
1227
1228
1232
1233
1236
1237
1238
1247
1248
1249
1251
1253
1254
1255
1256
1257
1258
1260
1263
1265
1266
1267
1268
1269
1270
1271
1274
1277
1278
1281
1282
1286
1287
1290
1291
1292
1294
1296
1297
1302
1304
1305
1309
1312
1313
1316
1318
1321
1322
1323
1325
1328
1329
1330
1331
1333
1335
1336
1338
1339
1340
1349
1350
1352
1353
1354
1355
1356
1357
1358
1361
1362
1364
1365
1368
1369
1373
1374
1376
1377
1379
1380
1381
1385
1386
1388
1391
1394
1399
1403
1404
1405
1407
1409
1410
1411
1416
1418
1420
1421
1422
1423
1424
1426
1427
1430
1435
1436
1437
1443
1444
1450
1454
1456
1458
1462
1463
1465
1466
1468
1469
1474
1475
1477
1479
1486
1487
1490
1495
1499
1501
1502
1503
1504
1506
1507
1508
1509
1510
1511
1513
1514
1516
1517
1518
1523
1524
1526
1529
1531
1532
1534
1537
1539
1541
1542
1543
1545
1546
1548
1550
1551
1552
1558
1561
1563
1565
1567
1569
1572
1573
1574
1578
1579
1581
1582
1584
1587
1588
1590
1591
1593
1594
1595
1597
1598
1599
1602
1604
1605
1608
1610
1613
1614
1615
1618
1619
1621
1622
1623
1624
1625
1626
1627
1629
1631
1635
1637
1640
1641
1646
1653
1655
1656
1658
1660
1661
1665
1666
1667
1670
1671
1673
1674
1675
1676
1680
1681
1682
1683
1684
1685
1686
1687
1690
1691
1693
1694
1697
1698
1700
1702
1705
1708
1709
1710
1711
1712
1713
1714
1715
1716
1720
1721
1722
1723
1724
1725
1727
1728
1729
1730
1731
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1746
1748
1749
1750
1751
1752
1754
1755
1756
1757
1759
1764
1765
1768
1770
1772
1776
1778
1781
1782
1783
1786
1787
1789
1790
1795
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1810
1811
1814
1815
1816
1818
1819
1824
1825
1827
1830
1833
1834
1835
1836
1837
1838
1839
1840
1841
1843
1844
1846
1847
1848
1849
1850
1851
1852
1854
1855
1859
1862
1865
1866
1868
1869
1870
1871
1872
1875
1876
1878
1880
1882
1883
1886
1887
1889
1891
1893
1894
1896
1897
1898
1901
1902
1903
1905
1909
1911
1912
1913
1914
1915
1917
1918
1921
1923
1924
1926
1929
1931
1933
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1951
1952
1953
1954
1956
1957
1960
1962
1963
1965
1966
1969
1970
1974
1977
1978
1979
1981
1982
1985
1986
1988
1990
1998
1999
2000
2001
2002
2003
2006
2007
2008
2009
2011
2012
2014
2016
2017
2019
2020
2021
2022
2023
2024
2027
2030
2031
2034
2035
2037
2038
2040
2041
2042
2043
2045
2046
2047
2048
2049
2050
2053
2054
2055
2056
2059
2061
2062
2063
2064
2065
2066
2069
2070
2071
2072
2073
2074
2075
2076
2078
2079
2080
2081
2084
2085
2086
2088
2090
2094
2095
2100
2101
2103
2104
2106
2109
2113
2114
2115
2116
2117
2118
2119
2120
2122
2126
2128
2129
2130
2131
2136
2139
2142
2143
2145
2146
2147
2149
2151
2152
2153
2154
2155
2158
2159
2163
2164
2165
2167
2168
2171
2172
2176
2179
2180
2182
2183
2184
2188
2189
2190
2191
2192
2194
2195
2200
2202
2203
2208
2211
2223
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2238
2245
2246
2247
2248
2249
2255
2258
2259
2261
2263
2264
2267
2268
2269
2270
2272
2276
2277
2278
2283
2284
2288
2290
2291
2292
2297
2299
2300
2303
2304
2306
2307
2308
2310
2311
2312
2314
2315
2316
2317
2319
2321
2322
2323
2324
2325
2328
2329
2330
2332
2333
2334
2335
2336
2337
2339
2341
2342
2346
2347
2350
2351
2352
2353
2354
2355
2356
2359
2361
2362
2363
2364
2368
2369
2371
2376
2377
2378
2379
2381
2386
2387
2389
2390
2392
2394
2398
2399
2401
2404
2408
2409
2413
2416
2417
2418
2419
2421
2422
2423
2424
2426
2432
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2460
2461
2462
2464
2467
2469
2470
2472
2473
2474
2476
2481
2482
2483
2485
2486
2487
2489
2490
2493
2494
2495
2497
2498
2499
2500
2501
2502
2503
2504
2505
2507
2509
2510
2511
2513
2514
2515
2516
2517
2518
2520
2521
2523
2527
2529
2534
2535
2537
2540
2541
2542
2545
2547
2549
2550
2552
2553
2555
2556
2561
2562
2564
2566
2567
2568
2569
2571
2573
2575
2576
2580
2582
2584
2586
2587
2588
2589
2590
2594
2595
2597
2599
2600
2601
2602
2604
2606
2607
2609
2611
2612
2613
2614
2615
2616
2617
2621
2625
2630
2631
2632
2634
2636
2638
2640
2642
2644
2645
2648
2649
2650
2651
2658
2661
2662
2663
2665
2666
2667
2669
2670
2671
2672
2675
2679
2681
2682
2683
2684
2688
2689
2690
2691
2692
2696
2698
2700
2703
2706
2708
2709
2712
2714
2716
2717
2719
2720
2722
2726
2727
2728
2730
2731
2732
2733
2734
2735
2736
2738
2739
2740
2742
2745
2746
2752
2753
2755
2757
2758
2760
2761
2762
2763
2766
2767
2768
2769
2771
2772
2773
2777
2778
2779
2780
2782
2783
2785
2786
2787
2789
2792
2793
2794
2795
2797
2798
2800
2802
2803
2804
2806
2807
2808
2809
2811
2813
2815
2816
2817
2820
2822
2824
2825
2826
2830
2833
2836
2840
2841
2842
2846
2847
2850
2851
2852
2853
2856
2857
2858
2862
2865
2868
2871
2872
2873
2874
2877
2878
2881
2882
2883
2886
2887
2889
2890
2891
2893
2894
2896
2897
2898
2900
2901
2902
2905
2906
2907
2911
2912
2914
2915
2917
2920
2921
2922
2925
2927
2929
2930
2931
2932
2933
2935
2937
2938
2939
2940
2941
2943
2944
2945
2946
2949
2952
2954
2959
2960
2962
2963
2966
2967
2968
2971
2972
2977
2979
2980
2981
2982
2984
2986
2987
2988
2991
2992
2993
2994
2995
2996
2997
2998
2999
3001
3008
3009
3012
3014
3016
3017
3020
3025
3026
3027
3029
3030
3031
3033
3037
3038
3040
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3054
3055
3058
3060
3063
3064
3066
3069
3070
3072
3074
3075
3076
3077
3078
3081
3082
3084
3088
3089
3091
3092
3095
3098
3099
3100
3101
3103
3104
3105
3107
3110
3115
3116
3117
3119
3120
3121
3124
3125
3126
3128
3131
3134
3136
3137
3140
3141
3142
3144
3145
3146
3154
3155
3157
3159
3161
3162
3170
3173
3174
3175
3177
3178
3180
3182
3183
3184
3187
3188
3191
3194
3200
3201
3202
3205
3206
3207
3208
3210
3211
3212
3215
3219
3221
3222
3223
3224
3226
3228
3229
3231
3233
3234
3236
3240
3245
3248
3249
3250
3251
3257
3259
3260
3262
3263
3264
3265
3266
3270
3273
3274
3275
3276
3278
3279
3280
3281
3285
3286
3287
3288
3289
3290
3291
3293
3294
3296
3299
3301
3303
3304
3314
3315
3316
3320
3321
3322
3323
3324
3328
3329
3330
3331
3332
3333
3335
3336
3339
3340
3347
3349
3351
3355
3357
3358
3362
3365
3367
3369
3372
3374
3376
3377
3378
3380
3381
3384
3385
3388
3390
3391
3393
3396
3399
3401
3403
3405
3406
3407
3409
3412
3417
3419
3420
3422
3424
3429
3432
3433
3437
3441
3445
3449
3450
3453
3455
3456
3457
3461
3465
3468
3469
3471
3472
3475
3478
3481
3485
3487
3489
3490
3492
3493
3494
3495
3496
3497
3498
3501
3503
3505
3506
3508
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3522
3523
3525
3526
3527
3530
3531
3532
3534
3536
3537
3538
3539
3540
3543
3545
3548
3549
3553
3554
3555
3557
3558
3562
3563
3565
3567
3569
3570
3571
3575
3584
3585
3588
3589
3592
3597
3598
3599
3600
3601
3603
3604
3608
3609
3610
3611
3612
3616
3617
3618
3623
3624
3625
3632
3633
3635
3636
3638
3639
3640
3643
3646
3647
3653
3654
3655
3656
3665
3667
3668
3669
3670
3671
3672
3674
3675
3676
3678
3679
3681
3683
3687
3688
3689
3690
3691
3693
3694
3696
3700
3701
3702
3704
3707
3709
3711
3714
3717
3721
3724
3726
3727
3730
3732
3734
3736
3737
3739
3742
3743
3746
3748
3749
3750
3751
3753
3755
3757
3758
3759
3760
3761
3765
3766
3767
3769
3771
3774
3775
3779
3780
3782
3783
3784
3785
3786
3787
3790
3791
3792
3795
3796
3797
3798
3799
3800
3801
3802
3803
3805
3809
3810
3811
3812
3813
3814
3817
3820
3821
3822
3823
3824
3825
3827
3830
3831
3832
3833
3835
3836
3840
3841
3846
3847
3849
3852
3854
3856
3858
3863
3865
3866
3868
3869
3870
3871
3872
3873
3874
3877
3878
3879
3880
3881
3883
3884
3886
3887
3893
3895
3896
3899
3900
3904
3905
3906
3910
3911
3912
3913
3915
3916
3917
3920
3922
3923
3924
3926
3928
3930
3932
3934
3936
3938
3941
3945
3947
3949
3950
3951
3955
3959
3960
3962
3965
3966
3967
3968
3970
3975
3976
3977
3979
3981
3984
3985
3988
3990
3991
3994
3997
4002
4004
4005
4006
4007
4010
4011
4012
4016
4018
4020
4022
4023
4024
4025
4027
4028
4029
4031
4032
4033
4036
4038
4039
4042
4043
4044
4045
4047
4048
4049
4053
4059
4060
4063
4064
4068
4069
4071
4072
4074
4077
4078
4079
4081
4083
4084
4086
4087
4090
4091
4093
4097
4098
4099
4100
4101
4102
4104
4105
4107
4111
4112
4114
4116
4117
4119
4121
4126
4127
4129
4130
4131
4132
4133
4134
4135
4136
4138
4140
4144
4145
4147
4151
4152
4153
4154
4157
4159
4162
4166
4168
4169
4170
4172
4174
4175
4176
4177
4180
4185
4191
4193
4196
4199
4201
4203
4209
4210
4212
4213
4214
4216
4220
4221
4222
4223
4224
4225
4226
4230
4231
4238
4239
4242
4243
4244
4245
4246
4248
4252
4254
4258
4263
4264
4265
4266
4267
4269
4271
4272
4274
4275
4278
4279
4280
4283
4285
4287
4289
4290
4292
4294
4295
4296
4299
4300
4301
4305
4306
4307
4308
4309
4311
4313
4317
4318
4321
4323
4325
4327
4331
4339
4343
4344
4346
4347
4348
4349
4350
4352
4358
4359
4360
4364
4365
4366
4367
4370
4375
4376
4378
4379
4380
4382
4383
4384
4385
4386
4387
4388
4390
4391
4392
4395
4396
4397
4398
4400
4403
4404
4405
4406
4407
4408
4412
4414
4417
4419
4420
4423
4424
4427
4428
4432
4435
4436
4438
4439
4440
4441
4444
4445
4446
4448
4449
4452
4453
4455
4456
4458
4459
4460
4461
4467
4468
4469
4471
4474
4478
4479
4481
4482
4484
4485
4487
4488
4491
4492
4497
4499
4503
4504
4506
4510
4511
4512
4514
4515
4518
4521
4522
4523
4525
4526
4527
4529
4531
4532
4534
4535
4540
4541
4543
4544
4545
4546
4547
4548
4549
4552
4553
4554
4557
4558
4559
4560
4561
4562
4564
4566
4567
4568
4569
4570
4573
4576
4579
4580
4581
4582
4583
4585
4586
4588
4589
4590
4594
4595
4596
4597
4598
4599
4600
4601
4603
4606
4609
4610
4613
4614
4615
4616
4617
4618
4619
4620
4622
4623
4624
4626
4627
4630
4631
4637
4639
4642
4643
4644
4648
4651
4652
4653
4654
4658
4659
4660
4663
4664
4666
4667
4668
4670
4671
4673
4674
4675
4676
4677
4678
4681
4682
4684
4685
4686
4687
4688
4689
4690
4694
4695
4699
4705
4707
4711
4714
4715
4717
4721
4722
4726
4727
4729
4730
4731
4732
4733
4736
4738
4740
4741
4743
4746
4747
4749
4750
4751
4752
4756
4757
4758
4760
4761
4762
4763
4764
4765
4766
4767
4769
4771
4773
4775
4780
4785
4786
4787
4789
4790
4793
4795
4796
4798
4800
4801
4807
4809
4811
4813
4814
4819
4822
4823
4826
4827
4828
4833
4834
4836
4837
4839
4840
4842
4843
4844
4845
4848
4852
4853
4855
4856
4858
4860
4861
4864
4866
4868
4869
4870
4871
4872
4874
4876
4882
4884
4886
4890
4891
4892
4894
4896
4898
4900
4901
4903
4905
4906
4907
4908
4912
4913
4914
4915
4916
4917
4919
4920
4921
4924
4925
4926
4927
4930
4931
4932
4933
4934
4936
4939
4941
4943
4944
4945
4946
4951
4954
4956
4957
4958
4959
4960
4964
4965
4966
4969
4970
4973
4974
4975
4978
4979
4980
4981
4984
4989
4991
