0
1
2
11
13
14
15
16
17
18
19
20
22
25
26
32
34
37
41
42
43
47
49
53
54
57
58
60
63
66
67
68
69
72
73
77
78
79
83
85
86
87
92
99
101
102
107
111
112
114
115
116
118
120
122
123
124
126
127
131
132
133
137
138
139
140
141
142
144
146
147
148
154
156
159
161
163
164
165
166
167
168
169
170
171
172
174
175
176
177
178
180
182
188
194
195
197
198
204
207
208
209
210
212
213
214
215
216
217
218
220
221
222
224
226
227
229
232
234
235
236
237
239
240
241
242
245
248
249
250
253
254
256
257
264
265
266
267
270
271
276
277
283
286
288
291
292
293
294
295
296
298
299
301
302
305
307
309
310
311
313
314
318
319
321
322
323
324
325
326
327
328
330
332
334
336
338
345
346
348
349
350
355
356
357
358
359
368
369
371
373
378
380
381
382
385
386
387
389
391
392
393
394
395
397
398
399
402
406
407
408
409
411
412
413
414
416
417
418
419
422
423
426
435
437
439
440
441
448
449
450
451
452
454
456
457
458
459
464
465
466
469
471
472
473
474
476
477
478
479
482
483
485
486
487
488
490
491
492
495
499
502
503
504
507
508
509
510
511
512
513
514
515
516
518
519
521
524
526
529
530
531
533
536
537
538
539
544
546
549
552
554
555
556
557
558
560
563
565
566
569
570
571
572
575
578
586
589
590
591
593
594
598
601
604
607
608
609
611
613
614
615
617
618
620
623
626
628
629
632
633
634
637
639
640
641
642
643
645
646
649
651
652
653
654
656
658
663
665
666
667
668
669
670
672
673
675
676
677
678
679
681
682
683
684
685
686
687
690
693
696
697
699
700
702
703
705
707
708
710
711
712
713
714
718
719
725
726
727
728
732
733
734
737
738
739
743
744
745
746
748
751
752
756
757
758
760
762
764
766
767
768
770
771
776
777
778
779
782
783
785
786
788
789
792
796
798
799
802
806
807
809
810
814
815
816
818
819
820
822
823
824
831
833
835
836
838
840
842
845
847
848
851
853
854
855
856
861
864
865
866
867
868
869
870
871
874
877
879
880
885
886
889
890
891
892
893
894
896
897
898
899
900
901
903
904
906
910
912
914
915
918
922
924
927
935
938
940
942
943
944
946
949
950
951
952
956
961
962
964
966
967
969
971
972
973
977
978
979
980
982
983
984
985
988
989
990
991
992
993
994
995
997
998
1000
1001
1003
1004
1009
1014
1019
1021
1022
1023
1025
1027
1029
1031
1033
1034
1035
1040
1043
1045
1051
1053
1054
1058
1060
1061
1063
1064
1065
1066
1067
1069
1070
1075
1077
1081
1082
1083
1084
1086
1088
1089
1090
1091
1092
1093
1094
1096
1097
1099
1102
1105
1106
1108
1109
1111
1112
1116
1118
1120
1122
1123
1125
1127
1130
1131
1132
1133
1137
1139
1142
1143
1145
1146
1148
1150
1153
1154
1157
1160
1161
1162
1163
1164
1165
1166
1168
1170
1171
1174
1175
1177
1178
1180
1181
1184
1188
1190
1191
1192
1193
1195
1199
1203
1205
1206
1208
1209
1210
1212
1213
1217
1219
1222
1223
1224
1225
1229
1232
1238
1239
1240
1242
1244
1245
1246
1249
1250
1251
1252
1254
1258
1259
1264
1265
1266
1267
1268
1269
1271
1272
1273
1274
1276
1277
1278
1279
1281
1282
1286
1287
1289
1290
1291
1293
1294
1296
1297
1300
1301
1302
1306
1308
1313
1318
1319
1322
1323
1325
1328
1335
1337
1341
1342
1346
1347
1349
1353
1354
1355
1356
1357
1358
1360
1362
1364
1365
1370
1371
1372
1374
1378
1379
1381
1382
1386
1387
1390
1391
1392
1394
1395
1399
1400
1401
1402
1403
1405
1406
1409
1414
1421
1424
1425
1426
1427
1428
1429
1433
1436
1437
1438
1439
1442
1443
1445
1446
1448
1452
1453
1454
1457
1460
1463
1464
1467
1469
1470
1471
1474
1475
1478
1479
1480
1481
1482
1483
1484
1486
1488
1489
1490
1494
1497
1502
1503
1504
1506
1507
1508
1511
1514
1515
1516
1518
1519
1520
1522
1523
1526
1528
1529
1531
1532
1534
1537
1539
1541
1542
1546
1548
1550
1551
1553
1554
1555
1558
1563
1564
1566
1568
1569
1570
1571
1572
1574
1576
1577
1578
1579
1581
1582
1584
1586
1589
1594
1595
1598
1599
1604
1605
1606
1608
1609
1610
1611
1613
1618
1619
1624
1625
1627
1628
1630
1631
1637
1638
1639
1640
1641
1643
1645
1647
1650
1651
1652
1653
1655
1656
1659
1660
1662
1663
1665
1668
1671
1674
1677
1681
1682
1685
1686
1687
1688
1689
1690
1696
1697
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1714
1715
1718
1719
1720
1721
1722
1724
1725
1728
1733
1735
1737
1738
1740
1741
1742
1745
1746
1748
1751
1753
1756
1758
1759
1761
1762
1766
1767
1768
1771
1774
1776
1778
1779
1781
1782
1785
1786
1793
1795
1797
1798
1800
1803
1805
1807
1808
1809
1811
1812
1816
1817
1818
1820
1822
1826
1828
1830
1831
1835
1836
1837
1838
1839
1840
1841
1842
1843
1845
1846
1848
1851
1853
1855
1856
1862
1863
1864
1868
1869
1870
1872
1873
1875
1877
1878
1879
1882
1883
1884
1886
1887
1888
1891
1896
1897
1898
1899
1900
1901
1902
1906
1907
1908
1909
1911
1913
1915
1917
1918
1919
1921
1922
1923
1927
1928
1933
1934
1936
1937
1943
1944
1946
1947
1949
1950
1952
1953
1959
1961
1962
1963
1964
1965
1967
1968
1969
1971
1975
1976
1978
1980
1982
1985
1986
1987
1988
1990
1991
1992
1994
1995
1996
1999
2002
2004
2005
2006
2009
2010
2012
2013
2014
2015
2016
2017
2018
2019
2024
2025
2029
2030
2031
2032
2035
2036
2037
2038
2039
2041
2043
2045
2047
2049
2050
2053
2054
2055
2056
2057
2058
2060
2061
2064
2065
2066
2071
2072
2073
2074
2079
2080
2082
2083
2084
2085
2086
2087
2088
2091
2093
2095
2096
2097
2099
2100
2102
2103
2106
2107
2108
2109
2110
2111
2113
2115
2117
2118
2119
2124
2137
2138
2139
2140
2143
2147
2148
2152
2156
2157
2160
2161
2164
2165
2166
2167
2171
2172
2173
2175
2178
2182
2185
2187
2188
2189
2190
2191
2192
2193
2195
2197
2198
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2215
2217
2219
2221
2222
2223
2227
2228
2229
2235
2236
2237
2239
2240
2243
2245
2246
2248
2249
2250
2251
2253
2254
2255
2257
2259
2261
2262
2264
2267
2271
2274
2276
2279
2280
2286
2288
2289
2292
2295
2299
2302
2305
2307
2308
2315
2318
2319
2322
2326
2328
2329
2330
2331
2332
2334
2336
2337
2338
2342
2343
2344
2345
2348
2349
2350
2352
2353
2355
2357
2358
2360
2361
2362
2364
2366
2370
2371
2372
2373
2374
2376
2379
2384
2385
2386
2387
2388
2390
2391
2392
2393
2394
2396
2398
2401
2403
2404
2406
2407
2408
2413
2414
2415
2417
2419
2421
2422
2425
2427
2428
2429
2430
2431
2433
2434
2436
2440
2441
2444
2446
2453
2454
2455
2456
2458
2459
2460
2463
2465
2467
2468
2470
2471
2472
2473
2474
2477
2478
2479
2483
2485
2486
2487
2490
2491
2492
2498
2500
2502
2503
2504
2505
2507
2508
2509
2511
2512
2515
2517
2519
2522
2523
2524
2526
2527
2529
2533
2535
2536
2538
2539
2540
2542
2543
2546
2547
2548
2549
2552
2553
2554
2555
2556
2557
2558
2559
2560
2566
2568
2571
2573
2574
2576
2578
2579
2581
2583
2587
2588
2593
2594
2595
2596
2599
2600
2603
2604
2605
2606
2607
2608
2611
2612
2614
2616
2617
2622
2623
2624
2625
2626
2629
2630
2631
2634
2636
2637
2644
2648
2651
2652
2656
2659
2660
2664
2665
2667
2670
2672
2673
2674
2675
2677
2679
2683
2684
2685
2687
2688
2689
2691
2693
2694
2698
2700
2703
2704
2705
2709
2711
2712
2714
2715
2720
2722
2724
2731
2732
2735
2736
2737
2738
2742
2744
2746
2748
2749
2755
2756
2757
2758
2759
2762
2769
2772
2773
2774
2776
2777
2778
2779
2784
2785
2786
2787
2788
2789
2790
2792
2793
2799
2802
2804
2806
2808
2809
2813
2820
2821
2826
2827
2828
2829
2831
2833
2836
2839
2844
2849
2850
2853
2856
2857
2858
2859
2861
2862
2863
2865
2866
2868
2869
2870
2876
2878
2880
2881
2882
2883
2884
2886
2888
2889
2891
2894
2897
2899
2900
2901
2903
2904
2905
2906
2907
2910
2911
2916
2920
2923
2924
2925
2926
2930
2931
2933
2936
2938
2942
2947
2948
2955
2956
2957
2958
2960
2963
2965
2966
2972
2974
2975
2976
2977
2980
2983
2986
2987
2988
2989
2991
2997
2998
2999
3001
3002
3005
3007
3013
3014
3015
3019
3020
3022
3023
3024
3025
3026
3027
3028
3032
3033
3034
3035
3038
3039
3041
3042
3044
3046
3050
3051
3053
3054
3058
3063
3064
3067
3077
3078
3080
3081
3084
3085
3088
3091
3092
3093
3094
3095
3096
3098
3099
3100
3101
3102
3110
3111
3113
3114
3115
3117
3118
3119
3122
3124
3126
3128
3129
3130
3132
3135
3136
3138
3140
3144
3149
3152
3154
3156
3157
3160
3162
3163
3164
3167
3172
3176
3177
3178
3179
3184
3185
3186
3188
3191
3192
3193
3194
3195
3197
3198
3199
3200
3201
3202
3205
3206
3207
3210
3212
3216
3219
3221
3223
3224
3225
3226
3227
3229
3233
3235
3238
3241
3243
3244
3248
3254
3258
3260
3261
3263
3264
3265
3267
3268
3270
3271
3273
3275
3276
3277
3280
3283
3284
3285
3288
3289
3290
3295
3296
3299
3300
3301
3304
3306
3308
3310
3312
3315
3317
3318
3319
3321
3324
3326
3329
3331
3333
3335
3336
3337
3338
3341
3342
3344
3347
3348
3349
3352
3353
3356
3358
3359
3360
3362
3363
3364
3365
3366
3367
3368
3373
3374
3375
3376
3380
3381
3383
3385
3386
3387
3389
3390
3393
3394
3395
3397
3400
3402
3403
3406
3408
3411
3413
3414
3416
3418
3420
3421
3424
3425
3427
3428
3431
3433
3434
3438
3440
3442
3443
3445
3446
3450
3451
3454
3458
3461
3462
3466
3469
3470
3471
3474
3475
3477
3478
3482
3483
3485
3487
3488
3489
3490
3492
3494
3500
3501
3504
3505
3506
3508
3512
3513
3514
3517
3520
3521
3524
3525
3526
3527
3529
3530
3531
3532
3535
3536
3538
3539
3540
3541
3544
3547
3549
3551
3554
3555
3557
3558
3559
3560
3561
3567
3568
3569
3570
3573
3574
3575
3577
3578
3579
3581
3582
3588
3589
3593
3595
3598
3601
3602
3604
3606
3608
3609
3610
3611
3612
3614
3615
3617
3618
3619
3621
3625
3627
3628
3632
3635
3636
3637
3638
3639
3640
3641
3643
3645
3646
3647
3648
3649
3650
3653
3654
3655
3656
3657
3658
3662
3666
3673
3674
3676
3678
3679
3693
3694
3695
3696
3698
3699
3701
3703
3704
3708
3709
3711
3713
3714
3720
3721
3722
3730
3731
3732
3733
3734
3735
3736
3738
3742
3743
3746
3747
3748
3749
3750
3751
3753
3754
3756
3760
3761
3763
3764
3766
3769
3771
3772
3773
3774
3776
3778
3780
3782
3784
3785
3787
3790
3791
3794
3796
3798
3800
3801
3802
3807
3808
3811
3812
3814
3820
3821
3824
3826
3827
3829
3833
3835
3836
3838
3839
3840
3841
3845
3846
3849
3851
3854
3856
3857
3858
3859
3860
3862
3863
3868
3870
3874
3876
3878
3880
3881
3888
3889
3892
3895
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3910
3911
3912
3915
3916
3917
3921
3923
3924
3927
3928
3929
3930
3932
3939
3943
3946
3948
3950
3952
3955
3956
3957
3958
3959
3960
3961
3964
3966
3970
3972
3976
3977
3978
3980
3982
3983
3985
3986
3987
3988
3989
3990
3991
3992
3994
3995
3999
4001
4004
4006
4008
4011
4012
4015
4018
4020
4021
4026
4027
4031
4035
4037
4038
4040
4041
4042
4043
4048
4050
4052
4055
4056
4058
4059
4061
4064
4067
4071
4074
4075
4077
4080
4082
4083
4085
4086
4087
4088
4090
4091
4093
4094
4095
4096
4099
4100
4101
4104
4105
4112
4114
4115
4116
4119
4120
4121
4122
4124
4125
4126
4128
4130
4131
4133
4135
4137
4139
4140
4144
4146
4149
4151
4153
4154
4157
4162
4164
4166
4170
4171
4175
4176
4177
4178
4179
4180
4183
4187
4188
4189
4194
4196
4198
4200
4203
4204
4207
4210
4211
4213
4214
4216
4219
4220
4222
4224
4225
4230
4231
4234
4235
4237
4239
4241
4242
4243
4246
4249
4252
4254
4256
4259
4260
4261
4262
4263
4268
4269
4271
4272
4280
4283
4284
4286
4287
4288
4289
4291
4299
4300
4302
4304
4307
4308
4309
4311
4313
4317
4319
4324
4325
4327
4332
4339
4341
4344
4345
4346
4347
4348
4350
4354
4355
4356
4357
4359
4362
4363
4364
4369
4370
4371
4374
4378
4384
4385
4387
4390
4392
4399
4401
4402
4404
4406
4409
4410
4411
4412
4414
4415
4416
4419
4420
4422
4424
4425
4426
4428
4431
4433
4434
4435
4436
4437
4438
4442
4444
4446
4447
4451
4456
4457
4460
4461
4466
4467
4468
4469
4470
4472
4474
4475
4476
4478
4482
4484
4485
4486
4488
4489
4490
4493
4496
4497
4499
4501
4504
4505
4506
4507
4509
4510
4511
4513
4514
4516
4519
4521
4523
4526
4531
4532
4533
4534
4537
4538
4539
4542
4543
4544
4545
4548
4550
4551
4553
4554
4555
4560
4563
4566
4567
4568
4572
4573
4575
4577
4580
4583
4584
4586
4588
4589
4593
4600
4601
4605
4607
4608
4609
4610
4613
4620
4621
4623
4626
4629
4630
4631
4635
4637
4638
4639
4640
4641
4642
4645
4647
4648
4651
4652
4653
4656
4660
4662
4664
4666
4667
4674
4677
4679
4684
4685
4686
4687
4688
4690
4692
4694
4695
4697
4698
4700
4701
4703
4704
4705
4706
4709
4711
4713
4715
4717
4720
4722
4724
4725
4727
4728
4732
4736
4737
4739
4740
4741
4742
4747
4752
4753
4754
4755
4757
4760
4761
4762
4765
4767
4772
4777
4780
4782
4783
4786
4787
4788
4789
4790
4792
4793
4794
4798
4799
4800
4801
4804
4805
4806
4808
4809
4816
4817
4819
4820
4821
4822
4823
4826
4827
4828
4830
4832
4833
4835
4837
4838
4839
4840
4841
4843
4844
4845
4847
4849
4852
4853
4854
4855
4856
4858
4859
4860
4861
4863
4864
4867
4868
4869
4870
4875
4877
4878
4879
4880
4881
4882
4884
4885
4889
4890
4896
4897
4898
4899
4900
4903
4910
4911
4912
4913
4914
4915
4916
4919
4920
4921
4922
4923
4924
4925
4928
4929
4930
4931
4934
4935
4939
4940
4942
4943
4944
4945
4946
4947
4952
4953
4955
4956
4957
4959
4960
4963
4964
4966
4969
4971
4972
4973
4975
4977
4978
4979
4980
4982
4986
4987
4989
4991
4993
4994
4995
4996
4998
4999
5000
5001
5003
5006
5008
5010
5011
5013
5016
5021
5023
5024
5025
5026
5030
5033
5035
5036
5043
5045
5046
5047
5048
5049
5052
5057
5060
5062
5065
5072
5074
5077
5080
5082
5084
5085
5089
5090
5092
5094
5098
5102
5103
5104
5107
5108
5110
5115
5116
5117
5118
5120
5121
5125
5126
5128
5132
5134
5137
5139
5140
5143
5144
5145
5146
5147
5148
5149
5151
5153
5158
5161
5164
5166
5167
5171
5172
5173
5175
5176
5182
5184
5185
5186
5187
5190
5192
5194
5195
5199
5200
5201
5202
5210
5212
5213
5214
5215
5217
5218
5221
5223
5224
5227
5229
5230
5231
5232
5234
5235
5236
5237
5238
5240
5241
5242
5243
5245
5247
5250
5253
5254
5255
5256
5258
5260
5263
5264
5266
5267
5269
5270
5272
5274
5275
5277
5278
5280
5281
5282
5283
5284
5285
5286
5289
5290
5292
5294
5296
5297
5300
5301
5302
5303
5307
5308
5310
5311
5314
5316
5317
5319
5321
5322
5323
5324
5328
5329
5331
5334
5335
5337
5340
5342
5344
5346
5350
5352
5355
5358
5361
5364
5366
5367
5368
5369
5374
5376
5378
5379
5383
5384
5389
5390
5391
5395
5396
5397
5402
5404
5405
5406
5407
5412
5418
5420
5421
5422
5423
5424
5425
5426
5434
5435
5436
5437
5439
5440
5441
5443
5445
5446
5447
5451
5452
5453
5454
5455
5458
5459
5461
5463
5464
5466
