0
9
14
15
19
23
28
34
47
52
54
63
64
68
83
90
96
99
107
113
116
117
119
122
124
131
140
141
146
151
154
158
166
173
182
191
193
201
202
203
212
214
216
230
234
235
237
244
247
253
254
267
272
273
280
281
291
292
306
310
313
315
318
326
330
331
332
333
345
346
349
355
359
364
366
373
374
377
387
396
397
402
407
420
421
422
423
424
427
429
434
444
445
454
460
462
464
466
469
470
471
476
481
484
487
499
506
507
514
515
518
519
528
531
533
539
551
560
563
570
579
584
587
590
592
594
595
598
600
603
605
610
614
616
624
625
632
643
644
646
650
657
662
673
675
676
678
687
691
693
694
700
701
702
709
711
713
715
716
723
725
730
731
732
733
738
741
743
744
757
758
761
762
765
767
768
772
775
777
781
785
786
799
804
810
813
821
822
823
831
832
842
843
845
850
866
869
875
886
903
906
912
914
917
920
924
927
942
943
951
958
964
965
970
971
973
979
980
984
988
990
992
994
997
998
1007
1010
1012
1015
1035
1036
1041
1042
1051
1069
1074
1083
1092
1093
1094
1096
1100
1102
1104
1105
1110
1113
1119
1120
1124
1125
1128
1131
1136
1138
1139
1149
1153
1165
1166
1168
1170
1179
1182
1186
1196
1206
1207
1208
1210
1215
1220
1221
1228
1240
1250
1257
1259
1266
1274
1282
1283
1286
1287
1295
1296
1297
1300
1302
1304
1307
1308
1311
1318
1327
1328
1335
1337
1340
1343
1350
1359
1364
1365
1370
1373
1383
1385
1390
1394
1396
1397
1398
1407
1413
1414
1418
1419
1427
1430
1438
1439
1443
1448
1449
1453
1462
1467
1470
1474
1479
1480
1481
1483
1484
1486
1489
1494
1505
1514
1515
1517
1519
1521
1526
1535
1542
1546
1550
1551
1557
1560
1565
1571
1573
1575
1579
1580
1582
1585
1590
1594
1598
1599
1600
1605
1612
1616
1618
1619
1623
1628
1630
1643
1644
1648
1650
1658
1660
1661
1670
1675
1677
1685
1689
1691
1692
1694
1696
1697
1701
1704
1705
1709
1713
1714
1719
1721
1732
1733
1734
1741
1751
1762
1765
1771
1776
1780
1783
1785
1787
1788
1789
1791
1792
1793
1794
1797
1799
1801
1803
1810
1811
1812
1814
1818
1822
1823
1829
1835
1836
1837
1839
1841
1844
1848
1852
1853
1854
1860
1873
1881
1885
1886
1888
1904
1906
1909
1912
1913
1918
1922
1931
1933
1939
1941
1950
1955
1958
1965
1967
1969
1970
1977
1979
1981
1982
1985
1987
1989
1993
1999
2002
2003
2004
2006
2009
2012
2018
2020
2021
2022
2024
2026
2031
2033
2043
2045
2061
2063
2067
2068
2069
2070
2071
2073
2076
2077
2078
2081
2087
2090
2091
2092
2097
2101
2102
2106
2117
2118
2122
2125
2130
2132
2139
2141
2148
2151
2152
2160
2164
2167
2168
2169
2179
2182
2184
2187
2192
2196
2198
2204
2220
2221
2230
2232
2235
2236
2239
2241
2248
2253
2261
2266
2272
2277
2290
2294
2300
2302
2306
2309
2311
2315
2317
2321
2342
2347
2348
2349
2355
2359
2365
2369
2371
2377
2379
2385
2386
2388
2394
2395
2397
2401
2402
2403
2405
2410
2422
2429
2432
2433
2444
2446
2449
2459
2460
2465
2468
2472
2474
2478
2479
2480
2486
2492
2513
2517
2520
2521
2522
2525
2530
2532
2533
2535
2537
2539
2541
2543
2545
2550
2566
2578
2580
2586
2592
2594
2605
2620
2621
2623
2630
2640
2646
2647
2658
2669
2674
2675
2677
2685
2694
2700
2701
2704
2721
2724
2734
2735
2736
2744
2745
2749
2752
2757
2763
2766
2767
2770
2775
2779
2781
2782
2783
2785
2793
2794
2796
2810
2815
2818
2822
2824
2825
2827
2829
2830
2840
2849
2858
2860
2861
2868
2873
2879
2888
2893
2901
2904
2905
2908
2912
2913
2917
2919
2926
2931
2936
2945
2947
2948
2954
2955
2964
2973
2978
2979
2982
2984
2996
2999
3000
3010
3019
3021
3022
3030
3034
3040
3050
3052
3071
3081
3084
3085
3089
3090
3091
3092
3099
3104
3107
3113
3114
3122
3140
3144
3158
3159
3164
3165
3168
3169
3174
3175
3182
3189
3191
3193
3196
3200
3204
3205
3209
3213
3219
3220
3222
3227
3231
3235
3246
3248
3252
3258
3261
3270
3275
3283
3286
3288
3290
3294
3299
3303
3305
3307
3323
3324
3330
3352
3358
3360
3363
3366
3373
3377
3381
3386
3388
3390
3391
3394
3395
3399
3403
3408
3409
3411
3414
3416
3418
3425
3427
3428
3429
3431
3432
3439
3442
3444
3451
3453
3454
3455
3459
3465
3474
3490
3493
3495
3497
3511
3523
3527
3530
3533
3535
3538
3546
3547
3549
3554
3556
3558
3563
3565
3574
3581
3583
3584
3589
3597
3598
3612
3615
3618
3621
3622
3626
3639
3641
3649
3651
3654
3658
3661
3669
3671
3678
3679
3680
3683
3691
3692
3693
3695
3704
3707
3708
3710
3722
3724
3726
3733
3738
3754
3755
3760
3761
3767
3776
3780
3783
3791
3793
3810
3811
3818
3819
3821
3826
3832
3833
3847
3856
3859
3868
3872
3874
3877
3879
3895
3903
3907
3909
3911
3914
3920
3935
3943
3955
3956
3960
3964
3966
3969
3974
3975
3982
3989
3990
3997
3999
4003
4005
4006
4015
4020
4030
4033
4035
4037
4038
4049
4052
4054
4062
4068
4077
4078
4082
4083
4089
4100
4102
4122
4129
4130
4131
4137
4138
4149
4150
4154
4168
4176
4183
4184
4191
4193
4196
4209
4216
4217
4221
4222
4224
4225
4231
4233
4236
4240
4248
4258
4259
4262
4265
4266
4270
4271
4272
4273
4277
4278
4286
4293
4297
4304
4311
4314
4321
4322
4327
4338
4342
4346
4347
4352
4356
4357
4364
4365
4369
4375
4377
4383
4384
4386
4390
4391
4395
4397
4403
4406
4415
4418
4422
4423
4432
4446
4447
4455
4461
4481
4482
4483
4489
4492
4494
4495
4497
4502
4509
4511
4520
4524
4526
4527
4532
4544
4545
4563
4567
4572
4575
4576
4580
4584
4587
4592
4595
4602
4609
4612
4617
4619
4622
4628
4631
4635
4637
4641
4647
4648
4649
4659
4660
4661
4669
4670
4673
4675
4676
4679
4680
4685
4698
4699
4704
4709
4721
4726
4727
4728
4729
4739
4740
4741
4755
4756
4757
4759
4761
4765
4772
4775
4780
4784
4785
4790
4792
4802
4806
4808
4811
4814
4817
4820
4822
4824
4825
4826
4827
4833
4838
4845
4847
4850
4852
4855
4858
4861
4865
4866
4867
4868
4870
4875
4878
4884
4886
4888
4890
4898
4900
4906
4907
4911
4912
4913
4920
4923
4933
4936
4944
4949
4951
4953
4955
4960
4966
4970
4972
4975
4976
4978
4990
4992
4999
5000
5006
5008
5012
5020
5028
5029
5035
5038
5049
5050
5055
5057
5058
5061
5064
5067
5071
5077
5079
5081
5084
5088
5092
5093
5096
5100
5102
5105
5119
5120
5121
5127
5147
5154
5160
5161
5170
5172
5174
5176
5178
5189
5199
5208
5211
5212
5213
5216
5218
5220
5222
5223
5227
5232
5237
5238
5239
5242
5248
5253
5263
5264
5282
5294
5300
5303
5310
5311
5315
5320
5327
5330
5335
5337
5338
5342
5350
5366
5368
5370
5384
5387
5392
5399
5402
5407
5413
5415
5419
5420
5421
5423
5428
5435
5439
5441
5444
5449
5453
5455
5456
5461
5464
5467
5471
5477
5478
5486
5491
5495
5501
5508
5510
5517
5518
5519
5521
5525
5532
5544
5545
5546
5549
5550
5552
5556
5562
5567
5568
5579
5582
5583
5602
5603
5604
5607
5612
5613
5622
5626
5630
5635
5637
5643
5647
5651
5654
5657
5659
5661
5662
5665
5667
5669
5674
5675
5685
5686
5688
5690
5696
5698
5700
5705
5706
5713
5716
5724
5725
5727
5732
5734
5738
5739
5741
5757
5759
5760
5764
5768
5771
5774
5782
5792
5798
5800
5809
5812
5813
5820
5821
5832
5834
5838
5841
5845
5851
5853
5855
5857
5859
5860
5862
5885
5886
5889
5896
5897
5901
5903
5907
5910
5911
5912
5913
5914
5916
5923
5924
5926
5927
5931
5933
5939
5940
5942
5946
5953
5955
5960
5961
5967
5968
5969
5977
5983
5989
5993
5994
5997
5998
6006
6008
6019
6021
6023
6025
6027
6034
6042
6044
6045
6050
6051
6057
6063
6064
6074
6077
6080
6084
6088
6092
6102
6103
6107
6115
6122
6127
6137
6142
6146
6147
6148
6157
6159
6160
6163
6165
6166
6169
6171
6172
6174
6177
6181
6184
6189
6192
6194
6199
6207
6209
6211
6212
6214
6217
6232
6233
6239
6240
6244
6246
6247
6257
6263
6271
6273
6278
6290
6291
6298
6299
6300
6301
6303
6307
6308
6310
6314
6319
6328
6329
6331
6342
6347
6348
6353
6361
6362
6371
6373
6374
6376
6382
6386
6387
6391
6393
6395
6401
6402
6403
6408
6412
6419
6422
6423
6427
6435
6441
6444
6446
6447
6451
6454
6459
6473
6474
6478
6489
6494
6495
6501
6502
6506
6512
6516
6518
6519
6522
6523
6530
6531
6532
6536
6542
6547
6548
6551
6552
6553
6557
6560
6567
6575
6576
6577
6580
6588
6589
6591
6593
6594
6597
6608
6615
6629
6636
6639
6642
6649
6652
6658
6664
6669
6671
6679
6680
6683
6686
6697
6698
6700
6706
6714
6715
6732
6733
6736
6740
6741
6745
6749
6753
6754
6756
6763
6769
6770
6773
6776
6782
6787
6788
6789
6790
6793
6797
6807
6808
6815
6827
6829
6830
6833
6838
6841
6850
6851
6856
6875
6876
6879
6882
6886
6888
6889
6893
6897
6899
6904
6907
6911
6913
6922
6925
6936
6938
6940
6941
6944
6956
6958
6959
6961
6965
6971
6978
6980
6987
6989
6994
6995
7002
7004
7006
7008
7011
7013
7016
7020
7026
7027
7032
7034
7035
7037
7040
7044
7046
7048
7050
7051
7052
7053
7054
7055
7056
7058
7070
7071
7081
7103
7104
7110
7115
7116
7119
7124
7126
7132
7134
7138
7141
7147
7148
7153
7154
7172
7177
7183
7185
7193
7195
7196
7197
7198
7201
7209
7211
7215
7226
7233
7237
7238
7241
7248
7252
7255
7262
7266
7270
7272
7273
7276
7283
7288
7289
7291
7303
7305
7307
7310
7312
7318
7319
7321
7322
7325
7334
7335
7344
7347
7354
7356
7358
7369
7371
7372
7373
7375
7382
7400
7403
7405
7407
7415
7420
7423
7426
7433
7444
7445
7446
7451
7459
7462
7463
7474
7475
7476
7479
7482
7485
7495
7497
7499
7507
7513
7518
7522
7526
7528
7531
7533
7536
7539
7541
7545
7553
7556
7558
7561
7563
7564
7572
7583
7588
7601
7605
7606
7607
7608
7611
7619
7623
7631
7638
7639
7640
7643
7646
7651
7653
7654
7657
7661
7662
7664
7668
7669
7675
7680
7685
7687
7689
7692
7693
7695
7700
7708
7709
7719
7726
7732
7733
7740
7754
7756
7758
7771
7773
7780
7783
7786
7788
7791
7793
7800
7801
7804
7812
7813
7814
7815
7819
7833
7838
7843
7847
7849
7850
7853
7855
7857
7867
7873
7875
7886
7888
7894
7897
7901
7905
7908
7916
7919
7923
7924
7925
7929
7931
7933
7937
7953
7956
7963
7972
7974
7975
7985
8000
8001
8004
8007
8011
8017
8019
8030
8035
8046
8052
8053
8057
8060
8061
8066
8067
8070
8078
8094
8097
8104
8115
8117
8120
8128
8131
8134
8139
8141
8168
8170
8174
8175
8178
8188
8191
8193
8197
8203
8204
8205
8208
8212
8216
8223
8233
8243
8247
8249
8250
8255
8257
8259
8262
8264
8270
8279
8280
8288
8289
8291
8295
8296
8316
8321
8329
8334
8335
8336
8339
8340
8344
8349
8353
8358
8363
8364
8368
8370
8372
8378
8379
8381
8384
8385
8386
8391
8392
8393
8399
8401
8402
8403
8405
8406
8407
8413
8421
8429
8430
8431
8442
8447
8448
8457
8474
8479
8482
8484
8492
8494
8496
8506
8512
8515
8522
8523
8524
8525
8528
8532
8536
8543
8550
8551
8563
8570
8578
8591
8593
8594
8604
8610
8614
8616
8617
8626
8633
8635
8637
8638
8640
8645
8649
8658
8663
8665
8673
8675
8678
8682
8684
8687
8689
8693
8704
8711
8716
8717
8720
8721
8727
8729
8737
8740
8747
8759
8761
8765
8767
8770
8772
8774
8776
8780
8785
8794
8797
8802
8805
8806
8809
8811
8818
8824
8827
8832
8837
8840
8854
8856
8860
8865
8871
8872
8873
8876
8878
8882
8883
8886
8890
8892
8902
8903
8906
8907
8909
8912
8913
8920
8921
8926
8927
8933
8935
8940
8943
8948
8949
8953
8960
8961
8964
8968
8976
8977
8980
8984
8993
8995
9003
9005
9008
9011
9016
9019
9027
9036
9040
9053
9068
9070
9074
9082
9093
9095
9102
9106
9112
9113
9117
9118
9119
9130
9133
9135
9136
9139
9146
9160
9175
9181
9188
9189
9195
9200
9203
9206
9208
9209
9212
9227
9228
9231
9233
9241
9242
9243
9244
9245
9247
9254
9257
9259
9261
9265
9267
9271
9275
9278
9281
9282
9288
9289
9296
9301
9304
9305
9306
9312
9314
9320
9324
9331
9333
9339
9342
9343
9344
9349
9355
9363
9364
9369
9376
9377
9379
9382
9386
9390
9391
9394
9396
9398
9404
9406
9419
9420
9426
9427
9430
9433
9434
9436
9441
9446
9448
9455
9459
9461
9462
9473
9474
9478
9494
9498
9499
9502
9503
9508
9527
9528
9533
9536
9551
9552
9560
9564
9565
9567
9573
9576
9585
9597
9600
9603
9604
9607
9608
9617
9618
9624
9626
9635
9638
9642
9653
9654
9656
9667
9691
9698
9702
9708
9710
9711
9713
9716
9719
9723
9726
9728
9730
9734
9737
9738
9741
9742
9743
9744
9745
9748
9753
9756
9757
9760
9762
9771
9773
9774
9778
9781
9784
9785
9789
9794
9798
9799
9807
9813
9824
9832
9833
9834
9837
9839
9858
9859
9860
9864
9870
9873
9877
9881
9882
9885
9888
9897
9899
9900
9910
9914
9915
9926
9934
9936
9942
9944
9945
9946
9951
9953
9958
9959
9967
9969
9970
9971
9972
9973
9974
9976
9978
9981
9984
9993
9995
9997
9998
10001
10002
10012
10014
10019
10024
10029
10031
10035
10039
10041
10042
10056
10059
10061
10065
10066
10067
10070
10071
10074
10078
10079
10096
10102
10105
10110
10115
10119
10127
10128
10130
10131
10132
10133
10146
10149
10153
10156
10161
10165
10179
10186
10188
10189
10190
10192
10193
10195
10196
10198
10201
10205
10210
10219
10220
10229
10232
10236
10241
10242
10243
10246
10253
10264
10269
10274
10276
10281
10284
10293
10295
10296
10298
10302
10303
10316
10319
10324
10336
10338
10357
10359
10361
10366
10374
10375
10383
10385
10388
10392
10393
10397
10403
10413
10425
10432
10439
10449
10454
10458
10460
10461
10476
10483
10486
10487
10492
10497
10501
10510
10511
10516
10518
10521
10523
10530
10531
10532
10533
10535
10537
10539
10542
10547
10556
10560
10563
10564
10567
10572
10575
10576
10578
10586
10592
10602
10605
10606
10607
10611
10613
10617
10628
10633
10637
10638
10641
10647
10651
10654
10655
10661
10667
10671
10672
10675
10676
10677
10683
10686
10687
10697
10701
10714
10717
10718
10720
10721
10728
10730
10735
10739
10744
10747
10752
10753
10755
10759
10761
10764
10774
10775
10778
10784
10785
10788
10792
10793
10794
10796
10798
10801
10806
10807
10814
10824
10833
10847
10851
10852
10854
10857
10862
10869
10874
10879
10883
10901
10907
10910
10911
10917
10919
10925
10927
10929
10941
10945
10952
10956
10957
10962
10972
10975
10976
10978
10982
10986
10994
10995
11009
11022
11025
11033
11037
11043
11056
11061
11066
11067
11074
11081
11084
11085
