2
4
5
6
10
12
13
14
15
17
18
19
22
24
26
27
29
31
32
33
36
37
42
44
49
50
53
55
56
57
58
59
60
63
64
65
66
68
69
71
72
74
75
78
79
80
81
82
84
85
87
89
90
96
97
98
99
102
105
107
109
112
113
115
116
117
118
119
120
123
126
127
128
132
133
134
135
138
141
142
143
144
146
147
150
151
152
153
154
155
157
158
160
164
165
167
168
169
171
178
179
180
181
184
185
187
188
190
191
195
197
198
199
200
201
202
205
206
210
211
212
214
216
217
218
220
222
224
225
228
234
235
237
238
241
242
247
248
249
251
252
253
254
259
261
262
264
266
268
269
270
271
273
275
276
279
280
281
282
286
288
290
291
292
294
297
298
299
300
302
306
308
309
310
317
318
319
320
321
323
326
328
329
331
336
339
340
342
344
345
347
350
352
354
355
356
357
358
361
362
366
367
369
371
372
373
376
377
378
379
381
383
385
386
387
388
391
392
395
396
397
401
402
403
404
405
406
407
410
414
415
417
422
423
424
425
427
429
430
435
438
443
444
445
446
448
452
454
455
457
461
462
463
465
466
467
472
474
478
479
480
482
486
487
490
491
492
493
494
495
496
498
501
502
503
505
506
507
508
509
510
511
513
514
522
524
525
526
527
530
533
534
537
539
540
541
543
544
545
546
547
550
552
553
557
561
562
564
567
570
572
574
576
579
580
582
583
587
591
592
593
596
597
598
599
601
604
608
609
610
611
612
613
615
618
619
620
621
623
625
626
628
629
630
631
632
633
634
637
638
639
640
641
642
643
644
645
647
648
650
651
652
656
658
660
661
662
663
664
665
668
669
671
673
674
675
676
677
679
682
683
684
686
689
692
694
696
699
700
703
704
705
707
708
711
712
713
714
716
717
718
720
721
726
729
731
734
736
738
740
741
743
745
746
747
748
749
751
754
757
758
760
765
766
767
768
769
770
771
773
776
779
782
784
789
790
795
801
803
804
806
809
811
813
814
815
816
817
818
819
820
822
823
824
825
826
828
831
832
834
838
839
844
845
846
847
848
850
852
855
860
865
866
868
869
870
871
872
874
876
877
881
883
884
886
887
888
891
894
900
901
903
905
906
907
908
910
911
912
913
914
918
922
923
924
926
928
931
932
933
934
936
938
939
941
943
944
946
948
950
951
952
954
956
957
958
961
962
967
968
969
970
971
972
973
974
975
976
978
982
985
986
989
990
991
992
993
994
995
998
1001
1002
1004
1007
1009
1010
1011
1012
1015
1018
1019
1021
1024
1026
1027
1029
1031
1033
1037
1038
1041
1042
1043
1044
1049
1050
1051
1052
1053
1055
1056
1058
1060
1061
1062
1063
1067
1069
1070
1072
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1089
1091
1092
1096
1097
1098
1099
1103
1106
1109
1112
1114
1117
1120
1123
1124
1125
1126
1129
1130
1131
1132
1133
1134
1135
1136
1141
1143
1144
1145
1147
1148
1151
1152
1153
1157
1159
1160
1161
1162
1163
1166
1167
1168
1169
1170
1171
1174
1177
1178
1179
1180
1182
1183
1184
1185
1187
1188
1191
1192
1193
1194
1198
1199
1200
1201
1202
1203
1205
1206
1207
1210
1211
1212
1213
1215
1216
1217
1220
1221
1223
1224
1226
1228
1229
1230
1234
1236
1237
1238
1239
1240
1241
1243
1245
1246
1247
1250
1251
1252
1253
1254
1255
1256
1258
1259
1260
1262
1263
1264
1265
1266
1267
1268
1270
1271
1272
1274
1277
1278
1280
1281
1283
1285
1286
1287
1288
1289
1291
1292
1293
1294
1296
1298
1301
1303
1305
1306
1308
1309
1310
1311
1312
1315
1317
1320
1322
1323
1324
1326
1328
1329
1331
1332
1336
1337
1338
1342
1343
1344
1345
1347
1351
1354
1355
1356
1360
1362
1364
1365
1366
1367
1368
1370
1372
1376
1378
1379
1380
1381
1384
1385
1387
1388
1390
1392
1394
1396
1400
1402
1403
1407
1408
1410
1413
1414
1416
1417
1419
1421
1425
1426
1427
1428
1433
1434
1435
1438
1441
1442
1443
1445
1447
1449
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1467
1469
1470
1474
1477
1478
1479
1480
1487
1488
1489
1490
1491
1492
1494
1497
1498
1500
1503
1505
1508
1509
1510
1511
1512
1514
1516
1518
1519
1521
1523
1524
1528
1530
1531
1534
1536
1538
1539
1540
1541
1542
1543
1545
1547
1549
1550
1551
1552
1554
1555
1557
1558
1560
1561
1562
1563
1564
1565
1568
1569
1570
1571
1572
1573
1574
1575
1578
1579
1582
1583
1584
1586
1588
1589
1592
1595
1598
1599
1601
1602
1603
1605
1613
1614
1616
1617
1618
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1634
1636
1637
1638
1639
1641
1643
1644
1645
1647
1648
1654
1655
1656
1659
1665
1666
1667
1669
1670
1671
1672
1673
1674
1679
1680
1683
1684
1688
1689
1690
1697
1702
1703
1704
1707
1708
1709
1711
1712
1715
1716
1717
1718
1719
1720
1722
1723
1727
1728
1732
1733
1734
1735
1737
1739
1740
1741
1742
1749
1751
1754
1755
1757
1758
1759
1762
1763
1764
1765
1766
1767
1768
1769
1771
1773
1774
1775
1776
1777
1778
1779
1780
1781
1783
1786
1787
1788
1789
1793
1795
1796
1799
1803
1806
1808
1810
1812
1816
1817
1819
1822
1824
1828
1830
1832
1834
1835
1837
1838
1841
1845
1846
1847
1851
1852
1853
1854
1855
1859
1860
1861
1862
1863
1865
1866
1867
1869
1873
1875
1876
1878
1881
1882
1888
1890
1892
1894
1896
1897
1898
1899
1900
1901
1902
1903
1904
1906
1909
1910
1912
1913
1914
1915
1916
1917
1918
1920
1922
1924
1925
1926
1927
1928
1931
1932
1933
1934
1935
1936
1937
1942
1943
1945
1946
1948
1950
1951
1952
1954
1956
1958
1961
1964
1968
1969
1971
1972
1975
1976
1980
1981
1985
1988
1990
1992
1993
1994
1995
1997
2000
2001
2005
2007
2008
2010
2012
2013
2014
2016
2017
2019
2020
2021
2022
2023
2026
2028
2030
2032
2033
2034
2035
2037
2041
2042
2043
2044
2046
2047
2050
2051
2052
2053
2054
2056
2057
2059
2060
2062
2064
2065
2066
2067
2069
2076
2077
2078
2079
2088
2089
2094
2096
2097
2099
2100
2101
2103
2104
2105
2106
2109
2110
2111
2113
2114
2115
2119
2120
2121
2123
2124
2125
2126
2128
2131
2132
2133
2135
2136
2142
2143
2146
2149
2151
2152
2155
2156
2159
2160
2161
2162
2164
2165
2168
2169
2170
2171
2172
2173
2175
2177
2178
2179
2181
2183
2188
2189
2191
2192
2193
2196
2197
2198
2200
2201
2202
2204
2206
2207
2209
2210
2211
2218
2219
2220
2221
2226
2227
2229
2230
2231
2243
2244
2245
2247
2248
2251
2254
2255
2256
2257
2258
2259
2261
2262
2264
2265
2267
2270
2272
2274
2275
2278
2280
2282
2284
2287
2288
2289
2290
2292
2296
2297
2298
2301
2304
2308
2309
2311
2312
2314
2315
2317
2318
2319
2321
2322
2324
2325
2328
2329
2333
2334
2336
2337
2338
2339
2341
2343
2344
2345
2346
2350
2351
2353
2355
2356
2357
2358
2360
2366
2367
2368
2369
2371
2373
2375
2376
2378
2380
2382
2384
2385
2386
2387
2392
2394
2395
2397
2398
2399
2401
2405
2406
2407
2409
2410
2413
2415
2417
2418
2419
2421
2422
2427
2428
2429
2431
2432
2433
2436
2440
2441
2442
2443
2444
2449
2450
2451
2453
2455
2458
2460
2462
2463
2464
2465
2466
2469
2470
2471
2472
2473
2476
2477
2480
2481
2482
2484
2485
2487
2488
2490
2491
2492
2493
2495
2497
2498
2499
2500
2501
2502
2504
2506
2507
2509
2510
2514
2518
2519
2520
2521
2522
2525
2529
2530
2533
2534
2535
2536
2539
2540
2541
2543
2544
2545
2546
2549
2552
2553
2554
2555
2557
2559
2561
2567
2568
2570
2571
2573
2575
2576
2577
2579
2580
2581
2582
2583
2584
2585
2586
2587
2591
2592
2595
2596
2598
2599
2600
2602
2603
2605
2606
2608
2610
2613
2614
2617
2621
2625
2626
2628
2629
2637
2638
2639
2640
2643
2644
2646
2647
2649
2650
2652
2653
2655
2656
2657
2658
2659
2663
2664
2665
2666
2667
2670
2671
2672
2674
2676
2677
2678
2679
2681
2682
2683
2685
2687
2689
2690
2691
2697
2699
2700
2706
2707
2708
2712
2714
2715
2718
2719
2720
2721
2722
2723
2725
2727
2729
2733
2734
2735
2737
2740
2744
2745
2746
2747
2748
2750
2751
2752
2753
2754
2755
2756
2757
2760
2762
2764
2767
2768
2774
2775
2776
2777
2780
2781
2782
2783
2786
2787
2788
2789
2792
2793
2794
2796
2799
2801
2802
2804
2805
2806
2807
2808
2809
2811
2813
2814
2815
2817
2819
2820
2821
2822
2824
2825
2829
2831
2834
2837
2840
2841
2842
2843
2845
2846
2847
2848
2850
2851
2852
2853
2855
2857
2859
2860
2862
2864
2867
2868
2869
2870
2871
2873
2874
2876
2877
2880
2881
2882
2885
2888
2889
2891
2892
2893
2895
2896
2897
2898
2899
2901
2905
2906
2908
2909
2910
2912
2913
2916
2917
2918
2920
2924
2927
2928
2929
2931
2932
2933
2936
2937
2938
2940
2943
2944
2945
2946
2952
2955
2956
2957
2958
2959
2962
2963
2965
2966
2967
2968
2973
2974
2975
2976
2981
2982
2983
2985
2986
2988
2990
2991
2994
2996
2997
2998
3000
3001
3003
3004
3006
3007
3009
3010
3011
3013
3014
3015
3018
3020
3021
3022
3024
3025
3026
3029
3033
3034
3035
3036
3041
3042
3043
3045
3046
3048
3050
3051
3054
3055
3057
3058
3059
3063
3065
3068
3070
3072
3074
3078
3079
3080
3081
3083
3084
3085
3086
3088
3091
3092
3094
3097
3100
3104
3105
3112
3113
3114
3116
3119
3123
3125
3129
3130
3133
3134
3135
3137
3138
3139
3140
3141
3143
3144
3146
3149
3150
3151
3154
3156
3157
3158
3162
3164
3165
3167
3170
3172
3173
3176
3177
3178
3180
3181
3183
3184
3187
3188
3190
3191
3193
3196
3198
3199
3200
3201
3202
3210
3212
3214
3215
3217
3218
3226
3227
3228
3231
3232
3233
3234
3235
3236
3238
3239
3240
3242
3245
3246
3247
3250
3251
3254
3255
3257
3259
3262
3264
3266
3267
3268
3269
3272
3275
3276
3277
3279
3280
3282
3289
3290
3291
3292
3294
3295
3296
3298
3299
3301
3304
3305
3306
3307
3308
3310
3313
3314
3315
3318
3319
3320
3321
3323
3324
3326
3327
3328
3330
3333
3337
3340
3341
3345
3346
3348
3349
3353
3354
3355
3356
3357
3359
3364
3369
3371
3372
3373
3374
3376
3377
3378
3379
3380
3381
3382
3383
3385
3386
3390
3393
3394
3400
3402
3404
3405
3406
3409
3410
3411
3413
3417
3419
3420
3421
3422
3424
3425
3426
3431
3432
3433
3434
3435
3436
3437
3438
3441
3442
3444
3445
3447
3448
3450
3453
3454
3455
3457
3459
3461
3462
3464
3465
3466
3467
3468
3471
3475
3476
3477
3478
3480
3482
3484
3485
3487
3488
3489
3490
3492
3495
3497
3498
3499
3502
3507
3509
3510
3512
3513
3514
3516
3517
3518
3520
3522
3523
3524
3525
3528
3529
3530
3531
3532
3535
3536
3538
3539
3540
3541
3542
3544
3547
3549
3550
3551
3555
3556
3557
3559
3560
3561
3562
3563
3564
3568
3571
3572
3573
3575
3576
3577
3579
3583
3585
3586
3587
3588
3589
3590
3592
3593
3594
3595
3596
3597
3601
3602
3603
3605
3610
3612
3614
3615
3616
3617
3618
3619
3621
3622
3623
3624
3625
3628
3629
3631
3632
3633
3634
3635
3636
3638
3639
3641
3642
3643
3644
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3660
3662
3663
3665
3666
3667
3668
3669
3670
3671
3674
3676
3677
3678
3680
3681
3682
3683
3684
3686
3687
3688
3689
3691
3692
3693
3695
3698
3700
3701
3705
3707
3709
3712
3713
3715
3716
3717
3718
3720
3721
3723
3724
3728
3729
3730
3731
3733
3734
3735
3736
3737
3738
3740
3741
3742
3744
3746
3748
3749
3751
3753
3754
3755
3756
3758
3760
3762
3763
3764
3766
3769
3770
3772
3773
3775
3776
3779
3781
3782
3783
3785
3786
3789
3790
3791
3792
3793
3799
3800
3801
3802
3803
3804
3806
3807
3808
3809
3810
3811
3812
3813
3815
3816
3818
3819
3821
3823
3825
3826
3827
3828
3834
3836
3839
3843
3844
3847
3855
3856
3857
3858
3859
3861
3863
3864
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3883
3889
3891
3893
3894
3895
3896
3899
3900
3901
3902
3903
3904
3912
3913
3914
3915
3917
3919
3921
3923
3924
3925
3927
3928
3929
3930
3931
3932
3934
3935
3937
3940
3942
3944
3945
3949
3950
3954
3958
3959
3960
3961
3966
3967
3970
3973
3976
3977
3978
3979
3980
3982
3985
3987
3988
3989
3990
3991
3993
3994
3997
3998
4000
4001
4003
4004
4005
4009
4010
4013
4014
4015
4016
4018
4019
4020
4021
4023
4024
4026
4027
4028
4029
4030
4034
4035
4036
4040
4042
4045
4046
4047
4048
4049
4051
4054
4055
4056
4057
4058
4059
4060
4061
4062
4064
4068
4071
4072
4073
4075
4076
4077
4080
4082
4083
4084
4085
4086
4088
4089
4091
4092
4094
4095
4097
4099
4100
4102
4103
4105
4108
4109
4112
4114
4115
4119
4122
4127
4129
4130
4132
4133
4134
4135
4137
4139
4140
4141
4143
4145
4147
4152
4153
4155
4157
4159
4161
4162
4163
4164
4165
4166
4170
4171
4172
4173
4174
4177
4184
4187
4189
4190
4194
4196
4198
4199
4200
4203
4204
4205
4207
4208
4209
4210
4212
4215
4216
4218
4219
4220
4223
4224
4226
4227
4232
4233
4236
4238
4239
4240
4241
4242
4243
4247
4249
4250
4251
4253
4255
4257
4259
4260
4263
4265
4266
4267
4268
4269
4271
4272
4274
4275
4277
4278
4279
4281
4282
4287
4290
4291
4293
4296
4298
4299
4300
4302
4303
4305
4306
4307
4309
4310
4312
4313
4314
4315
4319
4324
4326
4328
4329
4332
4334
4336
4343
4347
4348
4349
4350
4353
4355
4360
4362
4363
4364
4367
4370
4372
4373
4375
4376
4377
4378
4379
4383
4385
4386
4387
4392
4393
4394
4395
4396
4397
4399
4400
4402
4403
4405
4406
4407
4410
4411
4412
4414
4416
4419
4421
4422
4423
4425
4427
4429
4432
4433
4434
4437
4438
4441
4442
4448
4450
4452
4454
4456
4457
4461
4463
4467
4468
4469
4470
4472
4474
4475
4477
4478
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4496
4497
4498
4500
4503
4505
4506
4507
4509
4510
4512
4514
4515
4517
4518
4519
4520
4522
4524
4525
4527
4528
4529
4531
4533
4534
4535
4536
4538
4539
4542
4543
4545
4547
4548
4550
4552
4553
4555
4559
4561
4562
4564
4567
4568
4578
4581
4585
4588
4589
4590
4592
4598
4600
4601
4602
4603
4604
4607
4608
4610
4612
4613
4614
4615
4617
4618
4619
4620
4623
4626
4627
4629
4632
4633
4634
4635
4636
4640
4644
4645
4646
4649
4650
4652
4653
4655
4657
4658
4659
4660
4661
4662
4663
4666
4667
4668
4670
4671
4672
4675
4677
4678
4679
4680
4681
4682
4687
4688
4689
4690
4697
4698
4700
4702
4708
4709
4710
4711
4712
4715
4716
4718
4720
4721
4724
4725
4726
4729
4730
4731
4733
4734
4739
4741
4742
4743
4747
4749
4751
4752
4757
4758
4760
4761
4763
4764
4765
4767
4768
4769
4770
4772
4773
4774
4775
4778
4779
4780
4781
4783
4785
4786
4787
4788
4791
4792
4794
4795
4797
4800
4801
4802
4803
4804
4808
4809
4811
4813
4815
4817
4819
4822
4826
4827
4828
4829
4831
4834
4835
4837
4838
4839
4840
4841
4846
4851
4854
4855
4856
4857
4858
4859
4860
4861
4862
4864
4866
4867
4868
4870
4872
4873
4874
4875
4877
4881
4883
4885
4889
4891
4893
4894
4895
4897
4898
4899
4902
4903
4904
4906
4911
4912
4913
4914
4915
4916
4917
4918
4924
4928
4931
4934
4935
4936
4945
4947
4948
4950
4952
4954
4956
4958
4959
4963
4965
4966
4967
4968
4972
4973
4974
4976
4977
4978
4983
4986
4987
4989
4990
4991
4994
4996
4997
4998
5000
5003
5004
5005
5006
5007
5008
5009
5010
5012
5013
5014
5017
5019
5023
5026
5027
5028
5029
5030
5033
5034
5035
5036
5037
5038
5039
5041
5043
5045
5046
5050
5052
5053
5054
5056
5057
5058
5059
5061
5062
5063
5064
5065
5068
5069
5071
5072
5075
5076
5080
5081
5085
5087
5088
5092
5094
5095
5096
5098
5101
5103
5107
5108
5109
5110
5111
5112
5113
5114
5115
5117
5118
5121
5126
5129
5130
5131
5133
5135
5137
5140
5141
5142
5143
5144
5145
5146
5147
5148
5150
5151
5153
5154
5155
5158
5159
5160
5161
5162
5163
5165
5166
5169
5170
5171
5174
5176
5178
5179
5181
5183
5184
5185
5186
5187
5188
5189
5190
5191
5193
5194
5195
5197
5198
5199
5202
5203
5204
5205
5206
5208
5209
5210
5211
5213
5214
5215
5216
5218
5221
5223
5224
5226
5231
5234
5235
5236
5237
5239
5243
5245
5246
5248
5250
5251
5253
5255
5257
5258
5264
5266
5267
5271
5272
5273
5276
5277
5278
5279
5280
5283
5284
5285
5287
5290
5291
5292
5293
5294
5295
5297
5299
5300
5301
5302
5305
5306
5308
5311
5312
5313
5315
5318
5323
5324
5325
5328
5330
5331
5334
5336
5338
5339
5340
5341
5342
5343
5347
5349
5351
5352
5353
5354
5357
5360
5361
5365
5366
5367
5369
5372
5374
5377
5378
5380
5382
5384
5385
5387
5389
5390
5391
5392
5393
5394
5395
5397
5401
5402
5405
5408
5409
5410
5413
5415
5418
5419
5420
5421
5422
5425
5427
5429
5433
5436
5439
5443
5445
5446
5448
5450
5458
5461
5463
5464
5465
5468
5471
5474
5476
5477
5478
5479
5482
5483
5485
5488
5490
5493
5496
5499
5500
5501
5502
5503
