2
3
4
7
9
16
17
21
22
28
30
34
35
36
43
49
50
52
54
55
60
62
66
69
70
73
77
80
81
84
85
87
89
91
102
105
115
117
119
120
121
122
130
131
133
136
137
138
139
140
141
142
144
145
146
148
149
150
153
155
158
162
163
169
170
172
173
175
177
180
181
185
187
188
192
193
195
196
197
201
209
211
212
216
217
218
219
220
222
223
224
227
228
233
235
236
237
239
248
250
253
256
258
262
263
266
270
273
274
276
278
281
283
291
294
296
302
303
304
306
308
311
314
316
317
318
325
326
329
331
340
344
345
348
349
352
354
356
359
363
364
365
369
375
376
378
380
381
383
385
390
392
393
395
396
400
401
408
414
415
418
422
423
425
426
429
431
432
434
436
439
442
443
447
451
454
455
459
460
462
468
470
471
474
475
478
479
481
483
484
485
492
494
497
500
501
502
504
506
507
508
514
521
522
524
530
538
541
542
543
544
545
547
549
551
553
554
555
556
557
559
563
568
571
572
577
582
584
585
586
588
589
590
591
594
595
596
599
604
610
614
618
620
627
628
631
636
643
653
654
656
665
667
668
671
673
675
676
678
679
680
681
686
690
692
697
701
705
706
707
709
710
712
715
716
718
719
722
723
724
730
731
736
738
739
740
741
746
749
751
752
757
758
761
762
763
764
766
768
769
770
772
774
776
780
781
785
787
789
792
796
800
801
802
806
809
815
816
825
827
829
830
832
835
837
846
847
851
852
853
854
856
859
862
864
866
872
875
882
886
887
889
891
893
896
897
900
904
905
906
908
909
911
913
920
923
924
925
928
929
930
937
938
939
940
941
948
949
950
953
954
957
964
966
967
968
969
972
973
974
975
977
978
980
983
984
986
990
991
993
995
998
1000
1007
1016
1018
1019
1020
1022
1023
1026
1027
1030
1035
1036
1038
1042
1047
1050
1052
1056
1057
1059
1062
1068
1069
1070
1072
1073
1075
1076
1079
1087
1089
1092
1093
1094
1097
1098
1101
1107
1111
1112
1127
1129
1131
1132
1135
1138
1144
1146
1147
1148
1150
1151
1155
1164
1165
1166
1168
1170
1171
1172
1174
1175
1188
1189
1191
1192
1194
1199
1201
1206
1209
1210
1213
1217
1220
1223
1232
1236
1238
1240
1247
1248
1250
1253
1254
1259
1260
1262
1263
1264
1265
1266
1272
1275
1280
1281
1282
1285
1287
1288
1289
1293
1294
1298
1299
1300
1303
1305
1307
1308
1310
1314
1315
1319
1324
1325
1326
1327
1329
1330
1333
1335
1336
1341
1352
1354
1355
1359
1365
1366
1369
1376
1379
1383
1387
1389
1394
1396
1397
1399
1405
1407
1409
1412
1413
1419
1422
1423
1427
1428
1429
1431
1432
1439
1442
1444
1446
1449
1450
1452
1453
1455
1456
1461
1463
1465
1466
1467
1470
1472
1473
1474
1480
1481
1483
1484
1496
1497
1502
1522
1523
1524
1526
1528
1530
1531
1532
1533
1534
1537
1538
1544
1550
1551
1552
1553
1554
1556
1558
1562
1563
1565
1566
1571
1572
1573
1577
1579
1583
1584
1585
1586
1587
1591
1595
1598
1600
1604
1606
1610
1612
1616
1622
1623
1624
1630
1632
1633
1635
1636
1637
1639
1640
1642
1645
1649
1650
1651
1655
1657
1658
1659
1661
1664
1665
1666
1672
1673
1676
1679
1681
1689
1690
1691
1696
1697
1700
1709
1710
1712
1715
1716
1719
1724
1730
1739
1740
1743
1744
1745
1746
1747
1749
1752
1753
1754
1760
1762
1765
1766
1771
1772
1776
1781
1782
1786
1793
1795
1797
1798
1804
1806
1809
1810
1814
1815
1819
1820
1824
1826
1828
1833
1834
1835
1836
1837
1838
1839
1841
1847
1849
1853
1855
1857
1864
1866
1867
1868
1869
1870
1871
1872
1874
1875
1876
1878
1883
1886
1891
1900
1903
1906
1913
1914
1918
1923
1924
1930
1931
1932
1934
1936
1939
1942
1943
1950
1951
1957
1959
1961
1963
1964
1967
1969
1972
1973
1975
1977
1978
1980
1981
1982
1990
1993
1994
1995
2002
2011
2014
2016
2018
2024
2030
2033
2036
2039
2040
2042
2045
2046
2049
2051
2056
2060
2061
2062
2064
2065
2070
2072
2080
2083
2085
2091
2093
2096
2097
2099
2100
2102
2105
2106
2109
2110
2112
2113
2116
2118
2119
2121
2124
2125
2126
2127
2128
2129
2130
2132
2133
2135
2136
2140
2144
2146
2151
2152
2162
2171
2174
2175
2177
2180
2183
2184
2185
2192
2193
2195
2199
2201
2206
2208
2211
2212
2213
2220
2225
2229
2231
2232
2234
2235
2242
2245
2249
2250
2252
2254
2255
2261
2262
2267
2269
2274
2275
2276
2279
2283
2290
2292
2296
2298
2299
2300
2303
2307
2309
2312
2313
2315
2316
2318
2319
2320
2321
2323
2325
2327
2331
2332
2333
2339
2340
2341
2342
2343
2346
2348
2354
2360
2362
2364
2366
2367
2369
2370
2374
2383
2388
2389
2390
2392
2395
2397
2398
2399
2402
2403
2410
2411
2412
2414
2416
2419
2424
2425
2428
2431
2432
2436
2444
2445
2446
2449
2450
2452
2462
2463
2465
2471
2480
2481
2482
2485
2486
2493
2494
2499
2505
2508
2512
2519
2527
2528
2532
2535
2536
2540
2548
2551
2554
2558
2562
2563
2568
2569
2570
2571
2581
2583
2586
2588
2589
2594
2595
2602
2610
2614
2618
2619
2621
2623
2624
2625
2628
2632
2636
2640
2642
2644
2647
2652
2653
2658
2660
2661
2662
2664
2665
2667
2670
2671
2673
2674
2675
2679
2680
2682
2687
2688
2689
2693
2694
2696
2700
2701
2704
2711
2713
2715
2716
2717
2719
2722
2723
2725
2727
2731
2733
2734
2737
2738
2741
2743
2744
2747
2748
2749
2750
2751
2754
2755
2758
2760
2762
2765
2767
2769
2771
2773
2774
2777
2783
2785
2786
2789
2792
2794
2795
2801
2806
2808
2811
2813
2815
2816
2824
2830
2832
2836
2837
2839
2841
2844
2848
2850
2852
2853
2864
2879
2882
2884
2886
2887
2893
2895
2898
2902
2904
2907
2910
2914
2918
2921
2923
2924
2928
2930
2934
2935
2938
2939
2940
2948
2949
2951
2953
2956
2959
2960
2962
2963
2965
2967
2968
2969
2972
2973
2978
2981
2982
2988
2989
2990
2992
2994
2995
2998
3005
3007
3008
3011
3012
3013
3017
3019
3020
3021
3024
3029
3031
3033
3039
3040
3044
3045
3047
3054
3055
3056
3057
3058
3062
3064
3068
3069
3071
3079
3082
3083
3089
3090
3091
3092
3093
3095
3098
3100
3101
3102
3103
3105
3106
3107
3111
3112
3118
3119
3120
3121
3123
3125
3137
3138
3141
3145
3146
3147
3153
3156
3158
3160
3163
3165
3166
3169
3171
3176
3178
3185
3187
3193
3194
3195
3196
3197
3199
3202
3212
3218
3220
3221
3229
3234
3236
3237
3240
3242
3243
3252
3253
3256
3259
3260
3262
3263
3265
3269
3270
3271
3276
3284
3288
3289
3291
3292
3298
3300
3302
3304
3307
3310
3312
3313
3316
3317
3319
3320
3321
3325
3327
3328
3329
3334
3337
3342
3351
3352
3353
3356
3357
3359
3362
3363
3366
3369
3370
3376
3377
3381
3383
3390
3391
3392
3394
3395
3397
3398
3401
3405
3412
3425
3426
3434
3437
3438
3439
3440
3441
3443
3448
3450
3452
3453
3457
3459
3460
3464
3467
3472
3476
3481
3482
3483
3485
3486
3487
3491
3492
3494
3503
3507
3508
3513
3514
3515
3516
3517
3518
3519
3521
3523
3524
3525
3527
3529
3534
3538
3539
3544
3553
3554
3561
3563
3564
3572
3577
3581
3582
3584
3585
3587
3594
3596
3600
3603
3605
3613
3614
3615
3617
3622
3623
3628
3630
3632
3635
3636
3637
3639
3641
3642
3643
3645
3646
3647
3648
3650
3653
3656
3658
3661
3664
3667
3669
3670
3671
3676
3677
3679
3680
3688
3689
3691
3694
3696
3703
3706
3708
3711
3714
3716
3717
3718
3723
3728
3735
3743
3744
3750
3751
3752
3753
3754
3756
3758
3759
3762
3767
3768
3770
3774
3775
3777
3778
3782
3784
3786
3787
3788
3793
3794
3795
3796
3800
3801
3802
3807
3808
3809
3811
3813
3814
3815
3818
3819
3820
3821
3822
3824
3826
3828
3834
3839
3842
3844
3845
3847
3848
3849
3853
3859
3861
3865
3872
3879
3882
3883
3885
3886
3887
3896
3899
3902
3905
3910
3912
3915
3916
3917
3921
3928
3931
3936
3937
3939
3940
3942
3945
3947
3951
3952
3956
3957
3959
3960
3962
3964
3966
3969
3970
3974
3980
3983
3984
3985
3986
3990
4006
4008
4009
4010
4014
4017
4018
4020
4023
4024
4027
4028
4029
4033
4037
4039
4050
4054
4057
4059
4067
4070
4071
4072
4073
4074
4075
4082
4083
4088
4097
4103
4105
4112
4116
4118
4119
4124
4130
4137
4139
4143
4144
4145
4146
4149
4152
4153
4155
4158
4159
4161
4163
4166
4168
4173
4174
4176
4177
4181
4182
4185
4186
4187
4189
4191
4192
4193
4195
4198
4202
4204
4209
4213
4214
4215
4216
4217
4218
4219
4223
4226
4229
4233
4234
4240
4245
4249
4250
4257
4261
4263
4272
4273
4277
4281
4282
4284
4285
4286
4287
4288
4291
4292
4301
4302
4303
4304
4309
4313
4316
4317
4319
4324
4329
4331
4332
4336
4340
4342
4343
4346
4352
4353
4358
4362
4363
4365
4366
4367
4372
4374
4384
4389
4393
4396
4405
4407
4409
4417
4418
4421
4424
4426
4432
4433
4434
4435
4438
4444
4445
4446
4447
4450
4451
4453
4462
4463
4465
4467
4468
4470
4471
4472
4476
4478
4480
4481
4482
4484
4487
4492
4493
4495
4496
4497
4498
4500
4503
4506
4512
4514
4517
4519
4524
4530
4536
4537
4539
4540
4544
4545
4548
4550
4552
4553
4557
4558
4559
4568
4569
4570
4572
4575
4576
4577
4578
4580
4586
4590
4596
4611
4612
4613
4617
4620
4625
4630
4633
4636
4638
4647
4651
4652
4653
4658
4659
4661
4669
4671
4676
4680
4690
4697
4698
4703
4704
4707
4712
4713
4714
4715
4716
4719
4725
4728
4730
4731
4732
4734
4740
4741
4743
4744
4745
4746
4748
4751
4752
4753
4755
4759
4760
4761
4762
4765
4767
4769
4773
4775
4784
4786
4790
4791
4794
4795
4796
4798
4799
4800
4802
4803
4805
4809
4811
4814
4815
4816
4818
4819
4824
4827
4829
4830
4834
4835
4837
4838
4843
4845
4846
4847
4849
4851
4854
4857
4858
4859
4860
4861
4862
4863
4864
4865
4871
4873
4875
4879
4881
4885
4886
4892
4894
4897
4900
4903
4906
4910
4912
4919
4920
4923
4926
4928
4933
4935
4941
4942
4944
4948
4949
4951
4952
4953
4954
4956
4958
4960
4961
4962
4963
4965
4968
4972
4974
4977
4982
4983
4985
4992
4993
4994
4995
5000
5002
5006
5011
5012
5014
5016
5017
5019
5020
5024
5025
5027
5033
5035
5038
5039
5042
5046
5049
5056
5058
5060
5062
5069
5072
5074
5081
5083
5084
5086
5088
5090
5092
5095
5096
5097
5107
5109
5111
5115
5116
5118
5120
5122
5124
5127
5129
5130
5133
5136
5138
5141
5143
5146
5148
5149
5155
5156
5158
5160
5166
5167
5170
5171
5174
5176
5177
5178
5181
5187
5188
5190
5195
5196
5197
5200
5202
5205
5216
5217
5218
5223
5225
5226
5228
5229
5232
5233
5236
5237
5240
5241
5242
5247
5249
5250
5251
5253
5254
5257
5262
5266
5267
5270
5271
5272
5276
5280
5281
5283
5285
5286
5287
5290
5292
5296
5297
5300
5303
5305
5313
5315
5316
5318
5319
5323
5325
5329
5333
5334
5335
5339
5340
5343
5344
5347
5348
5349
5350
5352
5354
5356
5364
5366
5371
5372
5373
5376
5378
5381
5385
5389
5391
5393
5395
5396
5397
