0
0
1
2
3
5
8
11
12
13
14
14
15
17
19
20
20
20
20
20
20
26
32
32
32
43
49
49
49
65
81
96
106
126
157
206
206
206
208
211
211
211
213
216
216
216
218
219
219
219
221
224
224
224
227
230
230
230
230
230
230
230
230
230
230
230
233
236
236
236
236
237
237
237
237
237
238
240
242
245
245
245
245
245
245
245
245
245
246
248
251
254
254
254
254
254
255
257
257
257
257
257
259
262
262
262
262
263
263
263
263
263
264
266
269
273
273
273
273
273
276
276
276
276
279
279
280
281
281
281
281
281
281
282
282
283
283
286
286
286
286
286
286
286
286
286
286
286
287
288
288
288
288
288
288
288
288
288
288
288
290
290
291
292
295
298
298
302
304
307
307
309
309
309
312
312
316
320
320
325
327
327
327
327
327
329
329
329
331
333
334
337
339
339
339
339
339
339
340
345
345
345
346
351
351
351
352
355
355
355
356
361
361
361
369
377
377
379
379
379
379
379
379
379
379
382
390
398
398
398
398
403
407
421
421
421
421
422
428
438
438
438
443
443
443
453
453
453
453
459
464
478
480
489
489
503
503
512
518
518
523
523
532
536
538
538
538
546
559
564
571
579
579
593
593
602
602
606
623
656
656
659
670
703
703
703
715
747
747
752
770
802
802
825
859
893
893
908
923
938
938
953
968
983
986
1014
1048
1081
1140
1190
1241
1297
1349
1377
1408
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1466
1468
1468
1468
1468
1470
1470
1470
1470
1470
1470
1470
1470
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1471
1473
1473
1473
1475
1477
1477
1477
1479
1481
1481
1481
1481
1483
1483
1483
1483
1483
1483
1483
1483
1484
1484
1484
1486
1487
1487
1487
1489
1491
1491
1491
1491
1492
1492
1492
1492
1492
1493
1493
1493
1495
1495
1495
1497
1500
1500
1500
1502
1504
1504
1504
1504
1505
1505
1505
1505
1505
1505
1505
1506
1506
1506
1508
1512
1512
1512
1514
1514
1514
1514
1514
1514
1514
1514
1514
1514
1516
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1522
1523
1526
1527
1531
1536
1541
1541
1541
1542
1543
1543
1545
1545
1545
1547
1549
1553
1558
1558
1558
1558
1561
1563
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1566
1567
1567
1567
1567
1567
1567
1567
1567
1567
1567
1567
1567
1567
1567
1567
1571
1571
1571
1571
1571
1574
1575
1575
1575
1577
1577
1580
1584
1584
1584
1585
1585
1587
1592
1593
1597
1599
1603
1607
1612
1612
1612
1612
1614
1614
1614
1614
1616
1616
1616
1616
1617
1617
1617
1619
1619
1619
1619
1619
1619
1619
1620
1620
1620
1623
1623
1623
1627
1627
1627
1628
1628
1628
1633
1633
1635
1638
1638
1638
1642
1642
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1645
1648
1650
1655
1660
1665
1665
1665
1667
1667
1669
1673
1673
1673
1675
1677
1681
1686
1686
1686
1688
1691
1694
1699
1699
1699
1699
1699
1699
1701
1701
1701
1701
1701
1702
1702
1702
1702
1703
1703
1706
1706
1707
1710
1714
1714
1716
1721
1721
1724
1724
1727
1727
1728
1728
1728
1728
1728
1728
1728
1731
1732
1732
1732
1732
1732
1732
1732
1732
1732
1735
1738
1741
1745
1745
1745
1745
1745
1745
1745
1745
1745
1748
1751
1751
1751
1751
1751
1751
1751
1751
1764
1764
1764
1764
1764
1764
1770
1773
1786
1796
1811
1814
1814
1816
1828
1828
1828
1837
1850
1853
1856
1865
1878
1878
1878
1878
1878
1878
1878
1878
1878
1878
1878
1878
1878
1878
1893
1895
1897
1900
1912
1912
1920
1920
1932
1935
1937
1937
1946
1949
1954
1968
1983
1983
1983
1983
1983
1983
1983
1983
1994
1998
1998
2007
2020
2023
2023
2028
2041
2046
2046
2059
2073
2073
2073
2073
2073
2076
2085
2099
2114
2117
2118
2125
2138
2138
2143
2156
2170
2174
2175
2185
2199
2199
2199
2199
2199
2207
2215
2228
2238
2252
2262
2277
2277
2281
2293
2301
2301
2305
2305
2305
2305
2305
2311
2321
2336
2349
2349
2349
2354
2367
2382
2417
2442
2477
2503
2529
2558
2569
2603
2621
2647
2673
2708
2715
2741
2767
2801
2836
2862
2888
2918
2947
2978
3011
3026
3057
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3085
3086
3090
3090
3090
3090
3091
3091
3096
3096
3098
3098
3103
3103
3106
3111
3111
3111
3111
3111
3111
3111
3114
3114
3119
3119
3119
3121
3125
3125
3125
3128
3132
3132
3132
3132
3132
3132
3133
3133
3133
3133
3133
3136
3139
3143
3148
3153
3153
3154
3157
3157
3157
3159
3159
3159
3159
3159
3163
3163
3166
3170
3170
3170
3170
3171
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3174
3174
3178
3178
3181
3181
3185
3185
3188
3192
3192
3192
3192
3192
3192
3192
3196
3196
3200
3200
3200
3202
3207
3207
3207
3210
3215
3215
3215
3218
3223
3223
3224
3224
3224
3225
3225
3227
3230
3233
3233
3236
3236
3238
3242
3242
3242
3244
3244
3244
3244
3244
3247
3252
3257
3262
3262
3262
3262
3266
3270
3270
3270
3270
3270
3272
3272
3272
3272
3272
3272
3272
3272
3273
3276
3276
3276
3279
3279
3279
3283
3283
3283
3287
3287
3287
3287
3287
3291
3291
3296
3301
3301
3301
3301
3304
3308
3308
3308
3308
3308
3308
3308
3308
3309
3309
3309
3309
3312
3316
3319
3324
3329
3334
3335
3335
3339
3343
3343
3346
3346
3346
3346
3346
3350
3350
3353
3357
3357
3357
3357
3358
3360
3360
3360
3360
3360
3362
3362
3362
3362
3362
3362
3362
3366
3370
3371
3371
3371
3375
3379
3379
3379
3379
3379
3379
3379
3394
3409
3424
3439
3454
3460
3470
3480
3495
3510
3525
3525
3535
3545
3545
3555
3559
3574
3589
3604
3619
3634
3644
3653
3667
3667
3682
3697
3705
3714
3728
3728
3743
3758
3773
3788
3803
3813
3823
3833
3833
3848
3863
3873
3873
3878
3882
3882
3887
3887
3891
3896
3896
3896
3900
3900
3904
3908
3908
3912
3912
3917
3921
3921
3926
3930
3935
3940
3940
3945
3950
3950
3955
3959
3959
3964
3969
3974
3974
3975
3976
3977
3979
3982
3985
3986
3987
3990
3992
3995
3998
4001
4002
4002
4007
4012
4014
4018
4030
4042
4047
4052
4064
4070
4085
4100
4116
4136
4151
4161
4181
4212
4266
4266
4266
4270
4273
4273
4273
4277
4280
4280
4280
4282
4283
4283
4283
4287
4292
4292
4292
4296
4300
4300
4302
4303
4304
4304
4306
4307
4308
4308
4308
4311
4314
4315
4315
4315
4317
4317
4318
4322
4325
4328
4332
4336
4341
4341
4341
4341
4341
4341
4343
4345
4349
4352
4356
4360
4365
4365
4365
4365
4365
4366
4368
4368
4368
4368
4371
4373
4376
4378
4378
4380
4383
4385
4390
4395
4400
4404
4409
4413
4418
4418
4418
4418
4418
4421
4423
4424
4428
4433
4438
4442
4446
4447
4447
4447
4449
4449
4450
4452
4457
4462
4467
4468
4469
4470
4470
4470
4472
4472
4473
4477
4482
4487
4492
4493
4494
4494
4494
4494
4495
4495
4495
4498
4502
4507
4511
4514
4517
4521
4524
4527
4532
4534
4538
4541
4545
4546
4549
4552
4556
4561
4566
4571
4576
4580
4585
4589
4594
4599
4604
4605
4610
4615
4620
4621
4625
4628
4631
4631
4634
4634
4634
4648
4662
4663
4664
4677
4689
4692
4693
4704
4716
4716
4718
4732
4746
4746
4746
4760
4774
4774
4779
4784
4789
4789
4792
4797
4802
4802
4805
4819
4832
4844
4847
4851
4865
4880
4895
4899
4899
4903
4913
4924
4939
4943
4954
4965
4965
4970
4983
4998
5007
5022
5037
5052
5067
5069
5078
5090
5104
5119
5133
5143
5143
5148
5159
5174
5179
5186
5186
5189
5204
5219
5224
5234
5242
5251
5266
5281
5293
5293
5317
5352
5386
5411
5434
5461
5495
5499
5529
5557
5591
5618
5653
5688
5723
5723
5745
5778
5809
5809
5828
5843
5858
5858
5873
5888
5903
5906
5935
5968
6001
6066
6127
6183
6247
6300
6332
6363
6422
6422
6422
6422
6422
6422
6422
6422
6422
6422
6425
6425
6425
6427
6432
6432
6432
6437
6441
6441
6441
6446
6450
6451
6451
6456
6461
6461
6461
6463
6467
6467
6467
6467
6467
6467
6467
6467
6467
6467
6470
6470
6470
6472
6477
6477
6478
6481
6485
6488
6489
6494
6498
6500
6500
6505
6510
6510
6511
6516
6520
6520
6520
6523
6527
6527
6527
6530
6534
6537
6538
6543
6547
6547
6547
6552
6557
6557
6557
6561
6565
6565
6565
6565
6565
6566
6567
6572
6577
6578
6578
6583
6588
6591
6592
6597
6602
6602
6602
6606
6611
6611
6611
6611
6611
6612
6614
6616
6617
6619
6621
6626
6626
6627
6629
6630
6630
6630
6630
6631
6632
6633
6633
6633
6635
6638
6639
6639
6639
6641
6643
6645
6645
6645
6645
6645
6646
6646
6650
6652
6656
6658
6662
6662
6666
6666
6669
6669
6673
6674
6676
6676
6680
6682
6682
6684
6685
6688
6688
6688
6692
6694
6694
6699
6704
6709
6714
6717
6720
6724
6729
6734
6739
6742
6745
6748
6752
6757
6762
6765
6769
6774
6778
6783
6788
6791
6795
6798
6803
6808
6813
6813
6813
6813
6813
6813
6813
6813
6818
6821
6822
6822
6822
6823
6827
6827
6829
6830
6833
6833
6836
6836
6840
6843
6847
6847
6848
6851
6851
6851
6855
6857
6857
6862
6867
6872
6877
6881
6883
6886
6890
6895
6900
6903
6906
6909
6913
6918
6923
6925
6929
6934
6938
6943
6948
6950
6954
6958
6962
6967
6972
6972
6972
6975
6979
6981
6984
6988
6992
6994
6997
7001
7005
7007
7009
7013
7017
7017
7017
7017
7020
7020
7024
7027
7030
7033
7033
7037
7042
7044
7047
7052
7054
7058
7063
7065
7068
7072
7077
7081
7085
7088
7093
7097
7101
7103
7108
7110
7114
7116
7121
7123
7127
7129
7133
7133
7136
7141
7146
7151
7156
7161
7166
7169
7174
7179
7184
7189
7194
7198
7203
7208
7213
7218
7223
7226
7231
7236
7241
7246
7251
7251
7251
7252
7254
7257
7259
7260
7264
7264
7264
7265
7265
7269
7272
7275
7279
7284
7288
7293
7298
7303
7307
7312
7317
7317
7319
7320
7323
7327
7331
7331
7332
7332
7332
7332
7334
7338
7341
7342
7342
7342
7346
7351
7352
7354
7356
7360
7365
7370
7375
7376
7378
7382
7387
7390
7394
7398
7403
7408
7413
7413
7413
7413
7413
7413
7413
7413
7425
7425
7425
7425
7425
7425
7435
7448
7463
7478
7493
7498
7511
7526
7540
7550
7563
7578
7593
7600
7613
7628
7643
7643
7643
7648
7656
7659
7666
7666
7671
7671
7671
7671
7671
7671
7686
7698
7708
7722
7737
7747
7761
7776
7790
7801
7815
7830
7845
7859
7872
7887
7902
7906
7918
7932
7946
7949
7959
7972
7986
7998
8013
8028
8042
8049
8059
8074
8089
8103
8118
8132
8146
8161
8166
8180
8186
8201
8216
8231
8246
8260
8275
8290
8305
8317
8332
8347
8362
8376
8390
8405
8420
8420
8420
8420
8420
8429
8436
8450
8459
8471
8481
8496
8497
8503
8515
8524
8524
8530
8530
8530
8530
8530
8538
8547
8562
8576
8576
8582
8587
8599
8613
8646
8676
8711
8744
8775
8809
8834
8869
8903
8927
8958
8993
9007
9038
9069
9103
9138
9173
9204
9239
9268
9298
9331
9346
9379
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9409
9410
9415
9415
9415
9415
9420
9420
9425
9425
9430
9430
9435
9435
9440
9445
9445
9445
9445
9445
9445
9445
9450
9450
9455
9455
9455
9459
9463
9463
9463
9468
9473
9473
9473
9476
9480
9480
9483
9483
9486
9490
9490
9494
9499
9504
9508
9513
9515
9519
9523
9523
9523
9524
9524
9524
9524
9524
9527
9530
9535
9540
9542
9546
9546
9550
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9554
9555
9555
9555
9555
9560
9560
9565
9565
9569
9569
9573
9573
9578
9583
9583
9583
9583
9583
9583
9583
9588
9588
9593
9593
9593
9598
9603
9603
9603
9608
9613
9613
9613
9618
9623
9625
9627
9629
9632
9635
9635
9639
9641
9646
9650
9655
9655
9659
9663
9663
9663
9667
9667
9667
9669
9673
9677
9682
9687
9692
9696
9696
9696
9701
9706
9706
9709
9712
9712
9715
9715
9718
9722
9726
9730
9730
9730
9733
9737
9741
9746
9751
9751
9755
9759
9759
9759
9764
9764
9764
9764
9764
9769
9774
9779
9784
9788
9788
9788
9793
9798
9798
9801
9801
9801
9803
9803
9803
9808
9808
9812
9814
9819
9824
9829
9834
9839
9844
9848
9853
9858
9863
9865
9870
9874
9877
9882
9887
9892
9897
9902
9907
9910
9914
9916
9920
9925
9925
9928
9931
9931
9935
9935
9935
9935
9935
9940
9945
9950
9955
9960
9965
9970
9975
9980
9982
9986
9986
9986
9990
9994
10009
10024
10039
10054
10069
10079
10094
10109
10123
10137
10152
10152
10166
10181
10196
10211
10226
10241
10256
10271
10286
10301
10315
10328
10343
10343
10358
10373
10388
10403
10417
10417
10432
10447
10462
10477
10492
10507
10522
10537
10537
10552
10567
10582
10582
10587
10591
10591
10596
10596
10600
10605
10605
10605
10609
10609
10613
10617
10617
10621
10621
10626
10630
10630
10635
10639
10644
10649
10649
10654
10659
10659
10664
10669
10669
10674
10679
10684
