4
5
10
11
12
13
14
16
17
19
20
21
22
24
25
26
27
28
32
35
36
38
39
44
45
46
47
48
49
50
51
52
53
54
55
57
60
61
64
65
69
71
73
74
78
79
81
87
88
93
94
95
96
97
98
99
100
101
102
103
105
109
111
112
113
114
119
120
121
122
123
125
126
127
129
131
133
137
138
140
142
144
145
147
148
151
152
158
160
161
164
165
168
172
173
175
177
178
179
182
183
184
185
186
190
191
192
194
196
197
198
200
202
203
206
208
209
211
213
214
215
221
222
224
225
226
228
229
230
231
232
233
237
238
243
244
246
247
249
252
254
256
257
259
260
261
264
268
269
270
273
275
277
278
279
280
284
286
287
291
293
294
295
296
297
300
303
310
311
313
314
317
319
320
321
324
326
327
328
329
332
333
336
339
340
341
342
346
348
349
350
351
352
353
354
355
356
360
362
363
364
365
366
367
371
372
373
374
375
377
383
384
385
387
388
389
394
398
401
402
403
404
405
406
407
408
409
411
412
413
415
418
420
421
422
423
424
425
428
429
434
435
437
439
441
443
444
451
453
462
463
464
466
469
472
473
478
479
480
483
484
485
486
487
490
491
492
494
495
496
498
499
501
502
503
504
505
506
507
509
510
512
515
517
518
519
521
522
527
530
531
532
533
535
536
537
539
540
543
544
547
548
549
554
555
557
558
559
560
562
564
565
566
568
569
570
574
575
578
582
585
586
588
590
591
593
596
599
600
601
602
606
607
609
613
614
615
616
617
621
623
624
625
627
631
633
634
635
636
637
642
645
646
647
648
649
652
653
655
656
657
658
659
664
665
668
672
673
674
676
677
682
684
686
688
689
690
693
694
698
702
703
705
708
709
712
713
716
717
720
721
725
726
728
731
732
735
736
737
738
740
742
743
744
745
746
748
750
751
755
756
758
759
764
769
770
771
772
773
776
777
778
782
785
786
787
789
793
794
795
796
801
803
806
808
813
815
820
821
823
824
826
827
828
829
830
831
833
834
836
837
839
840
842
843
846
847
848
849
851
853
854
855
856
857
859
860
861
863
864
866
871
873
874
875
876
877
879
882
884
887
892
897
899
901
902
903
904
905
906
908
909
910
911
913
915
921
922
923
926
927
928
929
930
932
933
935
936
941
944
945
946
947
951
953
960
962
966
967
968
969
971
974
975
977
978
979
983
984
985
987
989
991
993
994
995
996
999
1000
1001
1002
1005
1006
1008
1010
1011
1012
1013
1015
1018
1019
1021
1023
1024
1025
1029
1030
1032
1033
1034
1038
1039
1040
1042
1043
1044
1045
1046
1048
1049
1050
1051
1052
1053
1054
1058
1059
1060
1062
1063
1064
1065
1066
1068
1071
1072
1075
1076
1078
1079
1080
1081
1083
1084
1085
1086
1088
1089
1091
1093
1094
1095
1096
1097
1099
1102
1106
1111
1114
1116
1117
1118
1119
1120
1121
1123
1126
1128
1129
1131
1132
1135
1136
1137
1141
1142
1145
1146
1147
1149
1150
1152
1154
1155
1158
1159
1161
1163
1164
1167
1168
1169
1172
1173
1174
1176
1177
1178
1181
1182
1185
1189
1190
1193
1196
1197
1198
1199
1201
1202
1203
1204
1206
1208
1209
1215
1219
1221
1222
1225
1226
1227
1228
1231
1233
1234
1237
1238
1241
1243
1244
1245
1246
1247
1253
1254
1256
1257
1258
1259
1260
1261
1263
1264
1274
1277
1280
1281
1282
1283
1284
1285
1286
1287
1288
1290
1291
1293
1296
1300
1301
1303
1305
1308
1310
1311
1312
1316
1320
1321
1322
1324
1325
1328
1330
1331
1332
1335
1336
1341
1342
1343
1344
1348
1349
1351
1352
1353
1354
1356
1357
1359
1360
1361
1365
1370
1371
1372
1373
1374
1375
1376
1379
1380
1381
1382
1389
1392
1395
1397
1398
1400
1401
1403
1405
1407
1410
1411
1412
1414
1418
1421
1422
1423
1424
1430
1431
1432
1433
1434
1436
1437
1438
1441
1442
1447
1450
1459
1460
1461
1462
1466
1467
1469
1471
1472
1474
1475
1476
1479
1480
1481
1483
1484
1486
1488
1490
1491
1496
1498
1499
1501
1510
1511
1516
1519
1520
1523
1524
1526
1527
1528
1532
1533
1536
1538
1539
1541
1546
1548
1549
1551
1552
1554
1555
1556
1557
1558
1563
1567
1568
1569
1571
1572
1574
1577
1578
1579
1581
1585
1586
1587
1591
1594
1596
1597
1599
1601
1602
1603
1605
1609
1611
1612
1614
1615
1616
1617
1619
1620
1623
1624
1625
1627
1628
1629
1630
1631
1632
1634
1635
1641
1644
1646
1647
1648
1651
1653
1655
1657
1660
1662
1664
1665
1668
1669
1672
1673
1674
1676
1677
1678
1679
1680
1682
1683
1684
1685
1686
1687
1691
1692
1696
1699
1702
1703
1709
1712
1713
1714
1718
1719
1720
1721
1722
1725
1728
1730
1735
1736
1737
1739
1740
1741
1742
1744
1748
1750
1753
1755
1759
1763
1764
1767
1768
1772
1773
1774
1775
1776
1777
1785
1789
1790
1791
1792
1795
1797
1798
1800
1801
1805
1807
1810
1813
1814
1817
1818
1821
1827
1828
1829
1832
1837
1839
1840
1842
1845
1847
1850
1851
1852
1857
1859
1860
1861
1862
1865
1868
1869
1870
1871
1873
1874
1875
1876
1878
1883
1884
1889
1890
1892
1902
1903
1904
1905
1906
1907
1909
1911
1913
1916
1920
1922
1924
1926
1927
1930
1933
1935
1938
1939
1941
1942
1943
1946
1948
1953
1955
1956
1958
1961
1962
1963
1964
1967
1968
1969
1974
1975
1976
1978
1980
1981
1982
1984
1985
1987
1989
1993
1994
1995
1999
2000
2001
2002
2005
2006
2007
2013
2016
2021
2022
2024
2025
2027
2028
2029
2034
2035
2036
2040
2046
2049
2052
2055
2057
2060
2064
2066
2067
2072
2075
2076
2077
2080
2083
2085
2090
2091
2092
2094
2097
2102
2104
2108
2109
2116
2117
2119
2120
2122
2123
2124
2125
2128
2129
2130
2133
2135
2138
2140
2141
2142
2144
2145
2147
2148
2149
2152
2153
2154
2155
2156
2157
2160
2161
2162
2163
2167
2169
2176
2177
2178
2180
2182
2185
2193
2196
2198
2200
2202
2203
2205
2206
2207
2208
2209
2210
2211
2213
2216
2217
2218
2220
2223
2228
2230
2232
2233
2234
2235
2237
2238
2240
2241
2242
2244
2245
2246
2247
2249
2250
2253
2255
2256
2258
2259
2261
2262
2265
2267
2269
2274
2275
2276
2278
2282
2283
2288
2290
2293
2295
2298
2300
2304
2305
2306
2309
2311
2313
2315
2316
2319
2320
2322
2323
2325
2328
2329
2337
2338
2339
2340
2342
2343
2344
2349
2350
2353
2354
2355
2358
2359
2360
2362
2363
2364
2365
2366
2368
2370
2371
2375
2378
2383
2384
2385
2387
2388
2389
2390
2392
2395
2399
2406
2410
2412
2420
2421
2423
2424
2425
2426
2427
2430
2431
2432
2436
2437
2442
2446
2447
2448
2449
2451
2454
2455
2456
2458
2459
2462
2463
2464
2465
2466
2467
2471
2476
2479
2481
2482
2483
2485
2486
2487
2489
2490
2492
2494
2499
2501
2505
2506
2508
2510
2511
2518
2521
2522
2525
2526
2528
2531
2532
2533
2536
2537
2540
2541
2543
2544
2546
2547
2548
2549
2550
2553
2554
2555
2556
2558
2559
2562
2565
2566
2567
2568
2569
2571
2572
2573
2575
2576
2578
2579
2580
2583
2584
2585
2586
2587
2588
2589
2591
2595
2596
2597
2598
2600
2602
2604
2613
2615
2616
2618
2620
2622
2623
2627
2628
2630
2631
2632
2634
2637
2638
2641
2642
2643
2645
2646
2647
2648
2650
2651
2652
2654
2657
2658
2661
2662
2663
2666
2667
2668
2671
2672
2676
2681
2685
2687
2691
2692
2695
2698
2700
2701
2706
2709
2710
2711
2713
2714
2716
2718
2721
2722
2723
2724
2729
2731
2733
2739
2742
2743
2745
2750
2752
2754
2758
2760
2762
2764
2765
2767
2768
2771
2772
2774
2779
2782
2783
2786
2787
2788
2791
2792
2793
2794
2796
2798
2800
2803
2806
2808
2809
2811
2812
2813
2816
2818
2819
2821
2822
2824
2826
2828
2831
2833
2834
2837
2839
2841
2842
2849
2850
2853
2858
2859
2862
2865
2866
2869
2871
2873
2876
2884
2885
2886
2887
2888
2894
2896
2897
2898
2899
2900
2903
2904
2905
2911
2914
2919
2920
2922
2926
2928
2929
2934
2938
2939
2940
2942
2943
2946
2948
2952
2954
2956
2958
2959
2960
2961
2963
2964
2967
2969
2972
2974
2975
2977
2980
2982
2984
2986
2988
2990
2991
2993
2997
2998
2999
3000
3001
3002
3004
3006
3007
3008
3009
3010
3011
3018
3019
3020
3022
3024
3027
3028
3029
3030
3032
3035
3037
3039
3040
3041
3042
3043
3045
3047
3048
3050
3052
3053
3054
3058
3060
3062
3063
3065
3066
3068
3069
3070
3072
3073
3074
3076
3078
3079
3081
3083
3084
3085
3088
3089
3090
3091
3092
3093
3095
3097
3098
3099
3100
3101
3105
3109
3110
3121
3122
3124
3125
3126
3129
3130
3132
3133
3134
3135
3137
3139
3140
3141
3142
3143
3144
3145
3147
3148
3150
3151
3155
3157
3158
3159
3161
3165
3166
3169
3174
3176
3179
3180
3183
3184
3185
3186
3192
3194
3195
3197
3199
3201
3202
3203
3204
3206
3208
3210
3212
3216
3217
3218
3219
3223
3228
3229
3232
3233
3234
3236
3238
3241
3249
3251
3252
3257
3260
3264
3266
3269
3270
3271
3275
3276
3277
3278
3279
3280
3284
3285
3292
3294
3297
3298
3299
3301
3305
3309
3310
3312
3315
3316
3318
3320
3321
3322
3326
3328
3331
3333
3335
3338
3339
3340
3341
3342
3344
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3362
3363
3364
3365
3366
3368
3373
3376
3377
3379
3380
3381
3382
3388
3389
3394
3395
3396
3398
3400
3401
3402
3404
3407
3409
3410
3412
3414
3417
3422
3424
3427
3429
3430
3431
3433
3434
3439
3442
3444
3445
3446
3447
3449
3451
3452
3454
3455
3457
3462
3463
3464
3466
3469
3473
3474
3476
3478
3479
3480
3483
3486
3488
3489
3490
3493
3495
3496
3497
3499
3504
3505
3506
3509
3510
3512
3514
3515
3516
3517
3519
3523
3524
3529
3532
3535
3537
3538
3539
3540
3542
3545
3546
3547
3549
3552
3554
3557
3558
3560
3561
3562
3563
3564
3568
3572
3573
3579
3583
3584
3585
3586
3587
3589
3591
3593
3594
3596
3597
3601
3602
3603
3604
3605
3607
3608
3609
3611
3612
3618
3619
3620
3621
3624
3627
3628
3630
3631
3634
3635
3636
3637
3639
3640
3641
3642
3644
3645
3646
3649
3650
3654
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3668
3669
3670
3671
3672
3673
3674
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3690
3693
3694
3697
3699
3700
3702
3703
3705
3706
3708
3712
3713
3715
3716
3718
3720
3723
3724
3726
3727
3729
3730
3732
3733
3734
3735
3739
3740
3741
3744
3745
3748
3750
3751
3752
3756
3757
3760
3764
3768
3769
3770
3771
3774
3775
3776
3777
3779
3780
3782
3783
3784
3785
3789
3790
3792
3794
3795
3796
3801
3802
3804
3805
3806
3808
3809
3812
3814
3817
3818
3819
3821
3825
3826
3828
3829
3831
3832
3833
3834
3837
3838
3845
3846
3847
3848
3851
3853
3855
3856
3860
3862
3863
3864
3865
3866
3869
3872
3874
3877
3878
3879
3880
3881
3885
3887
3888
3889
3891
3892
3893
3896
3897
3899
3901
3902
3903
3906
3907
3908
3910
3911
3912
3914
3916
3917
3919
3922
3924
3927
3928
3930
3931
3932
3934
3935
3937
3939
3940
3941
3942
3945
3947
3949
3950
3952
3953
3955
3957
3958
3961
3962
3963
3966
3968
3970
3971
3972
3975
3979
3980
3981
3983
3984
3985
3987
3993
3995
3996
3997
3998
3999
4000
4001
4007
4008
4009
4014
4015
4016
4017
4018
4019
4020
4022
4023
4024
4025
4027
4028
4030
4032
4034
4038
4040
4041
4043
4045
4046
4047
4048
4051
4052
4053
4057
4058
4063
4065
4066
4067
4068
4071
4074
4076
4077
4080
4081
4082
4083
4086
4087
4088
4090
4093
4094
4095
4097
4100
4101
4103
4104
4106
4110
4114
4115
4116
4117
4119
4120
4123
4124
4128
4130
4131
4133
4134
4135
4136
4137
4138
4139
4140
4144
4148
4149
4153
4157
4158
4159
4160
4162
4163
4165
4167
4170
4171
4172
4173
4175
4176
4177
4181
4184
4185
4186
4187
4188
4189
4190
4193
4195
4197
4199
4202
4204
4206
4209
4210
4211
4212
4213
4215
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4234
4238
4241
4243
4245
4246
4247
4248
4249
4250
4254
4260
4262
4263
4264
4265
4266
4270
4272
4273
4279
4280
4281
4282
4283
4285
4286
4290
4292
4293
4294
4295
4301
4305
4311
4312
4316
4318
4319
4321
4324
4325
4326
4329
4331
4333
4334
4335
4336
4338
4339
4340
4342
4344
4345
4347
4348
4350
4351
4352
4356
4362
4366
4367
4369
4370
4374
4376
4379
4380
4383
4384
4386
4389
4391
4393
4394
4396
4397
4399
4401
4402
4403
4404
4405
4407
4409
4410
4412
4417
4418
4419
4420
4421
4424
4425
4426
4428
4430
4432
4433
4434
4438
4440
4442
4445
4447
4450
4451
4452
4453
4455
4456
4457
4458
4459
4460
4462
4466
4467
4468
4469
4470
4471
4472
4474
4475
4480
4481
4482
4483
4485
4486
4487
4488
4491
4493
4494
4499
4500
4502
4504
4505
4506
4510
4511
4513
4514
4515
4518
4520
4522
4523
4524
4525
4529
4531
4532
4534
4537
4538
4540
4541
4543
4545
4548
4550
4551
4552
4553
4555
4557
4560
4562
4563
4568
4569
4570
4573
4574
4575
4577
4578
4579
4580
4581
4582
4583
4585
4586
4590
4591
4595
4596
4597
4598
4599
4600
4602
4603
4605
4606
4608
4614
4616
4619
4620
4625
4626
4627
4630
4632
4633
4634
4635
4637
4638
4639
4640
4642
4643
4644
4645
4649
4651
4654
4660
4662
4663
4664
4666
4667
4671
4672
4674
4675
4679
4680
4682
4683
4685
4687
4690
4691
4698
4700
4701
4702
4703
4707
4708
4709
4711
4713
4718
4725
4726
4727
4729
4730
4731
4733
4736
4738
4741
4744
4745
4746
4750
4752
4753
4755
4756
4758
4759
4764
4766
4767
4770
4773
4775
4776
4778
4779
4781
4782
4784
4785
4786
4788
4790
4792
4793
4796
4797
4799
4803
4804
4805
4806
4807
4808
4809
4811
4815
4816
4817
4821
4823
4825
4826
4827
4829
4831
4833
4834
4835
4837
4839
4840
4843
4845
4847
4849
4853
4855
4857
4858
4859
4860
4863
4864
4867
4868
4869
4873
4874
4875
4876
4877
4879
4883
4884
4885
4887
4890
4891
4892
4893
4894
4896
4897
4901
4902
4905
4906
4908
4914
4916
4919
4920
4921
4923
4926
4927
4933
4940
4943
4944
4945
4946
4950
4951
4952
4953
4954
4961
4964
4965
4966
4967
4969
4970
4973
4974
4975
4976
4977
4979
4981
4982
4983
4984
4987
4991
4992
4995
4999
5000
5002
5005
5006
5007
5008
5009
5010
5012
5013
5014
5016
5017
5022
5024
5025
5027
5028
5030
5031
5034
5037
5040
5041
5042
5043
5044
5046
5049
5050
5052
5055
5061
5062
5063
5064
5067
5069
5073
5076
5079
5080
5083
5084
5085
5087
5088
5090
5091
5094
5098
5099
5100
5101
5103
5104
5111
5112
5114
5117
5118
5120
5121
5122
5124
5125
5127
5128
5129
5131
5132
5133
5134
5136
5138
5140
5143
5145
5152
5154
5157
5158
5159
5160
5162
5163
5164
5168
5169
5170
5172
5173
5174
5177
5179
5180
5181
5182
5184
5185
5189
5190
5191
5192
5193
5194
5197
5198
5199
5200
5202
5205
5208
5209
5212
5214
5215
5216
5217
5218
5220
5222
5223
5228
5229
5230
5235
5240
5241
5242
5244
5245
5246
5251
5255
5256
5258
5259
5260
5263
5264
5267
5269
5270
5273
5274
5275
5277
5279
5282
5283
5286
5287
5288
5289
5290
5291
5292
5295
5297
5299
5300
5301
5302
5303
5304
5309
5311
5313
5314
5316
5317
5318
5320
5323
5324
5325
5328
5329
5330
5331
5333
5334
