0
1
5
11
14
22
26
27
32
33
34
38
42
44
48
49
52
54
56
57
58
61
62
63
65
66
67
68
69
70
76
77
79
82
83
85
88
94
95
96
99
100
102
103
104
105
116
117
118
119
125
128
132
139
141
142
143
151
152
153
154
155
157
161
162
165
167
168
170
173
174
180
181
183
186
187
189
192
196
197
202
206
215
216
217
219
220
223
226
229
232
233
236
238
239
244
246
252
256
259
260
261
262
264
269
272
273
274
281
283
290
291
292
294
295
298
299
301
308
310
312
314
316
317
322
323
324
325
328
330
331
332
333
334
335
336
338
341
342
343
344
345
346
347
348
349
351
354
356
358
362
365
366
368
369
370
372
374
375
376
377
380
385
387
388
393
395
396
398
400
401
405
406
409
411
412
413
414
415
418
421
423
425
426
433
434
435
440
441
442
444
445
447
448
450
451
453
454
456
457
460
461
462
464
465
467
470
471
473
474
477
482
485
492
493
497
498
499
502
504
507
511
512
514
517
518
522
523
528
529
530
531
532
536
537
541
542
546
549
550
557
558
559
561
563
567
571
572
574
575
580
581
583
586
587
588
589
592
595
602
604
608
609
616
621
622
624
625
626
628
630
638
639
641
642
643
647
650
651
654
655
656
658
660
661
662
666
670
673
675
681
682
684
689
690
691
694
695
701
702
704
706
707
709
710
711
714
715
722
725
726
727
729
730
731
734
735
736
737
742
748
751
754
755
759
762
763
767
768
771
772
774
775
777
782
783
786
789
794
795
796
799
800
801
803
805
808
809
814
815
816
817
819
825
826
829
831
832
834
836
837
839
840
841
842
845
847
849
851
852
853
854
855
857
858
859
860
861
862
867
873
874
878
880
881
882
885
886
892
893
894
896
897
898
902
905
908
909
910
911
912
913
916
917
922
923
925
929
930
931
934
935
936
938
940
943
946
949
951
952
953
957
959
961
964
966
968
973
976
977
978
982
983
986
990
991
992
994
1000
1001
1004
1005
1006
1010
1011
1012
1013
1014
1016
1017
1018
1020
1021
1022
1023
1024
1027
1028
1030
1033
1035
1036
1037
1039
1043
1044
1046
1047
1050
1052
1053
1054
1056
1058
1060
1062
1063
1070
1077
1079
1081
1083
1085
1087
1088
1089
1091
1092
1095
1098
1103
1104
1105
1107
1108
1110
1111
1114
1116
1117
1118
1120
1121
1122
1125
1127
1128
1131
1132
1133
1134
1136
1143
1144
1145
1146
1147
1151
1152
1153
1156
1157
1161
1164
1165
1166
1167
1168
1169
1171
1176
1180
1181
1183
1184
1185
1187
1191
1193
1195
1196
1197
1203
1206
1207
1209
1210
1211
1213
1214
1216
1217
1218
1220
1222
1223
1224
1225
1227
1229
1231
1233
1234
1235
1236
1237
1238
1244
1246
1252
1260
1262
1263
1264
1267
1268
1273
1275
1276
1278
1279
1286
1287
1289
1291
1292
1294
1298
1299
1300
1301
1303
1307
1308
1309
1310
1311
1313
1316
1318
1319
1325
1327
1330
1334
1336
1337
1341
1342
1343
1345
1350
1354
1355
1357
1359
1360
1362
1363
1368
1371
1378
1383
1388
1389
1390
1391
1394
1400
1402
1403
1404
1407
1416
1418
1419
1421
1423
1429
1430
1432
1433
1437
1438
1439
1440
1441
1443
1444
1446
1447
1448
1449
1450
1453
1455
1458
1460
1463
1465
1466
1467
1470
1473
1478
1479
1480
1481
1482
1483
1487
1489
1490
1491
1492
1493
1498
1499
1501
1503
1506
1508
1509
1510
1513
1514
1515
1517
1519
1520
1522
1531
1532
1533
1534
1538
1541
1542
1544
1546
1548
1549
1553
1554
1555
1557
1559
1560
1563
1570
1573
1574
1576
1578
1579
1580
1581
1582
1585
1586
1589
1590
1591
1593
1596
1598
1599
1603
1610
1613
1615
1617
1618
1621
1622
1623
1630
1636
1637
1638
1639
1641
1642
1644
1645
1649
1652
1653
1655
1656
1657
1659
1662
1665
1666
1667
1670
1671
1672
1675
1677
1679
1680
1681
1682
1685
1686
1687
1689
1690
1691
1694
1696
1697
1698
1699
1700
1703
1704
1706
1707
1710
1712
1713
1715
1720
1724
1727
1730
1732
1733
1738
1740
1744
1745
1746
1747
1749
1753
1754
1756
1758
1760
1762
1766
1767
1768
1769
1770
1773
1777
1779
1781
1782
1785
1789
1790
1796
1797
1800
1802
1807
1809
1811
1812
1814
1815
1817
1818
1820
1821
1824
1828
1830
1832
1833
1834
1836
1837
1838
1841
1842
1843
1844
1849
1851
1856
1857
1867
1868
1870
1872
1873
1874
1876
1877
1878
1879
1880
1881
1882
1883
1884
1888
1889
1890
1892
1898
1899
1901
1902
1903
1906
1907
1909
1910
1911
1912
1913
1917
1927
1936
1937
1938
1940
1942
1944
1945
1948
1952
1954
1956
1959
1961
1963
1964
1965
1967
1968
1972
1977
1987
1989
1990
1995
1997
1998
2002
2003
2005
2006
2007
2009
2010
2012
2014
2015
2018
2019
2022
2023
2024
2026
2029
2030
2038
2039
2040
2043
2044
2045
2046
2049
2052
2056
2057
2060
2064
2068
2069
2071
2077
2081
2082
2083
2085
2086
2087
2090
2091
2092
2094
2095
2099
2100
2101
2103
2105
2106
2108
2112
2114
2117
2120
2122
2124
2125
2128
2135
2138
2140
2142
2145
2146
2147
2150
2154
2155
2157
2158
2159
2167
2170
2172
2174
2175
2176
2177
2178
2182
2183
2185
2186
2187
2188
2189
2195
2196
2197
2198
2200
2201
2202
2204
2205
2206
2207
2211
2213
2214
2217
2224
2225
2228
2229
2230
2231
2233
2237
2240
2243
2244
2249
2253
2255
2257
2258
2259
2260
2261
2262
2264
2267
2271
2272
2275
2276
2277
2280
2282
2284
2285
2287
2289
2293
2294
2295
2298
2301
2303
2309
2310
2313
2314
2316
2318
2319
2320
2321
2323
2324
2328
2330
2332
2333
2334
2335
2340
2342
2343
2344
2346
2347
2349
2350
2351
2353
2354
2357
2358
2361
2364
2365
2368
2372
2373
2376
2379
2381
2382
2383
2385
2386
2389
2392
2393
2394
2395
2399
2400
2402
2403
2404
2406
2407
2410
2412
2413
2414
2415
2418
2419
2420
2422
2424
2425
2426
2428
2429
2430
2433
2434
2435
2441
2443
2446
2447
2449
2450
2452
2454
2456
2460
2461
2462
2464
2466
2469
2472
2473
2477
2478
2485
2486
2488
2490
2491
2494
2497
2498
2501
2503
2507
2508
2509
2511
2513
2515
2516
2519
2520
2522
2524
2528
2530
2531
2534
2538
2540
2545
2546
2547
2548
2550
2551
2553
2554
2557
2559
2560
2562
2563
2565
2567
2568
2570
2571
2572
2575
2576
2579
2581
2582
2583
2584
2586
2589
2590
2593
2597
2600
2601
2602
2604
2606
2608
2610
2613
2614
2616
2621
2622
2623
2624
2625
2626
2628
2631
2633
2636
2638
2639
2641
2642
2644
2645
2648
2650
2651
2653
2654
2655
2656
2657
2658
2661
2663
2667
2672
2675
2678
2681
2684
2685
2686
2688
2690
2694
2695
2696
2698
2701
2705
2706
2707
2709
2712
2713
2714
2715
2716
2721
2722
2723
2724
2725
2727
2730
2732
2735
2737
2740
2742
2744
2746
2748
2750
2754
2759
2763
2764
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2778
2784
2785
2786
2787
2789
2792
2796
2797
2799
2801
2802
2805
2807
2812
2813
2814
2816
2819
2820
2822
2823
2825
2827
2830
2833
2834
2835
2836
2839
2841
2843
2846
2847
2848
2850
2851
2853
2855
2857
2860
2862
2863
2864
2865
2866
2868
2869
2870
2872
2874
2875
2876
2877
2881
2882
2890
2892
2894
2900
2901
2902
2903
2904
2906
2907
2908
2909
2910
2912
2914
2916
2919
2921
2924
2926
2928
2929
2930
2931
2934
2935
2938
2940
2942
2945
2947
2948
2951
2955
2956
2958
2961
2966
2969
2972
2974
2976
2977
2980
2982
2983
2986
2990
2993
2994
2995
2998
3000
3003
3005
3006
3007
3009
3011
3014
3017
3018
3019
3022
3023
3026
3027
3031
3037
3046
3047
3049
3053
3061
3062
3064
3065
3069
3070
3074
3077
3079
3081
3082
3084
3091
3092
3093
3095
3099
3100
3101
3102
3107
3109
3112
3115
3116
3119
3120
3125
3127
3133
3134
3136
3141
3142
3144
3146
3150
3152
3153
3154
3155
3158
3160
3161
3163
3164
3165
3174
3176
3177
3178
3180
3182
3183
3184
3185
3186
3187
3192
3195
3196
3199
3206
3208
3210
3212
3214
3219
3220
3221
3222
3228
3230
3231
3233
3235
3236
3237
3239
3241
3242
3244
3246
3247
3248
3249
3253
3256
3263
3264
3265
3266
3269
3272
3273
3275
3276
3277
3278
3279
3282
3285
3287
3288
3297
3298
3300
3302
3303
3308
3311
3313
3315
3317
3319
3320
3322
3324
3326
3333
3335
3338
3339
3341
3342
3346
3349
3350
3351
3352
3355
3356
3358
3360
3363
3367
3369
3371
3377
3380
3382
3384
3385
3386
3388
3390
3393
3397
3398
3399
3401
3404
3405
3406
3407
3408
3410
3411
3413
3416
3417
3418
3419
3421
3423
3424
3425
3427
3429
3431
3432
3433
3435
3441
3446
3447
3448
3451
3452
3455
3461
3462
3463
3464
3467
3469
3470
3472
3477
3478
3479
3481
3483
3484
3485
3488
3490
3492
3494
3496
3500
3503
3505
3506
3508
3509
3510
3512
3519
3524
3527
3529
3530
3532
3534
3537
3538
3540
3542
3543
3544
3547
3548
3551
3555
3557
3559
3561
3562
3564
3565
3568
3570
3574
3576
3577
3582
3584
3587
3592
3594
3596
3599
3601
3605
3607
3608
3612
3614
3615
3620
3621
3622
3623
3624
3627
3628
3632
3634
3636
3638
3639
3640
3642
3645
3648
3651
3655
3657
3658
3659
3661
3664
3665
3667
3668
3671
3672
3675
3679
3681
3687
3688
3689
3690
3692
3694
3697
3700
3702
3703
3705
3706
3707
3708
3709
3710
3711
3712
3715
3720
3722
3724
3725
3727
3728
3730
3733
3735
3736
3738
3742
3745
3747
3748
3750
3754
3758
3761
3766
3769
3772
3776
3779
3780
3786
3789
3790
3792
3793
3795
3796
3797
3798
3807
3808
3812
3816
3818
3819
3822
3824
3825
3831
3832
3833
3836
3838
3839
3840
3841
3842
3844
3846
3847
3848
3849
3855
3858
3860
3861
3862
3868
3870
3871
3872
3873
3877
3879
3880
3885
3890
3892
3894
3895
3897
3899
3902
3903
3904
3907
3911
3913
3915
3919
3920
3921
3924
3932
3934
3935
3936
3939
3940
3942
3943
3944
3945
3949
3950
3953
3955
3956
3957
3958
3959
3966
3971
3972
3974
3975
3977
3979
3983
3988
3989
3992
3993
3995
3996
3997
4000
4001
4002
4003
4004
4006
4007
4008
4010
4011
4013
4015
4018
4019
4020
4021
4022
4024
4026
4027
4029
4030
4032
4036
4044
4047
4049
4052
4053
4056
4058
4062
4063
4065
4066
4068
4070
4071
4074
4075
4078
4079
4080
4082
4083
4090
4092
4093
4095
4097
4098
4101
4103
4110
4111
4112
4113
4115
4117
4119
4120
4122
4128
4133
4134
4140
4142
4143
4145
4148
4153
4154
4160
4162
4163
4165
4166
4171
4173
4174
4178
4180
4181
4182
4185
4186
4187
4190
4194
4195
4197
4199
4200
4201
4204
4205
4207
4211
4214
4217
4218
4221
4222
4223
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4240
4243
4247
4248
4249
4251
4253
4255
4257
4258
4260
4261
4262
4264
4265
4267
4268
4269
4270
4271
4274
4275
4277
4279
4281
4283
4284
4286
4287
4293
4294
4295
4301
4302
4305
4307
4310
4314
4315
4316
4317
4323
4325
4327
4328
4329
4332
4333
4334
4335
4336
4339
4341
4343
4344
4348
4350
4351
4354
4355
4358
4366
4367
4370
4376
4379
4380
4383
4384
4386
4391
4392
4397
4398
4399
4403
4404
4406
4408
4409
4413
4414
4415
4419
4421
4422
4432
4434
4435
4441
4443
4444
4445
4449
4450
4452
4453
4454
4455
4456
4458
4459
4461
4463
4465
4469
4474
4475
4476
4477
4478
4480
4484
4490
4491
4495
4496
4500
4501
4502
4503
4504
4508
4510
4517
4519
4520
4522
4523
4525
4526
4531
4532
4533
4535
4538
4539
4541
4543
4544
4545
4546
4549
4552
4556
4560
4562
4565
4566
4569
4570
4571
4573
4575
4578
4582
4585
4586
4588
4589
4590
4591
4592
4594
4595
4599
4602
4606
4609
4612
4617
4618
4619
4622
4624
4625
4627
4628
4629
4630
4631
4632
4635
4636
4637
4638
4640
4642
4650
4655
4656
4658
4660
4661
4670
4672
4673
4674
4676
4678
4681
4686
4687
4688
4689
4692
4693
4695
4696
4699
4701
4702
4703
4704
4708
4710
4712
4713
4715
4716
4718
4720
4721
4722
4729
4733
4735
4737
4746
4748
4752
4753
4756
4758
4759
4760
4761
4767
4768
4769
4776
4777
4780
4781
4782
4784
4789
4797
4799
4801
4802
4805
4807
4808
4810
4811
4813
4814
4817
4818
4820
4821
4822
4824
4826
4828
4829
4830
4831
4833
4834
4835
4839
4841
4842
4844
4849
4851
4852
4853
4854
4856
4862
4864
4866
4868
4869
4870
4872
4873
4874
4881
4882
4883
4884
4886
4888
4889
4890
4892
4893
4896
4900
4901
4902
4908
4909
4912
4914
4916
4917
4918
4919
4921
4922
4925
4930
4931
4932
4933
4937
4940
4941
4943
4944
4946
4948
4949
4950
4951
4954
4956
4963
4964
4966
4969
4970
4971
4974
4984
4986
4988
4990
4992
4995
4996
5001
5003
5004
5005
5007
5008
5015
5016
5018
5021
5022
5030
5033
5037
5038
