2
7
9
14
15
18
19
22
25
31
32
34
35
37
39
42
43
46
48
54
55
57
59
61
64
67
68
70
73
74
76
77
79
80
81
82
83
84
85
86
87
89
90
93
96
97
98
99
101
105
106
108
110
114
115
117
118
122
123
124
127
128
129
131
133
135
136
138
142
143
144
145
146
148
149
150
154
155
156
157
169
172
174
175
177
178
181
183
184
185
188
189
191
192
195
196
197
198
199
200
201
206
207
208
212
213
214
215
216
222
225
226
228
229
232
234
235
236
237
238
239
240
242
243
246
252
253
254
258
259
265
266
267
268
272
274
277
278
283
286
288
289
290
291
292
293
296
298
299
302
303
304
307
310
311
312
313
315
316
318
321
322
325
326
327
330
331
332
333
335
336
337
338
340
342
343
348
350
351
352
357
358
359
362
364
367
368
369
370
376
380
381
382
383
384
388
389
394
396
399
400
401
403
404
407
410
412
413
414
417
419
425
428
430
432
436
437
438
439
440
443
444
447
450
451
453
454
458
459
461
462
463
468
470
471
472
473
475
476
482
485
486
494
495
496
498
501
503
506
507
511
512
514
517
518
519
520
523
526
528
530
533
534
535
538
543
546
547
549
552
553
554
556
559
563
565
566
568
571
572
574
576
581
583
584
585
586
588
592
596
597
598
600
602
603
604
606
607
610
611
612
615
616
617
618
621
622
624
625
626
627
632
636
639
640
645
646
651
652
653
656
660
661
666
671
672
674
676
677
681
682
685
690
691
692
693
694
695
696
697
698
699
700
703
705
706
707
708
709
710
712
713
714
717
719
720
721
723
728
732
735
736
737
739
741
742
744
748
751
754
755
756
757
760
761
763
765
766
767
769
772
777
778
780
782
787
789
790
791
792
793
796
797
798
799
801
802
805
806
808
812
813
815
816
820
821
822
823
832
834
837
843
846
847
849
850
852
853
856
857
858
859
864
865
868
869
872
874
880
883
884
886
887
888
891
892
893
894
896
897
898
899
900
902
903
904
906
908
910
911
913
914
915
917
920
921
922
923
924
925
926
930
931
933
934
935
936
941
943
944
945
947
948
952
954
960
961
963
967
969
972
973
977
980
984
985
986
992
996
997
998
999
1000
1001
1005
1006
1007
1008
1012
1015
1019
1022
1025
1028
1035
1036
1037
1041
1045
1050
1051
1052
1053
1054
1055
1056
1057
1058
1060
1062
1066
1068
1069
1072
1076
1077
1078
1079
1082
1090
1091
1093
1094
1096
1098
1100
1103
1106
1110
1111
1114
1115
1116
1117
1119
1120
1121
1122
1124
1125
1128
1131
1132
1135
1137
1138
1139
1144
1145
1149
1150
1154
1156
1157
1158
1161
1162
1165
1168
1172
1173
1174
1177
1181
1186
1188
1189
1197
1198
1199
1200
1202
1206
1207
1209
1211
1212
1213
1214
1215
1216
1218
1223
1224
1226
1227
1228
1230
1234
1235
1237
1241
1242
1244
1250
1251
1252
1254
1255
1257
1258
1260
1261
1263
1273
1276
1277
1280
1282
1283
1284
1285
1287
1289
1290
1293
1295
1296
1297
1299
1302
1304
1305
1308
1309
1310
1311
1313
1316
1319
1320
1322
1324
1325
1331
1338
1340
1342
1346
1347
1348
1357
1362
1363
1365
1366
1367
1368
1370
1371
1372
1373
1374
1378
1379
1382
1383
1384
1385
1386
1388
1389
1390
1392
1393
1395
1400
1401
1403
1405
1409
1412
1413
1414
1415
1417
1419
1420
1422
1423
1425
1426
1427
1428
1431
1435
1436
1438
1439
1440
1441
1443
1445
1447
1449
1451
1452
1454
1456
1458
1460
1462
1463
1465
1469
1470
1471
1474
1476
1477
1479
1482
1485
1487
1488
1490
1496
1505
1507
1509
1511
1515
1520
1524
1525
1526
1532
1534
1536
1537
1544
1545
1548
1550
1551
1555
1556
1557
1560
1561
1562
1565
1566
1569
1572
1574
1576
1578
1580
1584
1585
1586
1587
1588
1589
1591
1592
1593
1594
1599
1600
1605
1606
1607
1611
1612
1614
1619
1620
1624
1625
1626
1629
1630
1632
1633
1635
1637
1638
1640
1641
1645
1648
1649
1650
1652
1655
1656
1661
1662
1665
1666
1668
1672
1673
1675
1677
1678
1680
1682
1683
1685
1687
1688
1690
1691
1694
1695
1696
1699
1702
1708
1709
1710
1711
1712
1715
1720
1721
1722
1723
1724
1729
1730
1732
1734
1735
1736
1738
1739
1741
1742
1743
1745
1753
1755
1759
1760
1762
1764
1769
1771
1772
1773
1775
1776
1778
1780
1781
1785
1786
1787
1788
1789
1792
1793
1795
1796
1797
1798
1800
1801
1803
1805
1807
1810
1811
1812
1813
1814
1816
1817
1819
1820
1822
1825
1826
1828
1829
1831
1832
1834
1836
1837
1839
1841
1842
1844
1845
1848
1852
1857
1858
1859
1865
1867
1868
1869
1871
1873
1880
1883
1884
1887
1892
1899
1901
1903
1904
1905
1906
1907
1908
1910
1911
1913
1914
1916
1918
1921
1924
1925
1927
1929
1932
1934
1937
1938
1942
1944
1945
1946
1948
1949
1950
1951
1952
1953
1954
1956
1961
1962
1963
1964
1965
1968
1970
1978
1981
1982
1984
1987
1991
1993
1995
1998
1999
2000
2001
2005
2006
2007
2008
2010
2013
2015
2016
2018
2023
2024
2025
2029
2033
2034
2035
2036
2037
2038
2039
2040
2041
2044
2046
2047
2049
2051
2052
2053
2057
2058
2062
2063
2064
2068
2069
2073
2076
2077
2080
2081
2086
2089
2093
2096
2105
2106
2107
2111
2112
2117
2118
2121
2123
2126
2127
2132
2135
2137
2138
2139
2140
2141
2142
2143
2144
2151
2154
2159
2161
2163
2167
2168
2175
2179
2180
2181
2183
2185
2186
2187
2189
2191
2194
2196
2197
2198
2201
2203
2205
2206
2207
2210
2212
2214
2215
2218
2220
2221
2222
2223
2226
2228
2230
2232
2234
2235
2236
2237
2239
2244
2245
2248
2249
2250
2252
2254
2256
2257
2261
2263
2264
2267
2269
2272
2273
2274
2278
2279
2280
2283
2285
2286
2288
2290
2291
2292
2296
2298
2299
2300
2301
2304
2307
2309
2310
2312
2313
2314
2315
2319
2320
2321
2323
2324
2325
2327
2331
2332
2334
2335
2336
2337
2338
2339
2341
2343
2346
2350
2354
2355
2356
2357
2359
2360
2364
2366
2367
2369
2370
2371
2374
2376
2379
2380
2384
2385
2388
2389
2391
2393
2396
2398
2399
2401
2402
2403
2405
2406
2408
2409
2413
2415
2417
2421
2423
2424
2426
2428
2429
2431
2434
2436
2440
2441
2443
2444
2446
2448
2453
2455
2458
2460
2461
2464
2466
2471
2473
2475
2477
2480
2484
2491
2493
2494
2496
2497
2499
2502
2503
2506
2508
2511
2512
2513
2515
2516
2517
2519
2520
2521
2524
2525
2526
2528
2530
2534
2535
2536
2537
2538
2543
2544
2545
2546
2548
2550
2551
2553
2558
2560
2563
2564
2567
2569
2571
2575
2577
2578
2584
2585
2586
2588
2589
2590
2591
2592
2597
2602
2609
2610
2612
2614
2615
2616
2617
2619
2621
2622
2626
2627
2628
2630
2631
2632
2633
2635
2637
2640
2642
2644
2646
2647
2649
2652
2653
2655
2659
2660
2662
2664
2665
2667
2671
2673
2674
2675
2677
2678
2679
2680
2682
2684
2685
2686
2687
2688
2690
2691
2693
2696
2698
2699
2704
2706
2707
2711
2714
2716
2717
2720
2721
2723
2725
2730
2731
2732
2734
2737
2743
2746
2750
2752
2756
2758
2759
2760
2761
2762
2766
2769
2770
2771
2772
2774
2775
2776
2779
2787
2788
2791
2792
2795
2798
2802
2803
2805
2807
2809
2810
2811
2814
2815
2817
2819
2820
2823
2824
2825
2827
2828
2829
2830
2831
2833
2834
2835
2836
2837
2839
2841
2843
2845
2846
2847
2848
2849
2850
2851
2852
2856
2857
2859
2862
2864
2866
2868
2869
2871
2872
2873
2874
2876
2879
2881
2883
2884
2886
2888
2890
2893
2895
2898
2900
2903
2904
2905
2906
2907
2908
2913
2914
2917
2918
2920
2921
2922
2924
2925
2927
2930
2934
2935
2937
2940
2941
2943
2945
2946
2950
2951
2952
2954
2956
2962
2963
2964
2965
2970
2973
2974
2975
2976
2977
2978
2980
2985
2986
2988
2996
2997
3002
3006
3007
3008
3011
3017
3023
3024
3027
3028
3032
3033
3038
3039
3040
3041
3042
3043
3044
3056
3057
3058
3065
3066
3069
3070
3071
3072
3077
3080
3081
3082
3089
3092
3093
3096
3097
3098
3100
3101
3104
3105
3106
3109
3116
3119
3120
3121
3125
3126
3128
3130
3131
3132
3133
3135
3138
3142
3144
3148
3149
3151
3153
3156
3157
3158
3159
3160
3161
3162
3164
3165
3166
3168
3171
3172
3174
3175
3176
3177
3182
3185
3186
3189
3190
3193
3195
3196
3197
3199
3200
3201
3203
3209
3210
3212
3213
3214
3219
3224
3226
3228
3230
3234
3235
3236
3239
3240
3244
3248
3252
3255
3256
3258
3259
3261
3263
3264
3270
3273
3274
3277
3279
3281
3284
3286
3288
3289
3290
3291
3295
3298
3299
3301
3302
3303
3304
3305
3308
3309
3310
3315
3316
3317
3321
3325
3326
3328
3331
3332
3334
3335
3336
3338
3344
3346
3349
3350
3351
3352
3355
3356
3358
3360
3363
3365
3366
3372
3375
3376
3379
3381
3384
3387
3391
3392
3393
3396
3397
3401
3404
3406
3407
3409
3412
3414
3415
3416
3417
3419
3421
3424
3427
3428
3429
3433
3434
3437
3439
3440
3441
3442
3443
3444
3446
3451
3453
3455
3459
3461
3462
3464
3468
3471
3473
3476
3477
3478
3479
3480
3482
3483
3484
3488
3489
3490
3491
3492
3493
3494
3495
3498
3500
3501
3503
3505
3506
3507
3508
3509
3511
3513
3515
3516
3519
3520
3526
3527
3528
3529
3530
3532
3533
3535
3536
3538
3539
3541
3543
3546
3547
3548
3549
3551
3557
3558
3560
3566
3571
3572
3573
3575
3580
3584
3588
3596
3597
3598
3599
3600
3603
3605
3606
3607
3609
3611
3616
3617
3618
3619
3622
3623
3624
3626
3630
3631
3632
3635
3637
3639
3643
3645
3648
3651
3653
3655
3659
3660
3666
3667
3669
3672
3674
3676
3678
3679
3684
3687
3691
3692
3694
3701
3705
3708
3709
3710
3712
3713
3716
3721
3723
3725
3726
3727
3730
3732
3733
3735
3738
3742
3745
3746
3749
3750
3751
3752
3754
3755
3759
3760
3761
3762
3765
3766
3767
3768
3770
3774
3776
3777
3778
3780
3784
3785
3786
3789
3790
3791
3792
3793
3796
3798
3799
3800
3802
3805
3806
3810
3811
3814
3816
3818
3823
3824
3826
3827
3828
3829
3830
3837
3838
3839
3840
3841
3843
3844
3846
3848
3849
3851
3852
3856
3859
3863
3865
3869
3872
3875
3882
3883
3887
3889
3891
3892
3898
3901
3902
3904
3906
3908
3909
3912
3913
3916
3918
3920
3921
3922
3924
3925
3926
3927
3928
3929
3931
3936
3939
3940
3947
3948
3951
3952
3953
3956
3957
3960
3961
3964
3966
3968
3969
3970
3971
3974
3976
3978
3979
3981
3982
3983
3984
3985
3988
3989
3990
3992
3993
3998
3999
4002
4006
4007
4008
4009
4010
4013
4015
4016
4020
4021
4023
4024
4025
4027
4028
4030
4032
4033
4037
4039
4040
4042
4043
4044
4046
4050
4055
4062
4065
4067
4069
4072
4078
4079
4084
4085
4090
4091
4094
4096
4098
4099
4101
4103
4104
4105
4106
4107
4109
4110
4112
4114
4116
4117
4118
4119
4121
4122
4126
4127
4128
4134
4136
4138
4139
4141
4142
4146
4148
4149
4152
4153
4163
4164
4166
4170
4171
4175
4185
4186
4187
4190
4191
4198
4200
4205
4206
4207
4209
4210
4211
4212
4216
4219
4221
4223
4224
4225
4226
4228
4230
4231
4233
4234
4235
4237
4240
4245
4246
4247
4249
4250
4251
4252
4255
4256
4258
4260
4261
4262
4263
4269
4270
4272
4276
4281
4282
4283
4286
4289
4290
4292
4296
4297
4298
4299
4302
4307
4310
4313
4314
4315
4318
4319
4321
4322
4325
4326
4328
4334
4335
4336
4338
4343
4344
4345
4346
4347
4352
4353
4356
4357
4358
4360
4363
4365
4366
4373
4374
4375
4378
4385
4386
4388
4391
4392
4394
4395
4396
4399
4400
4401
4402
4404
4406
4408
4410
4412
4414
4415
4419
4420
4421
4422
4423
4425
4431
4433
4437
4438
4441
4442
4444
4445
4449
4450
4451
4452
4453
4455
4458
4459
4460
4461
4462
4463
4465
4466
4467
4469
4470
4478
4480
4482
4483
4484
4485
4486
4488
4489
4491
4492
4494
4495
4499
4501
4503
4507
4511
4512
4513
4514
4516
4520
4521
4522
4526
4527
4530
4535
4536
4538
4540
4545
4546
4550
4553
4554
4559
4560
4561
4562
4563
4565
4566
4567
4568
4571
4573
4575
4576
4577
4580
4581
4585
4587
4589
4593
4594
4597
4600
4602
4605
4608
4609
4610
4611
4613
4614
4616
4617
4618
4619
4621
4623
4625
4627
4628
4629
4630
4632
4633
4635
4636
4641
4644
4645
4646
4647
4648
4649
4652
4653
4654
4656
4658
4659
4660
4661
4663
4668
4669
4670
4671
4672
4674
4675
4676
4677
4678
4680
4683
4684
4685
4687
4688
4689
4690
4692
4696
4699
4700
4703
4704
4705
4711
4713
4714
4716
4717
4721
4723
4724
4729
4730
4732
4733
4735
4736
4738
4740
4741
4743
4746
4747
4748
4750
4751
4753
4755
4757
4759
4760
4762
4765
4769
4770
4772
4773
4777
4778
4779
4781
4788
4789
4791
4793
4794
4795
4799
4802
4806
4807
4808
4809
4811
4812
4813
4815
4816
4817
4820
4822
4824
4825
4827
4828
4830
4831
4833
4837
4838
4840
4841
4842
4844
4846
4849
4854
4857
4860
4862
4863
4866
4869
4870
4879
4880
4882
4883
4886
4888
4889
4890
4895
4897
4898
4900
4901
4903
4904
4906
4907
4908
4909
4912
4915
4916
4918
4919
4921
4922
4923
4924
4926
4931
4935
4937
4938
4939
4940
4942
4944
4946
4948
4952
4956
4961
4962
4964
4965
4966
4968
4970
4971
4974
4980
4982
4983
4984
4985
4986
4990
4991
4992
4994
4998
4999
5007
5010
5014
5015
5018
5019
5020
5023
5028
5029
5032
5033
5034
5039
5040
5042
5044
5047
5049
5051
5052
5053
5054
5058
5060
5063
5064
5065
5067
5071
5073
5074
5076
5077
5079
5081
5082
5084
5085
5088
5089
5091
5096
5099
5100
5101
5103
5105
5107
5108
5109
5113
5114
5115
5116
5119
5123
5124
5125
5127
5133
5136
5138
5139
5140
5143
5145
5148
5150
5151
5153
5155
5157
5158
5160
5163
5164
5165
5167
5168
5170
5171
5173
5175
5180
5182
5183
5186
5187
5190
5193
5194
5195
5196
5197
5199
5200
5202
5204
5205
5206
5209
5210
5212
5215
5216
5218
5221
5222
5223
5229
5230
5235
5236
5237
5240
5244
5249
5250
5252
5255
5256
5257
5260
5262
5263
5267
5271
5276
5277
5279
5280
5281
5282
5283
5284
5285
5286
5287
5289
5290
5293
5294
5295
5297
5299
5301
5304
5308
5309
5312
5314
5315
5318
5320
5323
5324
5329
5331
5335
5336
5337
5338
5341
5342
5343
5344
5346
5347
5348
5349
5350
5351
5359
5361
5362
5364
5366
5368
5371
5373
5374
5375
5381
5383
5384
5386
5391
5392
5396
5397
5398
5402
5403
5405
5407
5410
5411
5414
5420
5423
5424
5425
5426
5427
5432
5433
5434
5435
5438
5440
5445
5446
5449
5451
5452
5453
5454
5460
5464
5465
5466
5469
5470
5475
5480
5481
5483
5485
5486
5490
5491
5495
5496
5498
5499
5501
5502
5505
5507
5509
5513
5516
5517
5518
5523
5524
5527
5532
5534
5535
5536
5545
5546
5549
5552
5553
5555
5556
5559
5561
5563
5567
5568
5570
5571
5572
5573
5576
5583
5584
5589
5590
5592
5596
5602
5604
5610
5611
5613
5614
5615
5616
5618
5621
5622
5624
5625
5628
5630
5632
5634
5635
5636
5637
5638
5639
5640
5642
5646
5648
5652
5653
5654
5655
5658
5670
5671
5673
5676
5678
5680
5681
5682
5683
5684
5685
5686
5687
5689
5692
5693
5694
5695
5697
5698
5699
5700
5701
5702
5703
5706
5711
5712
5716
5717
5718
5719
5721
5723
5724
5726
5728
5731
5734
5735
5737
5738
5739
5740
5741
5743
5744
5746
5747
5748
5750
5752
5753
5755
5758
5759
5764
5766
5771
5772
5775
5776
5778
5781
5783
5785
5786
5788
5789
5790
5791
5792
5793
5795
5796
5798
5799
5800
5803
5804
5806
5807
5810
5811
5813
5814
5815
5819
5821
5825
5826
5828
5829
5832
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5846
5847
5849
5854
5856
5858
5861
5864
5867
5869
5870
5872
5873
5874
5875
5879
5880
5881
5888
5891
5895
5898
5899
5901
5904
5905
5906
5908
5909
5912
5913
5916
5917
5920
5922
5927
5928
5930
5931
5935
5936
5938
5942
5944
5950
5951
5952
5958
5961
5962
5963
5965
5968
5970
5972
5973
5974
5976
5979
5980
5982
5983
5986
5987
5988
5989
5992
5993
5996
5998
5999
6003
6004
6006
6010
6012
6013
6016
6017
6021
6026
6027
6029
6031
6033
6034
6035
6036
6038
6040
6041
6042
6043
6044
6046
6047
6049
6051
6052
6053
6056
6057
6058
6060
6065
6069
6070
6071
6072
6075
6076
6077
6078
6080
6082
6083
6087
6090
6094
6095
6097
6098
6100
6101
6102
6104
6105
6107
6108
6110
6111
6116
6118
6119
6121
6123
6124
6127
6132
6133
6134
6139
6140
6142
6143
6144
6147
6148
6150
6151
6152
6153
6155
6158
6161
6165
6166
6169
6170
6172
6175
6177
6178
6179
6182
6185
6186
6187
6188
6189
6191
6194
6195
6197
6202
6204
6208
6210
6211
6213
6216
6218
6219
6223
6224
6225
6226
6227
6228
6230
6232
6234
6235
6239
6240
6241
6242
6243
6245
6246
6250
6251
6252
6253
6254
6256
6258
6260
6261
6264
6267
6268
6270
6271
6274
6277
6280
6281
6283
6284
6287
6288
6292
6294
6302
6308
6312
6316
6318
6321
6322
6326
6327
6331
6332
6333
6335
6339
6340
6342
6347
6348
6349
6350
6352
6354
6357
6362
6363
6365
6366
6367
6368
6370
6371
6372
6373
6376
6380
6383
6385
6388
6389
6394
6396
6398
6400
6402
6403
6405
6408
6411
6412
6413
6415
6418
6420
6423
6425
6428
6429
6430
6433
6436
6438
6440
6441
6443
6446
6447
6448
6450
6452
6454
6456
6460
6462
6464
6465
6466
6470
6472
6473
6474
6475
6477
6480
6481
6483
6485
6486
6489
6494
6496
6499
6500
6502
6503
6504
6506
6507
6509
6510
6512
6513
6516
6521
6522
6523
6525
6527
6528
6529
6532
6534
6535
6536
6537
6539
6544
6545
6546
6548
6550
6551
6552
6554
6555
6557
6558
6559
6560
6561
6565
6570
6571
6573
6575
6579
6583
6586
6591
6596
6598
6608
6609
6614
6615
6616
6618
6619
6626
6629
6630
6633
6634
6638
6639
6640
6641
6643
6644
6647
6649
6653
6655
6657
6659
6662
6665
6667
6670
6672
6673
6675
6676
6677
6678
6681
6682
6684
6685
6686
6687
6689
6692
6695
6696
6697
6700
6702
6704
6705
6706
6707
6711
6712
6713
6715
6717
6718
6719
6721
6722
6723
6724
6725
6727
6728
6729
6734
6736
6737
6739
6741
6744
6747
6752
6754
6758
6759
6761
6763
6764
6765
6766
6767
6768
6769
6771
6773
6776
6777
6781
6783
6786
6790
6795
6796
6797
6799
6800
6805
6807
6809
6810
6811
6815
6816
6817
6819
6820
6821
6822
6824
6825
6829
6831
6832
6834
6836
6839
6840
6842
6845
6847
6848
6850
6851
6854
6857
6859
6862
6863
6866
6872
6873
6876
6877
6878
6879
6880
6881
6883
6884
6885
6886
6888
6889
6890
6891
6892
6893
6894
6896
6898
6900
6902
6903
6905
6908
6910
6912
6915
6916
6919
6920
6922
6923
6925
6926
6927
6933
6935
6936
6937
6939
6940
6941
6942
6945
6946
6948
6949
6952
6953
6954
6955
6959
6960
6961
6962
6964
6965
6966
6971
6972
6974
6975
6976
6977
6978
6981
6983
6986
6988
6991
6992
6998
6999
7007
7008
7009
7010
7016
7017
7018
7019
7021
7022
7023
7024
7025
7027
7028
7029
7033
7036
7040
7042
7045
7046
7049
7052
7053
7055
7056
7057
7058
7059
7060
7061
7063
7064
7066
7070
7073
7074
7075
7076
7077
7079
7081
7082
7083
7084
7086
7087
7090
7091
7092
7093
7094
7096
7097
7099
7100
7101
7103
7104
7105
7106
7107
7109
7110
7112
7116
7125
7126
7127
7129
7131
7132
7136
7140
7143
7151
7153
7155
7157
7158
7161
7162
7163
7164
7166
7168
7169
7172
7173
7174
7176
7178
7179
7182
