0
3
10
19
23
30
38
43
52
55
63
67
74
81
90
97
101
107
114
121
129
133
139
146
151
160
164
166
174
178
187
195
203
208
219
227
231
237
243
252
258
267
271
276
284
290
297
305
309
317
322
330
338
347
353
361
365
369
375
382
387
392
399
406
410
417
423
430
437
443
448
456
463
473
483
490
495
499
506
511
515
521
527
536
543
549
557
565
574
583
590
595
599
603
611
618
623
629
637
644
650
658
665
672
677
683
689
695
702
710
718
721
728
737
743
746
752
758
766
774
778
785
791
799
807
810
819
827
833
836
841
847
854
858
863
869
873
882
889
896
902
907
913
919
929
935
939
946
950
955
960
968
976
985
988
991
1000
1008
1013
1020
1028
1036
1043
1050
1054
1056
1065
1071
1077
1085
1088
1095
1100
1106
1114
1121
1125
1129
1132
1140
1147
1153
1159
1169
1173
1177
1181
1182
1188
1192
1198
1206
1210
1214
1219
1227
1231
1235
1242
1249
1256
1264
1272
1280
1283
1287
1295
1299
1307
1315
1323
1330
1337
1344
1352
1355
1363
1367
1369
1375
1384
1389
1396
1405
1411
1415
1417
1424
1431
1439
1446
1455
1463
1472
1479
1486
1494
1500
1504
1508
1515
1521
1527
1534
1541
1550
1557
1560
1565
1573
1578
1585
1591
1599
1604
1612
1617
1624
1629
1635
1642
1650
1654
1662
1668
1675
1681
1689
1694
1697
1703
1710
1715
1721
1729
1736
1743
1749
1752
1756
1761
1765
1769
1775
1779
1785
1792
1796
1802
1810
1816
1823
1829
1837
1843
1849
1856
1860
1864
1867
1873
1879
1885
1894
1898
1905
1910
1916
1923
1929
1934
1941
1949
1953
1956
1962
1968
1974
1982
1990
1996
2002
2006
2013
2020
2028
2036
2044
2050
2054
2062
2069
2075
2081
2089
2095
2098
2105
2111
2116
2121
2128
2132
2135
2138
2144
2148
2157
2163
2171
2175
2182
2190
2192
2198
2202
2207
2215
2222
2228
2232
2236
2241
2246
2252
2258
2262
2268
2274
2279
2286
2289
2291
2297
2305
2309
2313
2314
2318
2323
2329
2336
2342
2345
2348
2351
2357
2363
2367
2374
2378
2382
2388
2394
2402
2409
2416
2424
2430
2438
2442
2449
2453
2457
2464
2468
2474
2478
2485
2488
2491
2497
2501
2505
2511
2513
2516
2522
2526
2532
2538
2545
2548
2555
2562
2569
2576
2580
2585
2589
2595
2601
2604
2613
2619
2625
2630
2636
2643
2650
2656
2662
2670
2672
2678
2684
2689
2693
2698
2705
2713
2720
2724
2727
2732
2735
2738
2740
2743
2746
2752
2756
2760
2766
2771
2779
2787
2792
2799
2806
2812
2817
2823
2827
2833
2839
2845
2852
2855
2859
2864
2870
2876
2880
2885
2890
2896
2903
2906
2909
2916
2920
2926
2932
2940
2947
2953
2960
2965
2969
2975
2982
2985
2990
2994
3000
3005
3010
3017
3021
3028
3032
3039
3042
3049
3056
3062
3065
3069
3072
3079
3088
3093
3100
3106
3110
3114
3122
3129
3136
3141
3145
3151
3157
3162
3165
3171
3177
3181
3185
3191
3197
3204
3208
3211
3216
3220
3225
3231
3237
3244
3251
3257
3260
3264
3270
3278
3283
3289
3295
3299
3305
3311
3315
3317
3324
3329
3332
3337
3340
3344
3348
3352
3359
3366
3372
3377
3384
3389
3392
3396
3402
3405
3409
3416
3422
3428
3434
3442
3448
3454
3459
3467
3469
3476
3482
3486
3492
3500
3507
3512
3520
3524
3531
3537
3539
3544
3547
3553
3556
3560
3565
3571
3574
3578
3584
3590
3592
3594
3599
3605
3606
3611
3615
3621
3627
3634
3641
3643
3647
3653
3658
3664
3669
3675
3681
3685
3691
3697
3701
3708
3714
3719
3723
3729
3735
3739
3746
3751
3757
3762
3770
3778
3784
3789
3794
3799
3805
3810
3817
3821
3827
3830
3834
3839
3845
3851
3858
3864
3869
3874
3880
3884
3889
3895
3898
3905
3911
3917
3923
3927
3933
3939
3943
3949
3955
3957
3964
3971
3975
3981
3987
3992
3995
3997
4003
4006
4012
4017
4023
4027
4033
4040
4045
4050
4053
4059
4063
4066
4070
4074
4076
4083
4086
4093
4098
4104
4108
4113
4117
4123
4125
4129
4131
4134
4139
4144
4149
4155
4161
4165
4171
4176
4178
4181
4188
4195
4201
4209
4213
4217
4220
4224
4228
4234
4238
4241
4247
4249
4252
4254
4259
4264
4271
4277
4281
4284
4290
4293
4298
4302
4309
4314
4320
4322
4330
4336
4342
4348
4352
4357
4361
4367
4370
4376
4382
4386
4392
4393
4395
4401
4406
4411
4417
4419
4426
4428
4432
4436
4442
4445
4452
4454
4457
4462
4468
4473
4476
4479
4484
4489
4493
4499
4504
4508
4512
4515
4521
4526
4531
4536
4540
4543
4547
4551
4559
4564
4569
4574
4580
4586
4591
4597
4602
4607
4611
4614
4618
4621
4625
4629
4634
4637
4643
4648
4654
4661
4666
4670
4674
4679
4683
4688
4693
4694
4695
4700
4706
4712
4714
4718
4723
4726
4730
4735
4738
4745
4748
4752
4757
4762
4768
4772
4777
4782
4787
4790
4792
4795
4798
4804
4805
4808
4815
4819
4825
4827
4832
4838
4844
4849
4854
4860
4864
4867
4872
4878
4884
4889
4893
4896
4900
4904
4906
4911
4914
4917
4923
4927
4932
4938
4940
4943
4949
4955
4962
4965
4970
4976
4979
4983
4988
4993
4997
4999
5002
5006
5010
5014
5019
5022
5024
5027
5032
5037
5040
5046
5051
5056
5059
5063
5065
5068
5070
5075
5078
5084
5086
5093
5097
5103
5107
5109
5113
5114
5118
5120
5123
5127
5131
5134
5139
5143
5149
5153
5154
5157
5161
5164
5170
5175
5178
5182
5185
5188
5193
5197
5202
5206
5207
5211
5212
5217
5220
5225
5230
5233
5239
5244
5249
5254
5256
5262
5266
5271
5273
5277
5279
5284
5288
5290
5296
5300
5303
5309
5313
5316
5320
5324
5329
5333
5338
5342
5347
5352
5356
5357
5360
5364
5368
5372
5377
5383
5388
5392
5395
5397
5403
5407
5408
5414
5418
5420
5422
5424
5428
5432
5436
5441
5444
5447
5449
5454
5459
5462
5465
5468
5471
5474
5477
5481
5486
5491
5494
5496
5497
5500
5505
5509
5514
5516
5520
5525
5529
5532
5537
5541
5545
5551
5556
5560
5563
5565
5570
5571
5574
5575
5580
5585
5588
5592
5595
5599
5603
5607
5609
5614
5618
5621
5625
5629
5630
5636
5637
5640
5642
5645
5648
5650
5654
5658
5662
5666
5670
5672
5676
5681
5685
5689
5693
5697
5699
5703
5707
5709
5713
5716
5719
5722
5725
5729
5733
5736
5738
5741
5745
5749
5754
5757
5759
5765
5770
5773
5777
5780
5782
5784
5787
5790
5793
5796
5800
5804
5809
5812
5817
5821
5825
5827
5829
5834
5839
5845
5848
5853
5857
5859
5864
5867
5868
5873
5878
5881
5883
5884
5888
5892
5896
5901
5905
5907
5909
5913
5916
5920
5925
5930
5934
5935
5939
5943
5946
5948
5951
5954
5959
5963
5965
5966
5969
5973
5975
5978
5983
5987
5991
5995
5997
6002
6006
6012
6014
6018
6021
6024
6027
6029
6031
6036
6039
6044
6045
6048
6053
6058
6062
6066
6070
6074
6076
6081
6084
6088
6090
6095
6099
6103
6104
6107
6112
6115
6119
6122
6125
6130
6134
6138
6141
6144
6148
6152
6155
6156
6159
6162
6164
6167
6172
6177
6181
6185
6190
6194
6197
6200
6205
6207
6210
6213
6216
6217
6220
6224
6228
6233
6237
6240
6242
6246
6249
6253
6255
6257
6260
6265
6268
6271
6273
6277
6281
6285
6287
6290
6292
6296
6299
6303
6305
6308
6312
6314
6318
6323
6325
6329
6332
6333
6336
6338
6340
6343
6348
6351
6355
6358
6361
6364
6365
6367
6370
6373
6376
6379
6380
6382
6385
6387
6390
6392
6394
6398
6401
6404
6405
6409
6412
6414
6418
6421
6424
6427
6430
6434
6438
6442
6445
6449
6450
6453
6457
6461
6463
6467
6470
6474
6476
6480
6485
6487
6491
6495
6499
6502
6506
6510
6513
6515
6518
6521
6523
6527
6528
6530
6531
6533
6536
6538
6541
6543
6547
6550
6554
6557
6559
6563
6565
6566
6570
6572
6576
6580
6583
6585
6587
6588
6590
6594
6597
6600
6602
6604
6606
6607
6610
6613
6616
6619
6623
6625
6629
6634
6638
6640
6643
6646
6650
6654
6658
6662
6664
6669
6673
6675
6678
6681
6685
6689
6693
6696
6698
6701
6702
6706
6708
6712
6716
6720
6721
6723
6726
6728
6731
6733
6736
6738
6742
6744
6747
6750
6753
6756
6759
6761
6765
6767
6772
6773
6777
6780
6781
6784
6786
6789
6793
6796
6799
6803
6807
6809
6812
6815
6817
6820
6823
6826
6829
6831
6834
6837
6841
6844
6845
6849
6851
6852
6854
6857
6859
6860
6862
6864
6867
6870
6873
6876
6878
6882
6886
6887
6891
6894
6898
6899
6903
6907
6908
6909
6911
6914
6916
6918
6921
6923
6925
6928
6930
6934
6938
6942
6946
6950
6953
6955
6958
6961
6965
6968
6971
6972
6974
6975
6978
6981
6983
6985
6986
6988
6991
6993
6997
7001
7005
7008
7011
7015
7018
7021
7024
7027
7029
7033
7037
7039
7042
7044
7047
7048
7049
7052
7053
7055
7059
7063
7066
7069
7071
7074
7076
7078
7079
7082
7083
7085
7087
7090
7092
7094
7097
7099
7102
7104
7108
7111
7114
7117
7119
7122
7125
7128
7130
7132
7135
7137
7140
7142
7145
7148
7151
7153
7156
7159
7159
7162
7165
7169
7170
7172
7175
7177
7180
7183
7186
7187
7190
7192
7194
7197
7199
7202
7206
7208
7211
7213
7215
7216
7219
7222
7225
7227
7229
7232
7233
7235
7237
7240
7242
7245
7248
7250
7252
7254
7255
7257
7258
7260
7264
7266
7268
7269
7272
7274
7277
7281
7283
7285
7286
7289
7291
7293
7295
7297
7299
7300
7302
7304
7306
7308
7309
7312
7313
7314
7316
7318
7320
7323
7325
7327
7330
7332
7333
7334
7335
7338
7340
7342
7345
7347
7350
7352
7354
7356
7359
7361
7363
7365
7367
7369
7371
7374
7375
7376
7378
7380
7383
7384
7385
7387
7389
7391
7394
7397
7400
7402
7402
7403
7404
7405
7407
7408
7409
7411
7413
7416
7416
7418
7420
7423
7426
7428
7431
7433
7435
7436
7438
7439
7441
7443
7445
7448
7450
7453
7456
7459
7462
7463
7466
7469
7471
7472
7473
7475
7476
7478
7481
7484
7485
7487
7488
7491
7493
7495
7496
7499
7502
7504
7506
7508
7511
7515
7517
7519
7520
7523
7525
7526
7528
7529
7531
7533
7534
7534
7535
7537
7538
7540
7542
7543
7546
7548
7549
7551
7553
7555
7557
7559
7562
7563
7565
7566
7568
7570
7570
7573
7576
7578
7579
7582
7584
7586
7587
7589
7591
7593
7594
7595
7597
7598
7599
7601
7603
7606
7608
7610
7612
7615
7617
7618
7620
7621
7622
7624
7625
7626
7627
7629
7630
7632
7633
7635
7636
7637
7639
7641
7643
7644
7645
7647
7649
7650
7652
7654
7657
7658
7660
7662
7664
7667
7670
7672
7674
7676
7678
7680
7683
7684
7685
7687
7689
7692
7694
7695
7697
7699
7701
7702
7704
7706
7708
7708
7710
7712
7713
7714
7715
7716
7717
7718
7719
7721
7722
7724
7727
7729
7731
7733
7736
7736
7737
7738
7740
7743
7745
7748
7749
7751
7753
7754
7756
7757
7759
7761
7763
7764
7766
7768
7769
7771
7773
7775
7777
7779
7780
7781
7783
7784
7785
7787
7788
7790
7791
7793
7794
7795
7797
7799
7801
7803
7804
7806
7808
7811
7812
7813
7815
7817
7819
7820
7821
7822
7823
7824
7825
7827
7829
7831
7831
7833
7834
7836
7837
7838
7840
7842
7843
7844
7845
7847
7848
7849
7851
7853
7855
7857
7858
7859
7861
7863
7864
7866
7868
7869
7869
7870
7871
7872
7874
7876
7878
7879
7881
7882
7884
7884
7884
7885
7887
7889
7891
7893
7893
7894
7896
7897
7899
7900
7901
7903
7905
7907
7909
7911
7913
7915
7917
7917
7918
7920
7921
7922
7923
7924
7924
7926
7928
7929
7930
7931
7933
7935
7936
7937
7939
7941
7943
7944
7945
7946
7947
7949
7950
7951
7953
7955
7957
7958
7960
7961
7961
7962
7964
7964
7966
7966
7968
7969
7970
7971
7971
7972
7972
7973
7974
7975
7977
7977
7978
7980
7981
7982
7984
7985
7986
7986
7987
7988
7989
7990
7991
7991
7992
7994
7995
7996
7997
7998
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8013
8014
8015
8015
8015
8016
8017
8019
8020
8021
8022
8022
8023
8025
8026
8028
8029
8030
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8042
8044
8046
8048
8049
8049
8051
8052
8053
8054
8054
8054
8055
8056
8057
8058
8059
8061
8062
8063
8065
8066
8066
8068
8069
8070
8071
8072
8073
8074
8075
8076
8078
8079
8079
8080
8082
8082
8084
8085
8086
8086
8087
8088
8089
8089
8090
8091
8092
8093
8094
8095
8095
8096
8097
8097
8097
8098
8098
8099
8100
8101
8101
8102
8103
8104
8105
8106
8108
8109
8109
8110
8111
8112
8112
8112
8113
8114
8115
8116
8117
8118
8119
8120
8120
8121
8122
8122
8123
8123
8123
8124
8124
8125
8126
8127
8128
8128
8129
8129
8130
8130
8131
8131
8133
8133
8134
8134
8135
8136
8136
8136
8136
8137
8137
8138
8138
8139
8139
8139
8140
8140
8141
8142
8143
8143
8144
8145
8145
8146
8147
8147
8148
8149
8149
8150
8151
8152
8153
8153
8153
8154
8155
8155
8155
8155
8155
8155
8155
8155
8155
8155
8156
8156
8157
8158
8159
8159
8160
8161
8162
8163
8163
8164
8165
8166
8167
8167
8168
8168
8169
8169
8169
8169
8170
8170
8171
8172
8173
8173
8173
8174
8174
8174
8174
8174
8174
8174
8175
8175
8176
8177
8177
8177
8177
8178
8178
8179
8179
8179
8179
8180
8181
8181
8181
8182
8182
8183
8184
8185
8185
8185
8186
8187
8188
8189
8190
8190
8190
8190
8190
8190
8190
8190
8191
8191
8192
8192
8192
8193
8193
8194
8194
8194
8194
8194
8194
8194
8194
8194
8194
8194
8195
8196
8196
8197
8197
8197
8197
8197
8198
8198
8198
8198
8198
8199
8200
8200
8200
8200
8201
8201
8201
8201
8201
8202
8202
8202
8203
8203
8203
8203
8203
8203
8203
8203
8204
8204
8205
8205
8206
8207
8207
8207
8207
8207
8207
8207
8207
8208
8208
8208
8209
8210
8210
8210
8210
8210
8210
8210
8211
8212
8212
8212
8212
8212
8212
8212
8212
8212
8212
8212
8212
8212
8212
8213
8214
8214
8214
8214
8214
8214
8214
8214
8214
8214
8215
8216
8216
8216
8216
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8217
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218
8218