0
3
3
3
3
3
8
11
11
13
18
18
18
19
21
24
27
27
31
39
39
51
59
69
78
92
120
149
165
198
229
257
310
361
397
447
447
447
447
449
449
449
449
451
451
451
451
453
453
453
453
454
454
454
454
454
454
454
454
455
455
455
455
455
455
455
455
456
456
456
456
459
459
462
462
463
464
467
467
469
469
469
469
469
470
470
473
473
476
476
476
477
477
477
477
477
477
478
478
478
479
483
483
486
486
486
486
486
486
486
486
487
490
491
495
499
499
499
499
499
499
499
499
499
500
501
501
501
501
501
501
504
504
504
505
505
508
509
509
509
509
509
509
509
509
509
509
509
510
511
511
513
513
513
513
513
513
513
513
513
516
520
523
528
530
532
532
533
534
534
536
538
542
545
545
549
554
559
564
569
573
577
578
579
582
583
586
588
588
591
594
595
599
604
606
610
610
614
617
624
628
628
630
631
631
634
634
641
641
641
642
645
645
645
648
650
650
654
654
657
661
661
663
669
669
669
672
675
684
693
701
712
726
739
746
756
760
768
771
783
791
791
793
804
819
833
839
849
864
877
892
907
907
911
917
926
939
946
954
954
960
969
981
994
997
1002
1008
1011
1018
1029
1040
1053
1067
1079
1094
1109
1116
1144
1176
1207
1223
1238
1266
1292
1292
1317
1347
1375
1405
1440
1475
1506
1536
1565
1594
1622
1622
1647
1676
1704
1719
1735
1765
1783
1792
1821
1855
1886
1941
1984
2024
2085
2139
2184
2223
2277
2277
2277
2277
2278
2278
2278
2278
2278
2278
2278
2278
2278
2278
2278
2280
2280
2280
2280
2282
2282
2282
2282
2284
2284
2284
2284
2286
2286
2286
2286
2288
2288
2288
2288
2288
2288
2290
2292
2292
2292
2292
2292
2292
2292
2292
2292
2292
2292
2292
2292
2292
2292
2294
2294
2294
2295
2298
2298
2298
2298
2299
2299
2299
2300
2303
2304
2304
2304
2304
2304
2304
2304
2304
2306
2306
2306
2306
2307
2307
2307
2307
2307
2307
2307
2307
2309
2309
2309
2309
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2313
2313
2313
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2317
2317
2317
2319
2320
2320
2320
2320
2320
2320
2320
2320
2320
2321
2321
2321
2321
2321
2321
2321
2321
2321
2322
2322
2322
2322
2322
2322
2322
2323
2323
2323
2323
2323
2326
2327
2328
2328
2330
2330
2330
2330
2330
2330
2330
2330
2333
2333
2333
2333
2333
2333
2334
2334
2336
2338
2342
2344
2347
2349
2354
2358
2363
2363
2363
2363
2366
2369
2374
2377
2377
2381
2381
2386
2386
2389
2389
2391
2395
2398
2398
2402
2405
2408
2411
2414
2419
2421
2421
2426
2426
2431
2435
2435
2435
2436
2436
2436
2436
2439
2441
2443
2443
2446
2446
2446
2449
2454
2457
2457
2457
2457
2457
2457
2459
2464
2468
2468
2470
2470
2473
2473
2473
2473
2475
2475
2478
2481
2486
2489
2494
2494
2497
2497
2500
2502
2507
2507
2511
2511
2516
2516
2516
2518
2520
2520
2520
2520
2525
2525
2529
2533
2538
2538
2539
2540
2543
2543
2543
2543
2543
2543
2543
2543
2543
2543
2543
2543
2546
2546
2546
2546
2547
2550
2550
2550
2555
2559
2564
2564
2564
2564
2564
2564
2564
2564
2564
2564
2567
2567
2569
2572
2576
2579
2582
2586
2591
2591
2591
2592
2596
2600
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2606
2609
2612
2613
2618
2623
2628
2628
2630
2633
2637
2641
2646
2646
2647
2650
2654
2657
2662
2662
2662
2662
2662
2662
2662
2663
2667
2667
2667
2668
2669
2669
2669
2669
2671
2671
2671
2673
2676
2679
2681
2684
2688
2690
2691
2693
2698
2702
2707
2707
2707
2707
2707
2707
2707
2707
2707
2707
2707
2709
2709
2709
2713
2715
2716
2717
2721
2725
2730
2730
2730
2730
2732
2732
2732
2732
2734
2738
2738
2738
2738
2743
2746
2746
2751
2751
2754
2754
2760
2770
2773
2782
2796
2811
2811
2814
2822
2836
2844
2858
2858
2873
2876
2889
2899
2909
2920
2929
2944
2956
2964
2972
2981
2996
2999
3005
3011
3018
3018
3025
3025
3031
3042
3048
3053
3063
3078
3092
3102
3112
3127
3137
3147
3156
3171
3186
3186
3186
3186
3186
3195
3205
3220
3235
3238
3238
3238
3240
3240
3240
3249
3263
3278
3278
3278
3279
3284
3284
3292
3301
3310
3320
3330
3345
3357
3357
3362
3375
3390
3390
3390
3392
3392
3392
3392
3392
3392
3394
3402
3416
3431
3440
3450
3464
3476
3481
3482
3492
3506
3506
3512
3512
3512
3512
3521
3521
3531
3537
3549
3561
3564
3573
3585
3600
3600
3600
3603
3603
3609
3619
3622
3630
3644
3658
3661
3661
3667
3672
3683
3709
3743
3773
3807
3840
3868
3901
3927
3958
3989
4017
4042
4072
4107
4133
4162
4190
4220
4230
4265
4296
4325
4346
4377
4412
4438
4471
4497
4497
4497
4497
4497
4497
4497
4497
4497
4497
4497
4499
4502
4502
4502
4503
4503
4503
4503
4503
4503
4503
4505
4505
4505
4505
4505
4505
4505
4505
4505
4509
4509
4509
4512
4516
4516
4516
4516
4516
4516
4516
4516
4517
4519
4519
4519
4519
4520
4520
4520
4520
4523
4528
4528
4531
4536
4536
4536
4539
4543
4543
4547
4552
4557
4562
4564
4564
4568
4572
4572
4572
4572
4572
4576
4576
4580
4584
4584
4587
4591
4591
4591
4592
4594
4594
4598
4598
4598
4598
4598
4598
4603
4608
4608
4613
4615
4618
4618
4622
4622
4622
4624
4627
4627
4631
4633
4636
4636
4640
4640
4640
4641
4641
4643
4643
4643
4643
4645
4647
4647
4649
4649
4652
4655
4657
4659
4659
4661
4664
4664
4664
4664
4664
4664
4664
4664
4668
4672
4672
4672
4672
4672
4672
4673
4675
4675
4678
4678
4681
4685
4685
4685
4689
4693
4693
4693
4693
4693
4693
4693
4693
4693
4696
4701
4706
4711
4711
4711
4711
4711
4715
4715
4718
4722
4722
4722
4722
4725
4725
4729
4729
4731
4731
4736
4741
4744
4749
4754
4759
4759
4759
4759
4759
4759
4759
4762
4767
4772
4777
4781
4781
4781
4784
4788
4788
4789
4789
4789
4790
4790
4790
4790
4790
4790
4790
4790
4790
4790
4794
4798
4802
4807
4812
4817
4818
4818
4822
4826
4826
4826
4826
4826
4826
4826
4826
4830
4830
4830
4833
4833
4833
4833
4836
4836
4836
4836
4836
4836
4838
4838
4838
4840
4843
4845
4845
4845
4849
4853
4853
4853
4853
4853
4853
4853
4853
4853
4853
4853
4853
4853
4853
4853
4857
4857
4857
4860
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4865
4869
4869
4872
4872
4872
4877
4877
4892
4907
4907
4917
4932
4947
4962
4977
4991
5006
5016
5026
5041
5056
5071
5086
5101
5111
5126
5136
5146
5156
5171
5181
5196
5196
5206
5216
5230
5245
5245
5260
5270
5285
5300
5315
5315
5325
5340
5350
5365
5380
5390
5405
5420
5420
5430
5445
5460
5460
5460
5464
5464
5464
5464
5468
5472
5477
5477
5477
5482
5486
5486
5490
5490
5494
5498
5498
5503
5507
5507
5512
5516
5516
5520
5525
5530
5535
5535
5540
5540
5540
5545
5550
5555
5560
5565
5570
5575
5578
5578
5578
5578
5578
5583
5586
5586
5588
5593
5593
5593
5594
5596
5599
5602
5602
5606
5613
5613
5623
5631
5640
5649
5660
5691
5721
5736
5769
5800
5828
5880
5932
5966
6008
6008
6008
6008
6011
6011
6011
6013
6015
6015
6015
6015
6018
6018
6018
6018
6021
6021
6021
6021
6021
6021
6021
6021
6022
6022
6022
6022
6022
6022
6022
6022
6023
6023
6023
6026
6029
6032
6036
6039
6044
6047
6051
6054
6057
6060
6063
6065
6069
6074
6074
6079
6081
6086
6086
6088
6089
6089
6089
6089
6090
6090
6091
6093
6097
6100
6105
6105
6109
6109
6110
6112
6115
6120
6125
6130
6135
6140
6145
6150
6155
6155
6155
6155
6158
6158
6158
6160
6161
6166
6166
6166
6168
6168
6168
6168
6171
6171
6171
6176
6178
6183
6184
6187
6187
6190
6193
6193
6196
6200
6200
6202
6207
6209
6212
6217
6220
6221
6224
6227
6230
6235
6238
6243
6248
6253
6258
6263
6268
6272
6277
6282
6287
6292
6295
6298
6301
6306
6310
6310
6314
6319
6324
6329
6334
6338
6342
6344
6347
6352
6354
6357
6360
6365
6368
6371
6376
6381
6386
6391
6396
6396
6403
6405
6416
6419
6426
6439
6449
6449
6452
6452
6464
6467
6477
6491
6502
6502
6504
6513
6522
6522
6526
6535
6538
6544
6551
6559
6565
6566
6566
6574
6584
6594
6604
6617
6630
6645
6658
6669
6681
6691
6706
6715
6729
6738
6738
6749
6760
6775
6789
6804
6819
6834
6849
6864
6879
6893
6902
6915
6930
6942
6951
6959
6968
6977
6992
7006
7020
7031
7043
7049
7064
7076
7088
7102
7117
7132
7147
7162
7177
7183
7209
7239
7270
7284
7298
7326
7352
7352
7377
7407
7435
7465
7500
7535
7566
7596
7624
7655
7682
7682
7708
7738
7765
7782
7812
7843
7861
7870
7899
7932
7963
8017
8054
8093
8150
8204
8245
8279
8334
8334
8334
8334
8335
8335
8335
8335
8337
8337
8337
8338
8338
8339
8341
8346
8346
8348
8348
8352
8352
8352
8352
8354
8354
8354
8354
8356
8356
8358
8358
8361
8361
8361
8361
8364
8365
8368
8371
8371
8371
8371
8371
8371
8371
8374
8374
8375
8378
8383
8383
8383
8385
8388
8388
8390
8393
8396
8396
8397
8400
8402
8402
8402
8406
8410
8411
8411
8411
8411
8411
8411
8411
8415
8420
8420
8420
8420
8422
8422
8422
8422
8423
8423
8423
8423
8426
8426
8426
8426
8429
8429
8429
8429
8429
8430
8430
8430
8430
8430
8434
8439
8439
8442
8443
8445
8448
8450
8450
8450
8450
8450
8454
8454
8454
8454
8454
8454
8457
8458
8458
8461
8462
8464
8467
8467
8467
8467
8469
8469
8469
8472
8472
8473
8476
8477
8478
8478
8478
8478
8481
8481
8483
8485
8485
8487
8490
8493
8497
8497
8501
8503
8508
8511
8512
8512
8517
8517
8517
8517
8517
8517
8521
8525
8530
8530
8530
8534
8537
8542
8547
8550
8553
8557
8562
8566
8569
8573
8578
8583
8588
8589
8594
8597
8602
8607
8612
8615
8617
8621
8625
8630
8634
8637
8637
8640
8644
8648
8653
8658
8663
8666
8671
8676
8681
8685
8690
8695
8699
8704
8709
8711
8714
8719
8721
8724
8729
8734
8739
8744
8747
8752
8756
8756
8761
8766
8770
8770
8771
8774
8776
8776
8780
8785
8790
8795
8800
8800
8803
8808
8812
8817
8822
8827
8832
8837
8842
8846
8851
8856
8861
8865
8870
8874
8879
8880
8885
8888
8893
8894
8897
8899
8903
8907
8911
8916
8921
8926
8931
8936
8941
8945
8950
8954
8959
8959
8961
8961
8961
8961
8961
8961
8961
8961
8963
8963
8967
8967
8968
8968
8969
8974
8978
8983
8988
8993
8998
8998
8998
9001
9004
9007
9007
9007
9007
9007
9011
9015
9019
9024
9029
9032
9037
9042
9047
9051
9056
9060
9065
9070
9075
9075
9075
9075
9078
9081
9085
9089
9094
9098
9102
9107
9112
9114
9117
9122
9127
9132
9137
9142
9147
9152
9157
9162
9167
9172
9177
9182
9187
9192
9197
9200
9205
9210
9215
9220
9225
9230
9235
9240
9245
9245
9245
9248
9248
9251
9256
9260
9265
9269
9274
9278
9281
9281
9284
9284
9289
9292
9292
9296
9300
9303
9307
9312
9317
9321
9326
9331
9336
9341
9346
9347
9347
9347
9347
9350
9354
9358
9362
9365
9368
9371
9374
9379
9384
9388
9393
9398
9403
9408
9413
9415
9418
9421
9424
9428
9433
9435
9440
9445
9450
9450
9450
9460
9475
9475
9480
9481
9488
9501
9516
9531
9544
9559
9574
9589
9589
9603
9618
9633
9647
9661
9671
9686
9689
9701
9710
9720
9731
9740
9755
9767
9775
9783
9790
9805
9810
9822
9834
9839
9839
9844
9854
9867
9882
9897
9907
9922
9937
9952
9967
9982
9997
10012
10021
10035
10050
10065
10065
10065
10065
10065
10075
10090
10105
10120
10135
10137
10137
10137
10137
10147
10162
10177
10192
10203
10213
10225
10239
10239
10246
10255
10262
10269
10284
10298
10310
10314
10319
10331
10345
10345
10345
10360
10360
10361
10364
10370
10376
10391
10406
10421
10436
10448
10463
10478
10490
10500
10514
10529
10544
10546
10561
10561
10564
10578
10591
10601
10613
10628
10643
10655
10670
10685
10699
10714
10720
10730
10741
10754
10769
10781
10796
10811
10826
10841
10846
10856
10870
10885
10897
10928
10962
10997
11032
11065
11096
11130
11160
11191
11222
11249
11274
11305
11339
11370
11400
11428
11458
11493
11528
11559
11594
11624
11654
11688
11719
11753
11784
11784
11784
11784
11784
11784
11784
11784
11784
11784
11784
11788
11792
11795
11795
11798
11798
11798
11798
11798
11798
11798
11802
11802
11804
11804
11804
11805
11807
11807
11812
11817
11817
11817
11822
11827
11827
11827
11827
11827
11827
11830
11830
11834
11838
11838
11838
11838
11841
11841
11841
11841
11846
11851
11851
11856
11861
11861
11861
11866
11870
11870
11875
11880
11885
11890
11893
11893
11898
11903
11903
11903
11903
11903
11908
11911
11916
11920
11924
11929
11934
11938
11938
11941
11945
11945
11950
11950
11950
11953
11955
11955
11960
11965
11965
11970
11974
11979
11979
11984
11984
11987
11992
11997
11997
12002
12005
12010
12014
12019
12021
12024
12028
12028
12032
12032
12032
12034
12036
12040
12040
12044
12044
12048
12053
12055
12059
12059
12063
12064
12064
12064
12064
12064
12064
12064
12064
12069
12074
12074
12077
12081
12081
12083
12087
12091
12091
12093
12095
12100
12105
12105
12105
12110
12115
12115
12115
12115
12115
12115
12115
12118
12122
12126
12131
12136
12141
12141
12141
12141
12141
12145
12149
12154
12159
12163
12163
12163
12167
12172
12177
12181
12185
12190
12195
12200
12205
12210
12215
12220
12220
12224
12224
12224
12224
12224
12229
12234
12239
12244
12246
12250
12255
12260
12265
12265
12268
12271
12271
12273
12274
12274
12274
12274
12274
12279
12280
12281
12286
12291
12296
12301
12306
12311
12316
12321
12326
12331
12336
12336
12339
12339
12339
12339
12339
12343
12348
12353
12357
12362
12365
12370
12371
12376
12376
12379
12382
12385
12390
12395
12400
12405
12409
12414
12419
12423
12428
12433
12438
12438
12438
12438
12438
12438
12438
12438
12441
12445
12445
12445
12445
12445
12450
12455
12455
12455
12460
12465
12465
12465
12465
12466
12468
12468
12468
12468
12471
12471
12471
12471
12471
12475
12475
12475
12475
12480
12480
12485
12485
12485
12490
12490
12505
12520
12520
12535
12550
12565
12579
12594
12609
12624
12639
12654
12669
12684
12699
12714
12729
12744
12759
12774
12789
12804
12819
12829
12844
12844
12859
12874
12888
12903
12903
12918
12933
12948
12963
12978
12990
13004
13018
13032
13047
13062
13077
13092
13107
13107
13122
13137
13152
13152
13152
13156
13156
13156
13156
13160
13164
13169
13169
13169
13174
13178
13178
13182
13182
13186
13190
13190
13195
13199
13199
13204
13208
13208
13212
13217
13222
13227
13227
13232
13232
13232
13237
13242
13247
13252
13257
13262
13267
