0
3
5
7
10
12
19
23
26
27
31
35
36
39
41
46
50
55
56
57
58
59
60
61
66
72
73
75
77
85
86
91
98
106
107
111
112
113
115
116
117
122
126
129
130
131
132
133
135
136
140
142
144
149
152
153
159
160
161
166
171
172
174
176
177
184
186
189
192
194
195
198
201
202
205
207
209
210
212
216
217
220
223
224
225
227
234
237
238
242
246
247
248
249
251
252
259
261
264
266
267
271
274
275
276
277
281
287
288
296
297
299
301
302
304
306
309
311
312
314
317
338
342
343
348
368
375
377
380
393
394
396
398
399
405
417
418
419
420
424
426
429
430
437
451
452
454
455
468
469
471
472
478
479
480
482
483
486
490
495
496
497
498
500
501
502
505
508
517
519
522
524
525
530
540
542
544
547
548
550
551
556
561
562
563
566
567
569
571
572
575
576
580
586
600
604
608
611
612
613
615
622
624
630
633
637
638
644
647
648
649
654
657
663
665
667
672
673
674
675
676
677
678
681
683
690
691
699
700
703
707
709
711
716
717
719
722
725
726
728
729
730
732
733
734
735
738
739
741
742
747
748
754
755
756
759
760
765
766
767
768
769
773
774
779
782
790
792
802
803
804
807
808
811
813
814
822
824
828
832
834
836
847
854
855
856
858
859
861
862
865
867
871
874
876
877
878
883
884
886
892
897
911
913
915
924
930
931
933
940
943
944
947
948
950
951
952
953
954
955
956
959
969
972
973
975
977
978
980
982
983
987
989
993
996
997
999
1002
1005
1007
1011
1018
1019
1025
1029
1035
1038
1039
1040
1042
1047
1048
1052
1062
1063
1064
1071
1073
1074
1075
1079
1084
1086
1092
1093
1095
1096
1099
1100
1102
1103
1104
1107
1108
1113
1116
1118
1119
1122
1125
1132
1134
1136
1138
1139
1141
1142
1144
1146
1149
1153
1155
1157
1161
1164
1165
1168
1169
1174
1177
1179
1180
1184
1190
1191
1192
1195
1198
1200
1209
1215
1218
1219
1221
1224
1225
1226
1227
1235
1236
1242
1243
1248
1252
1253
1261
1262
1265
1267
1268
1273
1274
1275
1276
1281
1284
1285
1288
1289
1290
1292
1294
1295
1297
1302
1305
1314
1315
1316
1326
1329
1330
1331
1333
1334
1337
1340
1346
1350
1351
1362
1369
1370
1377
1378
1379
1381
1382
1383
1385
1388
1395
1397
1401
1408
1414
1425
1426
1427
1428
1431
1436
1441
1443
1445
1447
1448
1453
1459
1464
1465
1466
1467
1471
1472
1475
1478
1482
1483
1488
1496
1500
1505
1508
1509
1514
1516
1517
1519
1525
1529
1530
1533
1543
1547
1548
1551
1553
1557
1559
1565
1573
1579
1583
1585
1587
1590
1591
1594
1597
1598
1601
1606
1607
1610
1612
1613
1615
1620
1622
1625
1626
1627
1628
1629
1630
1632
1635
1637
1638
1639
1640
1644
1645
1648
1653
1658
1660
1661
1667
1671
1674
1676
1680
1681
1692
1695
1703
1707
1708
1713
1715
1717
1718
1720
1724
1726
1729
1738
1739
1741
1742
1743
1745
1752
1757
1759
1760
1762
1766
1767
1772
1774
1775
1785
1788
1792
1793
1797
1798
1802
1805
1808
1815
1817
1820
1824
1827
1829
1834
1835
1838
1842
1844
1845
1847
1850
1853
1854
1858
1863
1867
1868
1869
1870
1876
1877
1879
1881
1888
1890
1891
1893
1896
1897
1900
1909
1911
1915
1919
1925
1927
1929
1938
1948
1950
1951
1952
1960
1965
1968
1980
1982
1983
1984
1994
1998
1999
2003
2007
2009
2015
2016
2019
2022
2023
2024
2028
2030
2031
2032
2039
2041
2045
2048
2049
2052
2053
2055
2056
2058
2059
2065
2070
2072
2073
2075
2081
2082
2083
2086
2097
2103
2107
2111
2113
2114
2120
2125
2126
2127
2129
2133
2138
2139
2145
2147
2157
2159
2161
2166
2171
2173
2174
2175
2177
2178
2179
2181
2184
2186
2194
2196
2197
2206
2208
2209
2210
2213
2215
2217
2221
2222
2224
2229
2231
2233
2236
2237
2238
2239
2240
2241
2245
2247
2252
2255
2256
2261
2265
2267
2268
2269
2270
2274
2276
2279
2286
2287
2289
2290
2291
2292
2293
2297
2300
2304
2310
2312
2316
2317
2319
2320
2322
2323
2332
2339
2340
2343
2345
2346
2348
2349
2350
2351
2353
2355
2360
2363
2365
2366
2376
2377
2378
2385
2386
2387
2389
2390
2393
2395
2398
2399
2401
2402
2407
2417
2419
2422
2427
2430
2432
2437
2440
2444
2446
2448
2450
2452
2456
2457
2458
2459
2466
2469
2470
2471
2476
2477
2480
2483
2484
2496
2498
2501
2503
2504
2505
2508
2510
2519
2520
2522
2523
2525
2526
2528
2530
2531
2533
2534
2536
2537
2542
2543
2545
2548
2549
2551
2553
2558
2559
2566
2570
2571
2573
2575
2577
2578
2581
2595
2596
2598
2605
2607
2608
2609
2610
2618
2622
2625
2627
2629
2630
2632
2634
2635
2636
2640
2641
2642
2645
2649
2655
2663
2664
2666
2671
2673
2674
2676
2678
2679
2682
2683
2684
2688
2692
2700
2704
2706
2708
2709
2711
2714
2715
2716
2720
2727
2731
2732
2737
2741
2742
2746
2749
2752
2761
2762
2764
2767
2768
2769
2771
2772
2774
2775
2777
2778
2779
2785
2789
2791
2795
2797
2800
2802
2803
2807
2808
2811
2812
2814
2817
2820
2822
2825
2828
2835
2840
2841
2852
2854
2856
2859
2863
2864
2866
2867
2869
2871
2873
2876
2881
2886
2888
2893
2894
2895
2896
2900
2904
2906
2908
2910
2912
2922
2923
2924
2925
2927
2929
2933
2935
2941
2944
2946
2947
2951
2952
2953
2955
2960
2961
2962
2963
2964
2972
2982
2984
2987
2989
2990
2991
2996
2998
2999
3001
3012
3014
3021
3024
3030
3036
3037
3039
3040
3041
3042
3043
3048
3049
3051
3053
3057
3062
3063
3068
3069
3070
3071
3072
3079
3080
3081
3082
3086
3087
3088
3089
3092
3093
3094
3096
3099
3102
3105
3107
3114
3122
3123
3129
3131
3133
3142
3147
3149
3150
3154
3156
3158
3159
3160
3162
3163
3164
3167
3173
3174
3176
3184
3192
3193
3198
3202
3204
3205
3212
3214
3222
3229
3230
3234
3236
3238
3239
3240
3245
3246
3249
3253
3254
3255
3259
3261
3264
3265
3270
3272
3279
3281
3283
3297
3308
3310
3317
3318
3319
3320
3323
3325
3333
3335
3339
3345
3346
3348
3349
3352
3356
3357
3362
3367
3370
3371
3373
3375
3376
3381
3391
3400
3402
3403
3412
3414
3416
3417
3421
3423
3428
3430
3434
3436
3441
3442
3444
3445
3449
3451
3454
3455
3456
3461
3468
3478
3479
3483
3485
3486
3490
3494
3495
3496
3498
3501
3502
3504
3509
3511
3514
3515
3517
3518
3520
3521
3522
3527
3530
3531
3533
3534
3535
3536
3538
3540
3541
3542
3544
3545
3549
3551
3552
3555
3556
3557
3560
3562
3563
3564
3567
3568
3575
3581
3582
3584
3585
3588
3592
3594
3595
3598
3602
3604
3606
3610
3611
3613
3615
3617
3620
3623
3624
3626
3627
3629
3632
3639
3643
3645
3646
3652
3653
3656
3658
3666
3667
3669
3671
3677
3679
3689
3691
3693
3694
3697
3700
3701
3702
3703
3707
3708
3710
3711
3712
3718
3719
3729
3730
3734
3736
3742
3744
3746
3748
3750
3752
3753
3755
3761
3762
3763
3764
3765
3766
3772
3773
3779
3782
3783
3784
3785
3786
3787
3788
3791
3792
3799
3800
3801
3810
3813
3814
3816
3817
3820
3829
3832
3833
3834
3838
3839
3840
3841
3843
3844
3849
3851
3852
3853
3860
3861
3862
3867
3868
3872
3874
3875
3877
3878
3879
3881
3885
3891
3897
3898
3900
3902
3906
3911
3913
3915
3916
3917
3926
3927
3930
3932
3934
3943
3944
3948
3949
3954
3958
3959
3960
3961
3965
3967
3970
3973
3976
3977
3978
3981
3983
3984
3990
3991
3992
3996
4001
4007
4010
4011
4014
4018
4020
4021
4026
4030
4031
4032
4038
4042
4043
4050
4055
4057
4060
4061
4063
4066
4070
4071
4072
4077
4079
4082
4084
4086
4090
4091
4100
4110
4116
4124
4125
4128
4129
4132
4133
4138
4141
4142
4146
4153
4154
4155
4167
4169
4171
4172
4173
4176
4178
4179
4181
4189
4190
4193
4196
4201
4203
4204
4208
4211
4216
4220
4222
4226
4228
4231
4232
4234
4236
4239
4242
4243
4244
4245
4249
4251
4252
4254
4256
4259
4260
4262
4263
4266
4267
4269
4270
4272
4274
4277
4279
4281
4282
4285
4286
4289
4292
4294
4297
4300
4302
4304
4308
4309
4310
4317
4318
4319
4320
4326
4327
4332
4333
4334
4335
4336
4347
4353
4358
4364
4366
4368
4369
4374
4377
4378
4379
4380
4381
4383
4385
4386
4388
4396
4397
4400
4402
4404
4408
4412
4415
4416
4417
4419
4420
4423
4427
4430
4431
4434
4437
4444
4447
4456
4458
4461
4466
4467
4469
4474
4476
4480
4481
4484
4489
4491
4499
4508
4511
4514
4518
4520
4528
4529
4532
4533
4535
4540
4541
4543
4549
4550
4552
4554
4555
4556
4562
4564
4565
4566
4571
4574
4575
4577
4578
4581
4594
4595
4599
4603
4613
4614
4615
4620
4621
4623
4624
4626
4629
4634
4635
4638
4639
4648
4659
4662
4663
4664
4667
4671
4676
4677
4679
4685
4686
4687
4689
4691
4695
4704
4705
4710
4713
4715
4716
4717
4720
4723
4730
4735
4737
4738
4740
4743
4748
4751
4752
4754
4755
4758
4759
4762
4767
4769
4770
4774
4776
4779
4789
4791
4794
4799
4800
4802
4803
4805
4806
4811
4812
4813
4821
4823
4824
4826
4830
4831
4833
4834
4836
4837
4841
4847
4849
4861
4863
4866
4867
4869
4870
4879
4882
4889
4896
4897
4898
4899
4900
4901
4904
4916
4920
4922
4924
4929
4934
4935
4940
4941
4945
4947
4950
4959
4964
4965
4966
4970
4974
4981
4983
4984
4986
4988
4994
4997
4999
5000
5004
5009
5011
5015
5016
5021
5026
5028
5032
5036
5037
5038
5049
5050
5051
5054
5062
5064
5067
5072
5073
5076
5077
5079
5082
5083
5086
5088
5089
5091
5092
5094
5098
5104
5105
5113
5115
5118
5123
5124
5126
5133
5135
5136
5137
5145
5147
5156
5157
5160
5164
5165
5167
5174
5188
5189
5190
5192
5193
5195
5196
5198
5199
5201
5203
5204
5205
5210
5211
5213
5217
5221
5223
5224
5227
5231
5232
5241
5242
5247
5250
5252
5257
5260
5264
5271
5272
5281
5285
5286
5288
5289
5291
5293
5295
5299
5303
5307
5322
5334
5335
5339
5344
5345
5347
5348
5350
5351
5352
5361
5363
5369
5370
5375
5378
5380
5385
5386
5388
5392
5393
5394
5395
5397
5400
5402
5404
5406
5411
5412
5414
5415
5417
5418
5421
5424
5427
5441
5442
5443
5444
5445
5446
5447
5448
5452
5455
5457
5470
5471
5473
5474
5476
5477
5480
5481
5485
5486
5492
5500
5502
5503
5504
5509
5510
5512
5513
5514
5515
5516
5523
5525
5529
5531
5536
5538
5540
5544
5545
5547
5548
5550
5551
5552
5553
5556
5557
5559
5560
