2
4
5
6
7
8
13
16
17
18
19
21
26
31
33
35
36
39
40
41
44
45
46
47
48
49
51
52
53
57
59
64
69
70
71
72
74
75
76
77
79
83
85
88
89
91
94
95
96
97
98
100
101
102
103
104
105
106
108
109
111
112
113
114
117
118
120
121
122
124
126
128
129
130
133
135
136
137
138
141
144
149
150
151
152
153
158
159
160
161
162
163
165
167
168
171
173
177
181
182
183
184
185
186
188
189
190
192
195
196
198
199
200
201
202
204
205
206
207
208
210
211
212
216
217
218
222
226
231
234
236
237
239
243
245
246
249
251
252
258
259
260
266
267
268
269
271
275
277
278
281
283
289
293
294
295
296
300
301
305
307
308
309
310
312
313
318
324
327
328
330
332
333
334
335
336
337
338
339
340
342
343
344
349
351
353
356
357
358
359
363
365
366
370
371
372
373
374
377
381
383
384
386
388
390
391
393
394
396
397
399
400
401
403
404
405
407
408
412
413
415
417
421
423
424
425
426
427
429
431
432
433
434
435
436
438
439
440
441
444
445
446
448
449
450
451
452
454
455
456
458
463
464
465
466
468
469
470
473
477
478
480
481
484
485
486
487
489
491
493
496
497
498
499
500
502
503
505
507
510
511
513
516
517
518
520
521
525
526
532
533
536
537
540
541
542
543
546
549
551
552
553
557
558
559
564
565
566
567
568
569
570
571
572
574
578
581
583
584
586
588
591
593
595
596
597
598
600
601
602
603
604
605
606
610
611
613
614
616
619
620
621
623
625
629
630
631
632
634
635
636
637
638
639
640
641
642
643
645
647
648
651
657
658
659
660
661
662
663
664
665
666
667
668
669
671
672
673
674
675
676
677
678
679
680
681
682
683
685
693
694
699
701
702
706
709
710
711
712
715
718
719
720
721
722
723
724
727
728
729
732
733
735
736
738
739
741
742
743
744
747
749
750
751
754
755
756
759
760
764
767
769
770
773
774
775
776
777
779
780
781
782
785
790
791
792
793
794
798
800
802
805
806
807
809
810
813
814
816
817
818
819
823
824
825
827
828
831
832
833
834
835
836
837
839
840
844
845
846
847
848
852
853
855
857
858
859
862
863
865
867
869
870
874
875
876
878
879
882
885
888
889
891
893
894
896
898
901
902
905
906
910
911
912
918
926
927
930
931
933
934
935
936
939
941
942
943
945
950
951
952
953
954
959
960
966
967
969
970
972
973
975
976
978
980
981
983
986
987
988
990
991
994
997
998
999
1000
1003
1007
1010
1012
1016
1017
1018
1020
1024
1026
1027
1029
1031
1034
1037
1039
1042
1044
1046
1047
1048
1051
1053
1054
1055
1057
1059
1063
1066
1069
1072
1073
1074
1077
1078
1079
1080
1082
1083
1084
1085
1089
1090
1091
1093
1094
1095
1096
1097
1098
1099
1101
1102
1103
1105
1107
1109
1111
1112
1113
1115
1118
1119
1120
1121
1123
1130
1131
1132
1133
1135
1136
1138
1139
1141
1142
1143
1145
1147
1148
1150
1152
1155
1156
1157
1159
1161
1164
1166
1168
1170
1174
1175
1177
1179
1185
1189
1190
1192
1194
1199
1202
1203
1204
1206
1208
1211
1213
1215
1216
1217
1224
1225
1227
1228
1230
1231
1232
1233
1235
1236
1238
1240
1242
1243
1246
1248
1250
1251
1252
1253
1257
1259
1260
1261
1264
1266
1267
1268
1269
1272
1273
1275
1279
1280
1282
1284
1286
1289
1291
1293
1294
1295
1296
1300
1303
1308
1311
1313
1314
1315
1316
1318
1319
1321
1322
1324
1325
1326
1327
1328
1329
1330
1331
1332
1335
1336
1337
1338
1339
1340
1342
1347
1350
1351
1353
1355
1356
1358
1360
1363
1365
1368
1370
1372
1373
1374
1376
1377
1381
1382
1383
1385
1386
1387
1388
1389
1393
1395
1396
1397
1398
1399
1400
1401
1403
1404
1406
1408
1409
1413
1414
1415
1416
1417
1419
1421
1422
1423
1424
1425
1428
1430
1431
1438
1439
1440
1441
1442
1445
1447
1448
1451
1452
1455
1456
1458
1459
1461
1462
1464
1465
1467
1468
1469
1470
1472
1473
1474
1476
1479
1484
1485
1486
1487
1488
1489
1490
1492
1493
1497
1498
1500
1502
1503
1504
1505
1506
1507
1508
1509
1513
1515
1516
1517
1519
1522
1528
1529
1532
1533
1535
1537
1538
1541
1544
1545
1546
1549
1552
1554
1555
1556
1557
1558
1559
1560
1561
1565
1566
1568
1571
1573
1574
1576
1577
1578
1579
1581
1583
1584
1585
1588
1590
1591
1592
1594
1595
1599
1600
1601
1602
1605
1606
1607
1608
1611
1612
1613
1615
1622
1626
1630
1631
1632
1633
1636
1637
1641
1643
1645
1647
1648
1650
1652
1654
1655
1656
1659
1660
1661
1663
1665
1668
1670
1671
1672
1676
1677
1678
1679
1681
1683
1685
1686
1687
1688
1692
1693
1695
1697
1699
1700
1701
1709
1711
1712
1713
1714
1716
1718
1721
1722
1725
1727
1728
1729
1731
1733
1736
1737
1738
1740
1744
1745
1746
1748
1749
1750
1751
1752
1753
1758
1759
1760
1762
1768
1769
1770
1774
1776
1777
1780
1781
1782
1783
1784
1787
1788
1789
1791
1792
1794
1795
1798
1799
1800
1803
1804
1806
1807
1808
1809
1812
1813
1814
1815
1818
1819
1820
1822
1823
1825
1828
1830
1831
1832
1834
1836
1838
1839
1844
1847
1848
1849
1850
1853
1854
1855
1858
1860
1863
1864
1865
1867
1868
1870
1872
1873
1874
1875
1876
1877
1881
1882
1884
1886
1887
1890
1891
1892
1896
1897
1899
1900
1905
1906
1908
1910
1911
1912
1913
1914
1915
1916
1917
1918
1923
1925
1926
1930
1932
1934
1935
1936
1938
1939
1943
1944
1945
1948
1950
1951
1952
1953
1954
1955
1959
1960
1961
1963
1967
1970
1971
1973
1974
1975
1977
1979
1980
1982
1985
1988
1989
1991
1993
1995
1997
1998
1999
2001
2002
2003
2004
2005
2006
2008
2011
2012
2013
2015
2017
2018
2019
2020
2021
2022
2024
2025
2026
2028
2029
2032
2033
2036
2037
2038
2040
2041
2043
2045
2047
2049
2050
2052
2053
2054
2056
2057
2060
2064
2065
2066
2067
2073
2076
2078
2079
2080
2081
2082
2083
2086
2088
2091
2092
2093
2096
2097
2098
2101
2102
2103
2105
2109
2110
2113
2116
2119
2120
2121
2122
2123
2124
2126
2127
2129
2130
2131
2133
2134
2135
2136
2138
2139
2144
2145
2148
2149
2153
2155
2157
2158
2159
2161
2163
2164
2166
2167
2168
2169
2170
2172
2174
2175
2176
2177
2180
2182
2183
2185
2186
2187
2188
2191
2192
2193
2195
2196
2199
2200
2202
2203
2206
2208
2209
2211
2216
2217
2220
2221
2223
2226
2228
2231
2232
2235
2236
2237
2238
2240
2241
2242
2243
2245
2246
2249
2250
2253
2256
2259
2260
2261
2262
2263
2265
2266
2267
2268
2269
2270
2272
2277
2279
2280
2282
2283
2284
2286
2287
2290
2291
2296
2297
2298
2299
2300
2302
2305
2307
2309
2310
2315
2318
2322
2323
2324
2326
2328
2329
2331
2332
2333
2337
2339
2341
2343
2344
2345
2350
2353
2359
2360
2362
2365
2366
2370
2371
2372
2375
2377
2378
2382
2383
2385
2387
2389
2392
2394
2396
2397
2401
2403
2407
2408
2409
2412
2416
2418
2419
2420
2421
2425
2429
2431
2432
2433
2434
2435
2437
2439
2440
2441
2442
2443
2445
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2461
2463
2464
2467
2469
2472
2474
2476
2479
2480
2481
2482
2483
2485
2489
2490
2494
2495
2496
2497
2499
2501
2503
2505
2506
2509
2510
2512
2513
2514
2515
2516
2517
2518
2520
2522
2523
2527
2530
2533
2534
2535
2537
2539
2540
2541
2543
2545
2546
2547
2549
2552
2554
2555
2556
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2569
2573
2574
2575
2577
2579
2581
2585
2588
2589
2591
2593
2594
2595
2596
2597
2598
2599
2602
2603
2604
2605
2607
2608
2609
2610
2612
2613
2615
2618
2620
2621
2623
2624
2626
2628
2630
2632
2634
2635
2640
2641
2644
2647
2648
2650
2657
2658
2659
2662
2663
2664
2665
2668
2669
2670
2671
2672
2675
2677
2679
2681
2682
2685
2688
2689
2691
2692
2694
2695
2699
2700
2701
2703
2705
2706
2707
2709
2710
2714
2716
2717
2718
2719
2722
2723
2724
2725
2726
2728
2732
2733
2734
2736
2737
2738
2739
2741
2742
2745
2746
2747
2750
2751
2752
2753
2755
2756
2759
2760
2761
2762
2763
2767
2768
2771
2774
2775
2777
2779
2781
2784
2787
2792
2795
2799
2800
2807
2809
2817
2818
2819
2820
2824
2825
2826
2828
2829
2831
2832
2833
2834
2837
2838
2839
2840
2841
2843
2845
2848
2850
2851
2854
2856
2857
2860
2862
2864
2865
2866
2867
2870
2872
2873
2875
2876
2877
2878
2880
2882
2886
2887
2888
2889
2890
2891
2892
2894
2897
2900
2903
2905
2907
2911
2912
2914
2915
2917
2918
2920
2921
2926
2927
2928
2929
2930
2931
2934
2937
2941
2943
2945
2946
2949
2951
2953
2955
2956
2957
2958
2963
2964
2967
2968
2971
2972
2973
2975
2976
2977
2980
2982
2983
2985
2986
2989
2991
2992
2993
2994
2995
2997
2998
3000
3003
3005
3006
3007
3008
3011
3013
3015
3017
3018
3019
3021
3022
3025
3026
3028
3029
3031
3033
3034
3037
3038
3039
3041
3042
3045
3048
3049
3050
3051
3052
3053
3055
3056
3058
3063
3066
3067
3069
3070
3071
3073
3074
3076
3078
3080
3082
3085
3086
3088
3090
3091
3093
3094
3095
3098
3099
3100
3103
3108
3109
3111
3112
3113
3114
3117
3120
3121
3122
3125
3126
3127
3128
3129
3133
3134
3135
3136
3137
3139
3141
3142
3143
3146
3148
3149
3150
3153
3158
3161
3162
3163
3165
3166
3167
3168
3169
3170
3171
3173
3176
3177
3178
3179
3180
3181
3186
3190
3192
3194
3195
3196
3198
3199
3200
3203
3204
3205
3206
3209
3210
3213
3215
3216
3218
3219
3221
3223
3224
3225
3226
3231
3236
3237
3238
3239
3240
3242
3245
3251
3252
3253
3254
3255
3256
3258
3261
3262
3264
3265
3268
3270
3272
3273
3274
3277
3279
3280
3281
3282
3283
3284
3285
3286
3290
3295
3296
3297
3302
3303
3304
3310
3313
3315
3317
3318
3320
3321
3322
3323
3324
3326
3327
3328
3329
3330
3331
3332
3334
3336
3341
3342
3343
3345
3346
3347
3348
3350
3352
3353
3354
3355
3356
3359
3361
3362
3364
3368
3369
3370
3372
3373
3374
3375
3376
3378
3379
3380
3381
3382
3384
3385
3386
3387
3388
3390
3391
3393
3396
3397
3399
3401
3403
3406
3407
3409
3410
3411
3412
3414
3415
3418
3420
3421
3423
3424
3425
3427
3430
3431
3432
3435
3436
3438
3439
3441
3442
3443
3444
3446
3447
3448
3449
3450
3451
3454
3457
3458
3459
3460
3461
3463
3464
3465
3470
3471
3472
3474
3475
3479
3481
3484
3485
3486
3487
3488
3489
3490
3491
3492
3496
3498
3500
3502
3504
3506
3507
3508
3509
3510
3513
3515
3517
3521
3523
3524
3525
3527
3528
3529
3531
3532
3533
3535
3536
3537
3538
3540
3542
3543
3545
3547
3548
3551
3552
3553
3556
3557
3561
3563
3565
3567
3570
3571
3573
3575
3577
3578
3579
3580
3581
3585
3587
3591
3597
3600
3606
3609
3617
3618
3620
3621
3622
3624
3626
3627
3628
3629
3630
3632
3633
3634
3635
3636
3640
3644
3647
3653
3656
3659
3661
3662
3664
3665
3667
3668
3669
3670
3671
3677
3678
3680
3685
3687
3688
3689
3690
3691
3692
3694
3695
3697
3698
3701
3703
3705
3708
3710
3711
3715
3720
3722
3723
3724
3727
3728
3730
3731
3732
3734
3735
3738
3739
3741
3742
3745
3750
3752
3757
3766
3767
3768
3770
3773
3774
3775
3777
3781
3782
3783
3786
3788
3790
3791
3792
3793
3795
3796
3797
3798
3801
3802
3804
3806
3807
3808
3810
3812
3813
3814
3816
3817
3823
3824
3826
3827
3830
3833
3834
3835
3836
3839
3844
3845
3847
3848
3849
3850
3852
3853
3858
3859
3867
3868
3869
3870
3872
3875
3876
3877
3878
3879
3880
3881
3882
3884
3885
3886
3888
3889
3890
3893
3894
3895
3897
3901
3902
3903
3904
3905
3907
3910
3911
3913
3915
3916
3918
3920
3921
3922
3923
3925
3927
3928
3929
3931
3932
3935
3936
3937
3941
3945
3951
3952
3956
3958
3960
3963
3965
3966
3969
3970
3971
3972
3973
3975
3978
3980
3984
3986
3987
3992
3996
3997
3998
4000
4004
4008
4009
4011
4013
4015
4016
4017
4018
4019
4021
4022
4023
4024
4025
4026
4027
4029
4030
4031
4033
4034
4036
4037
4038
4039
4040
4041
4043
4047
4050
4055
4057
4058
4059
4063
4065
4068
4070
4071
4072
4073
4079
4081
4083
4084
4085
4086
4087
4088
4091
4092
4093
4094
4095
4097
4098
4100
4101
4103
4105
4108
4114
4119
4120
4121
4123
4126
4127
4129
4131
4133
4135
4136
4138
4139
4140
4143
4144
4145
4146
4150
4153
4156
4158
4159
4161
4162
4164
4165
4166
4167
4168
4173
4176
4177
4178
4179
4181
4182
4183
4185
4187
4188
4190
4192
4193
4194
4196
4200
4202
4203
4204
4205
4206
4208
4210
4212
4213
4214
4216
4220
4222
4223
4224
4227
4232
4233
4234
4236
4238
4239
4245
4246
4249
4251
4254
4256
4258
4259
4262
4263
4265
4266
4267
4270
4271
4273
4274
4276
4279
4280
4283
4285
4286
4287
4292
4293
4295
4296
4297
4302
4303
4306
4308
4309
4317
4319
4320
4321
4326
4328
4331
4332
4333
4334
4336
4337
4343
4345
4347
4348
4349
4350
4353
4354
4355
4356
4361
4364
4365
4366
4367
4368
4369
4371
4372
4374
4377
4378
4379
4380
4381
4382
4387
4388
4389
4391
4398
4399
4400
4401
4402
4403
4406
4409
4410
4411
4412
4417
4419
4420
4423
4424
4425
4428
4430
4432
4433
4434
4436
4437
4438
4439
4440
4441
4443
4444
4446
4450
4451
4452
4458
4459
4460
4461
4462
4464
4465
4466
4471
4472
4473
4474
4476
4478
4480
4482
4483
4487
4488
4489
4491
4494
4495
4497
4499
4500
4503
4504
4508
4510
4513
4514
4517
4518
4519
4520
4521
4522
4523
4525
4526
4528
4529
4530
4532
4533
4534
4535
4537
4538
4539
4545
4548
4549
4550
4552
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4569
4571
4572
4574
4575
4576
4578
4579
4581
4584
4589
4591
4594
4595
4596
4598
4601
4602
4603
4604
4606
4611
4612
4613
4614
4616
4617
4618
4619
4622
4623
4624
4625
4626
4634
4635
4637
4638
4639
4640
4642
4643
4646
4647
4648
4649
4650
4652
4654
4659
4662
4665
4666
4668
4670
4671
4673
4674
4675
4677
4678
4683
4685
4686
4691
4692
4694
4697
4699
4701
4707
4709
4710
4712
4713
4715
4717
4718
4724
4730
4736
4740
4741
4742
4743
4745
4746
4747
4748
4750
4751
4754
4755
4758
4759
4761
4766
4769
4772
4773
4777
4779
4780
4781
4782
4784
4785
4787
4791
4793
4795
4796
4797
4802
4804
4806
4807
4809
4810
4821
4822
4825
4827
4828
4829
4830
4831
4834
4836
4837
4838
4840
4841
4842
4843
4844
4845
4846
4848
4850
4857
4858
4859
4862
4868
4869
4877
4879
4880
4881
4884
4885
4888
4889
4892
4896
4897
4898
4899
4901
4905
4906
4910
4911
4913
4914
4915
4917
4918
4920
4921
4922
4925
4926
4927
4931
4932
4933
4934
4935
4936
4938
4939
4941
4942
4944
4946
4947
4948
4950
4951
4954
4956
4958
4959
4961
4962
4966
4967
4968
4970
4972
4973
4975
4976
4977
4978
4980
4981
4982
4983
4984
4986
4987
4988
4992
4993
4995
4996
4997
4999
5000
5002
5003
5004
5005
5007
5008
5009
5010
5011
5013
5014
5016
5017
5022
5024
5026
5029
5031
5035
5036
5040
5041
5042
5043
5044
5045
5046
5048
5049
5053
5054
5055
5056
5059
5061
5062
5063
5064
5066
5067
5069
5070
5072
5074
5076
5077
5081
5082
5090
5091
5096
5098
5099
5102
5104
5105
5106
5108
5111
5112
5116
5120
5122
5124
5126
5127
5128
5129
5130
5132
5133
5134
5136
5141
5142
5143
5147
5148
5150
5153
5154
5155
5157
5159
5162
5163
5164
5165
5168
5169
5170
5171
5175
5177
5178
5180
5182
5184
5186
5189
5191
5193
5200
5201
5202
5204
5206
5207
5209
5210
5211
5212
5213
5214
5216
5222
5223
5225
5228
5233
5234
5235
5238
5240
5243
5244
5245
5247
5248
5249
5251
5252
5258
5261
5264
5265
5266
5268
5269
5272
5273
5274
5277
5280
5281
5282
5283
5286
5287
5288
5289
5291
5292
5294
5297
5298
5299
5300
5301
5302
5304
5306
5308
5312
5313
5318
5319
5321
5322
5325
5326
5327
5328
5331
5332
5334
5335
5337
5338
5340
5341
5343
5344
5345
5350
5351
5355
5358
5359
5363
5366
5368
5370
5371
5372
5373
5374
5375
5377
5378
5379
5381
5386
5389
5390
5391
5392
5393
5394
5396
5397
5398
5399
5401
5402
5404
5406
5407
5410
5411
5412
5415
5416
5418
5419
5420
5421
5422
5423
5424
5425
5427
5430
5431
5433
5435
5436
5437
5438
5439
5440
5444
5445
5447
5448
5450
5452
5453
5454
5456
5457
5458
5459
5460
5461
5465
5466
5467
5468
5469
5470
5471
5473
5474
5475
5476
5478
5479
5481
5483
5484
5486
5487
5488
5490
5491
5493
5494
5495
5500
5502
5504
5513
5514
5515
5517
5518
5519
5520
5522
5523
5525
5528
5529
5530
5531
5532
5534
5535
5536
5537
5539
5540
5544
5545
5546
5547
5549
5553
5555
5556
5561
5562
5564
5565
5567
5568
5569
5570
5572
5573
5574
5575
5579
5580
5582
5583
5585
5586
5589
5590
5592
5594
5596
5598
5599
5602
5603
5605
5606
5607
5612
5613
5616
5620
5621
5622
5625
5626
5627
5628
5629
5633
5634
5636
5638
5639
5640
5641
5643
5647
5648
5652
5653
5654
5655
5656
5658
5659
5661
5662
5663
5668
5670
5672
5674
5678
5687
5689
5694
5695
5697
5699
5701
5704
5705
5707
5714
5717
5718
5722
5724
5725
5729
5730
5734
5736
5740
5741
5743
5744
5746
5747
5749
5752
5753
5755
5756
5758
5759
5761
5762
5764
5768
5769
5774
5777
5780
5781
5782
5783
5784
5787
5788
5789
5790
5796
5797
5799
5802
5803
5804
5806
5808
5813
5814
5815
5817
5819
5820
5822
5823
5825
5826
5827
5828
5829
5830
5831
5832
5834
5835
5836
5839
5842
5845
5847
5848
5849
5850
5851
5853
5856
5861
5863
5864
5866
5867
5868
5869
5871
5873
5874
5877
5878
5880
5885
5886
5887
5888
5891
5892
5893
5895
5897
5902
5903
5906
5908
5909
5910
5911
5912
5914
5915
5918
5921
5923
5924
5925
5929
5930
5931
5932
5934
5936
5937
5938
5940
5941
5944
5946
5951
5952
5953
5955
5958
5960
5963
5964
5965
5967
5968
5970
5971
5974
5975
5977
5980
5981
5982
5983
5986
5987
5989
5990
5992
5993
5997
5999
6000
6001
6002
6003
6004
6005
6006
6008
6010
6012
6013
6014
6015
6016
6018
6020
6021
6023
6024
6029
6031
6032
6033
6034
6035
6037
6041
6043
6044
6045
6046
6047
6048
6049
6050
6051
6053
6057
6058
6059
6060
6061
6062
6063
6067
6068
6069
6071
6075
6076
6080
6081
6082
6087
6088
6089
6090
6091
6093
6094
6097
6098
6099
6100
6101
6102
6103
6104
6106
6109
6111
6113
6114
6115
6118
6120
6121
6123
6124
6125
6127
6131
6132
6135
6136
6137
6138
6139
6140
6141
6144
6148
6149
6150
6151
6152
6153
6155
6157
6164
6165
6167
6169
6171
6173
6178
6179
6180
6181
6182
6183
6185
6186
6188
6189
6192
6195
6196
6198
6202
6203
6204
6206
6207
6208
6209
6210
6212
6213
6214
6216
6217
6220
6221
6229
6230
6233
6237
6242
6243
6245
6248
6251
6254
6255
6257
6258
6259
6260
6262
6267
6268
6269
6272
6273
6276
6277
6280
6283
6285
6286
6287
6288
6292
6295
6296
6297
6298
6299
6301
6303
6306
6307
6308
6310
6312
6313
6314
6315
6316
6317
6318
6319
6320
6322
6323
6324
6325
6327
6329
6330
6335
6337
6340
6343
6345
6346
6348
6352
6353
6354
6358
6359
6361
6365
6366
6368
6369
6370
6372
6375
6377
6378
6380
6381
6383
6385
6386
6387
6389
6390
6393
6394
6397
6398
6400
6401
6405
6406
6407
6408
6410
6414
6417
6418
6419
6420
6421
6422
6424
6425
6426
6428
6429
6430
6431
6432
6434
6435
6436
6437
6438
6440
6441
6442
6445
6446
6447
6448
6452
6454
6456
6457
6458
6459
6461
6463
6464
6465
6472
6473
6474
6476
6478
6480
6482
6483
6487
6492
6494
6495
6497
6499
6500
6501
6506
6507
6508
6509
6510
6517
6521
6522
6524
6525
6527
6528
6531
