0
0
0
0
1
1
2
3
3
4
5
5
5
5
5
5
6
6
8
8
9
9
9
9
12
13
17
18
28
32
36
49
71
85
97
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
124
124
125
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
128
133
136
136
136
136
136
136
137
137
137
137
137
137
137
137
138
139
142
142
143
145
148
150
150
153
154
157
160
164
167
171
174
175
175
175
176
177
177
177
177
177
177
177
177
178
182
187
191
195
200
200
200
200
200
203
207
209
211
214
214
214
214
215
216
217
220
224
228
240
247
247
261
261
269
272
287
301
315
326
340
354
361
371
371
371
377
384
399
413
427
439
441
452
461
462
462
463
466
471
476
490
504
516
543
568
581
608
619
631
658
658
658
658
661
662
662
662
662
664
667
667
667
667
668
673
675
675
675
675
675
680
682
687
690
693
697
697
697
702
707
712
717
719
724
729
731
731
734
737
742
747
752
757
757
757
761
761
764
768
769
769
769
769
774
779
784
789
790
793
798
798
798
799
802
806
811
815
820
820
820
820
820
820
820
820
820
820
820
820
820
821
821
824
828
830
835
840
845
849
854
857
862
865
867
871
876
881
886
890
890
893
894
894
895
895
895
895
899
904
905
906
909
913
917
932
947
959
971
985
995
1010
1014
1026
1041
1043
1049
1062
1074
1085
1099
1099
1111
1122
1122
1127
1131
1136
1141
1146
1146
1151
1155
1155
1160
1164
1169
1174
1179
1184
1189
1193
1198
1203
1208
1208
1208
1208
1209
1209
1210
1211
1211
1212
1213
1213
1213
1213
1213
1213
1216
1216
1218
1218
1220
1220
1223
1225
1228
1234
1239
1242
1254
1263
1268
1290
1315
1330
1342
1367
1367
1367
1367
1367
1367
1367
1368
1368
1369
1369
1370
1371
1372
1375
1377
1377
1377
1378
1379
1379
1379
1379
1379
1383
1383
1383
1383
1383
1383
1384
1385
1385
1385
1385
1387
1388
1392
1397
1400
1400
1403
1403
1403
1405
1406
1406
1406
1406
1406
1406
1406
1406
1409
1411
1416
1417
1418
1420
1423
1425
1426
1429
1430
1434
1438
1443
1447
1452
1457
1461
1463
1465
1467
1469
1470
1473
1476
1478
1481
1481
1483
1485
1489
1494
1499
1503
1508
1508
1508
1508
1510
1513
1517
1519
1521
1524
1524
1524
1524
1525
1526
1527
1531
1535
1539
1551
1560
1560
1574
1574
1583
1587
1602
1617
1632
1644
1658
1672
1680
1692
1693
1698
1704
1714
1729
1743
1757
1769
1771
1782
1791
1792
1792
1795
1798
1803
1808
1822
1836
1848
1875
1902
1917
1944
1955
1967
1993
1993
1993
1993
1996
1997
1997
1997
1997
1999
2002
2002
2002
2002
2003
2008
2010
2010
2010
2010
2010
2015
2017
2022
2025
2028
2033
2033
2033
2038
2043
2048
2053
2055
2060
2065
2067
2067
2070
2073
2078
2083
2088
2093
2093
2093
2097
2097
2101
2105
2107
2109
2109
2109
2114
2119
2124
2129
2131
2135
2140
2140
2140
2142
2145
2149
2154
2158
2163
2163
2163
2164
2165
2165
2165
2169
2169
2169
2169
2170
2170
2171
2171
2174
2178
2180
2185
2190
2195
2199
2204
2207
2212
2215
2218
2222
2227
2232
2237
2241
2241
2244
2245
2245
2246
2246
2246
2246
2250
2255
2256
2257
2260
2264
2268
2283
2298
2310
2322
2337
2347
2362
2368
2380
2395
2397
2403
2417
2429
2440
2454
2454
2466
2477
2477
2482
2486
2491
2496
2501
2501
2506
2510
2510
2515
2519
2524
2529
2534
2539
2544
2549
2554
2559
2564
2564
2565
2565
2566
2566
2569
2571
2572
2573
2574
2574
2574
2574
2574
2577
2581
2581
2585
2588
2592
2592
2601
2608
2619
2629
2634
2637
2651
2663
2668
2691
2718
2733
2745
2772
2772
2772
2772
2772
2772
2772
2773
2773
2775
2775
2776
2777
2780
2784
2787
2787
2787
2788
2789
2789
2789
2790
2792
2796
2796
2796
2796
2796
2796
2797
2798
2798
2798
2798
2800
2803
2808
2813
2816
2816
2819
2822
2822
2824
2827
2827
2827
2827
2828
2828
2828
2828
2831
2836
2841
2842
2843
2845
2848
2850
2851
2855
2856
2860
2864
2869
2873
2878
2883
2887
2891
2895
2898
2901
2906
2909
2912
2914
2917
2917
2919
2922
2927
2932
2937
2941
2946
2946
2947
2947
2949
2953
2957
2961
2963
2966
2967
2967
2968
2969
2970
2971
2975
2979
2983
2997
3006
3006
3021
3022
3033
3037
3052
3067
3082
3094
3108
3122
3136
3148
3149
3155
3161
3171
3186
3200
3215
3227
3235
3246
3259
3265
3273
3279
3282
3287
3292
3306
3320
3332
3359
3386
3404
3431
3446
3458
3485
3485
3489
3490
3493
3495
3495
3496
3496
3498
3501
3501
3501
3501
3503
3508
3511
3511
3511
3511
3511
3516
3518
3523
3527
3530
3535
3535
3535
3540
3545
3550
3555
3559
3564
3569
3571
3571
3574
3577
3582
3587
3592
3597
3597
3597
3602
3604
3609
3613
3617
3621
3621
3621
3626
3631
3636
3641
3645
3650
3655
3658
3658
3661
3664
3669
3674
3678
3683
3683
3683
3684
3685
3685
3685
3689
3689
3689
3689
3690
3691
3693
3693
3696
3700
3705
3710
3715
3720
3724
3729
3732
3737
3740
3743
3748
3753
3758
3763
3767
3767
3770
3771
3771
3772
3772
3772
3772
3777
3782
3785
3786
3790
3794
3798
3813
3828
3840
3852
3867
3877
3892
3899
3911
3926
3929
3935
3949
3961
3973
3987
3989
4001
4012
4012
4017
4021
4026
4031
4036
4036
4041
4046
4050
4055
4059
4064
4069
4074
4079
4084
4089
4094
4099
4104
4105
4107
4110
4111
4111
4114
4117
4119
4120
4121
4121
4125
4130
4130
4133
4136
4141
4145
4148
4152
4160
4163
4173
4185
4195
4200
4203
4217
4229
4234
4250
4262
4277
4289
4301
4304
4309
4310
4315
4318
4323
4326
4328
4331
4335
4340
4344
4349
4353
4356
4361
4366
4371
4376
4380
4385
4388
4391
4395
4399
4402
4407
4411
4411
4412
4413
4418
4423
4428
4433
4438
4443
4448
4451
4454
4456
4459
4462
4467
4471
4471
4474
4477
4479
4483
4483
4483
4485
4490
4495
4496
4497
4500
4505
4508
4511
4515
4518
4522
4526
4531
4536
4541
4546
4551
4555
4560
4565
4570
4575
4579
4582
4584
4587
4591
4593
4598
4603
4608
4613
4618
4623
4623
4628
4631
4631
4635
4639
4642
4646
4650
4653
4653
4656
4657
4658
4659
4662
4666
4670
4685
4700
4714
4729
4733
4745
4751
4765
4776
4791
4803
4815
4830
4845
4857
4871
4885
4897
4909
4924
4939
4954
4966
4975
4984
4997
5003
5015
5021
5021
5026
5031
5045
5059
5071
5098
5125
5152
5179
5193
5205
5231
5236
5241
5246
5251
5256
5260
5265
5269
5274
5279
5279
5284
5286
5289
5294
5297
5297
5297
5297
5302
5307
5310
5314
5318
5322
5327
5331
5331
5336
5341
5346
5351
5356
5361
5365
5367
5372
5375
5376
5381
5386
5390
5395
5400
5404
5409
5412
5417
5422
5426
5431
5436
5440
5445
5450
5455
5460
5465
5470
5475
5478
5478
5481
5484
5489
5494
5498
5503
5508
5510
5514
5518
5520
5524
5529
5530
5533
5536
5538
5542
5546
5551
5555
5559
5564
5569
5573
5578
5583
5588
5591
5596
5599
5602
5607
5612
5617
5621
5625
5626
5630
5634
5634
5635
5635
5636
5636
5640
5645
5648
5649
5653
5657
5661
5676
5691
5703
5715
5730
5745
5760
5772
5784
5799
5811
5822
5837
5849
5861
5875
5882
5894
5905
5910
5915
5920
5925
5930
5935
5940
5945
5950
5955
5960
5965
5970
5975
5980
5985
5990
5995
6000
6005
6010
