0
0
2
2
2
4
4
4
6
8
8
8
8
10
10
10
10
12
13
13
15
15
15
16
19
22
22
25
25
29
29
29
32
32
32
35
35
37
37
37
38
38
38
44
49
49
49
49
55
55
55
55
57
65
73
80
81
87
90
90
108
121
121
132
149
166
168
205
247
287
330
330
330
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
332
332
332
333
333
333
335
337
337
337
337
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
343
346
349
349
349
349
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
355
355
355
355
356
357
357
360
362
362
365
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
369
371
371
373
376
376
379
379
379
379
380
380
381
383
388
393
397
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
404
404
404
406
408
409
409
409
409
409
409
412
415
419
419
419
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
422
427
427
427
437
443
443
449
454
454
454
454
455
458
460
471
471
476
476
485
485
485
485
485
485
494
497
502
502
511
511
511
511
511
517
523
527
534
547
562
562
562
562
562
562
567
567
570
570
570
570
570
572
572
573
573
575
575
575
575
575
576
576
576
581
581
584
591
600
614
614
616
638
653
662
671
686
700
725
752
752
754
768
796
807
807
810
825
851
885
886
887
887
910
910
910
910
910
910
914
920
923
938
964
998
1049
1091
1145
1207
1214
1239
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1306
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1307
1309
1309
1310
1310
1310
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1311
1313
1313
1314
1314
1314
1316
1318
1318
1318
1320
1324
1324
1328
1328
1328
1328
1328
1328
1328
1331
1331
1331
1331
1335
1338
1340
1342
1342
1342
1344
1344
1344
1344
1344
1344
1344
1346
1346
1346
1346
1348
1348
1348
1348
1348
1348
1348
1348
1348
1351
1351
1351
1351
1354
1354
1354
1354
1354
1354
1354
1354
1354
1354
1354
1354
1354
1357
1357
1359
1359
1359
1359
1359
1359
1360
1360
1360
1360
1360
1360
1360
1360
1360
1360
1361
1362
1362
1364
1364
1364
1364
1364
1364
1364
1364
1367
1368
1371
1374
1379
1379
1379
1380
1380
1380
1383
1383
1386
1386
1386
1386
1386
1386
1386
1386
1386
1386
1386
1386
1386
1386
1387
1387
1387
1387
1389
1389
1392
1394
1398
1398
1400
1400
1402
1402
1402
1402
1402
1402
1402
1402
1404
1404
1404
1404
1404
1404
1404
1406
1406
1406
1406
1406
1406
1406
1410
1412
1412
1416
1420
1420
1420
1420
1420
1420
1422
1422
1422
1422
1422
1422
1422
1423
1423
1423
1423
1426
1426
1426
1426
1426
1426
1426
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1427
1431
1432
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1434
1435
1435
1435
1435
1435
1435
1435
1435
1435
1437
1437
1437
1437
1437
1437
1438
1438
1438
1438
1438
1438
1443
1452
1452
1452
1455
1463
1472
1472
1472
1472
1481
1481
1490
1490
1493
1500
1500
1500
1500
1500
1500
1505
1505
1505
1505
1514
1514
1522
1522
1522
1525
1525
1525
1525
1525
1526
1529
1529
1529
1534
1547
1562
1577
1577
1584
1584
1590
1590
1590
1590
1591
1591
1593
1595
1600
1613
1628
1642
1642
1642
1642
1642
1642
1645
1645
1654
1664
1664
1664
1664
1665
1665
1665
1668
1668
1668
1669
1671
1671
1671
1680
1686
1686
1686
1686
1686
1686
1686
1692
1696
1696
1696
1702
1716
1716
1716
1716
1725
1725
1725
1725
1725
1725
1725
1725
1735
1766
1799
1833
1865
1891
1925
1945
1976
1986
1989
2020
2055
2069
2084
2118
2152
2187
2198
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2233
2234
2234
2237
2237
2237
2237
2237
2237
2238
2238
2238
2238
2238
2238
2238
2238
2238
2238
2238
2238
2238
2241
2245
2245
2245
2245
2245
2245
2245
2245
2245
2245
2245
2245
2245
2245
2248
2252
2252
2252
2252
2252
2252
2252
2255
2256
2256
2256
2256
2256
2256
2256
2256
2259
2259
2259
2259
2259
2259
2259
2259
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2266
2268
2268
2268
2271
2274
2274
2274
2274
2277
2277
2277
2277
2277
2277
2277
2281
2281
2281
2281
2281
2281
2281
2281
2281
2281
2281
2281
2281
2281
2281
2284
2288
2288
2288
2288
2288
2288
2288
2298
2308
2313
2323
2333
2333
2333
2343
2353
2363
2363
2373
2373
2383
2398
2413
2423
2438
2448
2458
2468
2473
2478
2483
2488
2493
2498
2503
2503
2504
2505
2505
2507
2509
2510
2512
2514
2514
2515
2515
2519
2519
2521
2521
2523
2527
2530
2532
2536
2536
2540
2543
2547
2547
2551
2552
2556
2559
2560
2564
2566
2569
2573
2573
2578
2585
2585
2591
2602
2604
2612
2623
2623
2633
2641
2652
2656
2668
2674
2688
2700
2712
2724
2724
2737
2758
2758
2782
2811
2822
2848
2872
2897
2897
2933
2977
3004
3035
3035
3035
3036
3036
3036
3036
3036
3036
3036
3036
3036
3036
3036
3038
3038
3038
3039
3039
3041
3041
3041
3041
3041
3041
3041
3041
3043
3043
3043
3043
3043
3043
3043
3043
3043
3043
3043
3043
3043
3043
3044
3044
3044
3045
3045
3048
3050
3053
3055
3055
3057
3059
3060
3060
3061
3061
3061
3061
3061
3061
3061
3061
3061
3061
3064
3066
3066
3068
3070
3071
3071
3072
3073
3074
3076
3076
3076
3077
3077
3077
3079
3081
3081
3081
3083
3086
3089
3091
3093
3095
3095
3097
3097
3099
3101
3101
3101
3101
3101
3103
3103
3103
3103
3107
3112
3115
3119
3124
3128
3133
3138
3143
3147
3152
3156
3156
3156
3156
3158
3158
3160
3161
3164
3166
3166
3168
3170
3172
3172
3172
3172
3176
3176
3176
3176
3178
3178
3178
3178
3180
3180
3182
3182
3184
3187
3190
3190
3194
3197
3201
3203
3205
3206
3206
3206
3206
3206
3206
3206
3209
3211
3211
3213
3213
3213
3216
3219
3222
3226
3228
3231
3236
3240
3244
3249
3250
3252
3255
3258
3261
3262
3266
3271
3274
3278
3278
3279
3282
3282
3285
3289
3292
3296
3301
3304
3306
3308
3312
3316
3317
3321
3325
3329
3334
3338
3342
3347
3352
3357
3361
3366
3371
3376
3381
3386
3386
3388
3390
3392
3392
3392
3396
3396
3396
3396
3396
3396
3399
3403
3405
3409
3413
3417
3421
3426
3430
3435
3435
3437
3439
3439
3443
3447
3452
3457
3457
3457
3461
3461
3461
3461
3461
3461
3463
3463
3463
3463
3464
3469
3469
3469
3471
3481
3494
3494
3494
3494
3496
3498
3498
3498
3498
3500
3500
3500
3501
3502
3502
3506
3515
3527
3533
3535
3537
3551
3559
3569
3577
3588
3600
3600
3607
3616
3624
3634
3647
3659
3666
3678
3691
3701
3704
3709
3711
3720
3733
3743
3750
3761
3775
3780
3789
3803
3818
3832
3847
3862
3877
3892
3907
3907
3912
3923
3928
3939
3951
3951
3965
3971
3971
3972
3979
3989
3991
4005
4019
4034
4043
4046
4052
4057
4066
4075
4086
4095
4109
4124
4139
4154
4169
4171
4181
4204
4219
4231
4238
4253
4280
4309
4336
4336
4336
4350
4374
4386
4386
4420
4455
4490
4525
4532
4545
4567
4598
4618
4628
4663
4683
4703
4732
4757
4792
4826
4861
4895
4951
4981
5040
5105
5136
5197
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5262
5264
5264
5264
5264
5264
5266
5266
5266
5266
5266
5266
5267
5267
5267
5269
5269
5269
5269
5271
5271
5273
5276
5277
5279
5279
5279
5279
5279
5279
5279
5281
5281
5284
5284
5287
5291
5291
5291
5291
5291
5291
5292
5292
5292
5295
5295
5295
5298
5299
5299
5299
5299
5299
5299
5303
5303
5307
5307
5307
5307
5307
5307
5307
5307
5307
5307
5307
5307
5307
5307
5307
5308
5310
5310
5310
5310
5310
5310
5310
5310
5313
5313
5313
5313
5313
5313
5313
5315
5319
5319
5319
5319
5321
5321
5321
5321
5321
5321
5322
5322
5322
5324
5325
5328
5330
5333
5335
5335
5338
5342
5343
5347
5348
5349
5351
5351
5352
5352
5353
5356
5359
5360
5363
5366
5369
5370
5373
5375
5375
5376
5379
5381
5386
5391
5393
5393
5393
5396
5399
5403
5406
5410
5415
5420
5425
5425
5425
5425
5425
5428
5432
5436
5441
5446
5451
5456
5461
5463
5465
5465
5468
5470
5471
5474
5477
5482
5487
5491
5495
5498
5502
5506
5510
5513
5517
5522
5527
5530
5532
5536
5538
5542
5546
5550
5550
5555
5555
5555
5555
5556
5559
5560
5560
5563
5566
5571
5576
5579
5583
5585
5589
5589
5589
5592
5596
5597
5601
5603
5608
5611
5616
5620
5621
5624
5628
5632
5635
5640
5645
5648
5648
5648
5653
5658
5663
5668
5673
5678
5683
5688
5693
5698
5702
5705
5709
5709
5709
5713
5716
5720
5724
5728
5728
5730
5734
5739
5739
5744
5749
5754
5758
5762
5765
5769
5769
5773
5778
5783
5788
5793
5798
5803
5803
5807
5807
5811
5813
5813
5816
5816
5818
5818
5818
5821
5821
5822
5825
5828
5828
5829
5833
5836
5837
5841
5846
5851
5856
5861
5866
5871
5876
5881
5881
5881
5883
5883
5883
5886
5888
5889
5893
5898
5898
5900
5905
5909
5913
5916
5920
5925
5928
5932
5935
5935
5935
5938
5943
5948
5953
5956
5960
5965
5965
5965
5965
5965
5970
5975
5980
5980
5985
5990
5994
5999
6004
6009
6014
6019
6024
6029
6032
6037
6040
6045
6050
6055
6060
6065
6070
6075
6080
6085
6087
6090
6090
6090
6090
6090
6090
6093
6095
6099
6102
6103
6105
6108
6112
6116
6120
6123
6123
6123
6125
6128
6132
6137
6137
6137
6142
6147
6152
6157
6157
6157
6167
6167
6167
6167
6172
6172
6185
6198
6198
6198
6207
6222
6237
6237
6240
6245
6260
6273
6288
6294
6307
6321
6322
6322
6322
6330
6340
6354
6357
6369
6383
6398
6408
6423
6426
6433
6441
6448
6455
6455
6463
6473
6483
6483
6483
6493
6508
6523
6538
6548
6561
6574
6588
6603
6617
6627
6638
6650
6664
6675
6690
6705
6720
6735
6735
6740
6740
6740
6740
6752
6765
6780
6795
6798
6807
6807
6817
6832
6834
6847
6853
6859
6873
6885
6900
6915
6930
6945
6945
6945
6945
6945
6945
6945
6960
6972
6972
6972
6987
7002
7002
7002
7008
7022
7022
7022
7022
7029
7029
7029
7029
7044
7073
7105
7139
7173
7205
7240
7269
7300
7334
7365
7396
7431
7464
7498
7533
7568
7603
7638
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7673
7676
7680
7680
7683
7684
7688
7688
7688
7688
7688
7690
7695
7700
7700
7700
7703
7707
7707
7707
7707
7707
7707
7707
7709
7714
7719
7719
7720
7720
7722
7722
7722
7722
7722
7722
7723
7725
7725
7727
7732
7737
7737
7737
7737
7737
7737
7739
7744
7749
7749
7749
7752
7756
7756
7756
7757
7761
7761
7761
7761
7763
7763
7766
7766
7771
7771
7771
7771
7771
7771
7771
7771
7771
7771
7771
7772
7774
7774
7774
7774
7777
7781
7781
7781
7781
7781
7781
7781
7786
7791
7796
7796
7801
7806
7811
7811
7811
7814
7819
7819
7819
7819
7823
7823
7823
7828
7833
7833
7833
7833
7833
7833
7833
7833
7833
7833
7836
7840
7840
7842
7847
7852
7852
7855
7855
7855
7859
7859
7869
7879
7889
7899
7909
7909
7909
7919
7934
7944
7944
7959
7959
7974
7989
8004
8019
8034
8049
8064
8079
8084
8089
8094
8099
8104
8109
8114
