0
8
9
13
16
17
23
26
35
37
39
53
54
55
66
68
69
70
71
73
83
84
88
90
91
93
94
100
102
104
110
112
119
122
126
128
130
132
134
139
140
145
146
153
156
157
158
166
169
174
184
190
191
193
205
206
213
214
227
236
237
238
239
256
259
260
267
269
272
274
280
281
284
289
298
301
302
303
304
305
308
309
322
330
337
347
348
349
351
354
355
357
362
364
368
369
370
371
372
378
383
386
388
395
404
409
412
414
416
419
421
423
424
428
433
434
441
443
446
448
449
452
456
461
463
468
473
476
478
479
486
488
505
507
511
513
518
519
527
538
539
549
557
561
565
566
567
570
572
575
577
579
582
583
585
592
593
596
602
613
615
627
628
630
631
635
637
640
643
646
648
651
663
664
668
670
672
680
684
686
690
695
696
698
700
703
706
709
712
713
734
735
737
739
741
743
751
755
759
764
772
782
790
797
801
802
803
807
811
817
822
825
835
836
838
843
845
846
847
849
862
867
870
873
894
896
900
902
903
905
911
912
914
916
918
923
927
932
935
937
943
945
949
952
957
963
972
974
982
984
985
987
991
993
994
996
1000
1008
1010
1012
1015
1020
1022
1023
1025
1028
1029
1032
1033
1035
1040
1041
1043
1044
1053
1054
1056
1065
1073
1074
1077
1078
1081
1083
1084
1085
1088
1094
1098
1100
1106
1112
1126
1128
1132
1140
1141
1153
1156
1162
1163
1165
1180
1182
1184
1186
1195
1202
1212
1217
1218
1219
1220
1222
1229
1231
1233
1234
1236
1240
1242
1243
1244
1248
1259
1261
1267
1269
1273
1275
1292
1299
1300
1301
1306
1307
1309
1319
1328
1340
1341
1343
1347
1350
1353
1355
1356
1358
1359
1363
1369
1380
1389
1404
1406
1409
1411
1416
1418
1419
1433
1444
1447
1453
1458
1460
1466
1478
1481
1484
1486
1501
1508
1511
1512
1513
1514
1515
1519
1527
1531
1532
1534
1539
1542
1548
1550
1552
1553
1556
1557
1561
1563
1564
1566
1570
1572
1580
1586
1589
1592
1594
1596
1597
1599
1600
1605
1606
1607
1609
1612
1620
1624
1626
1632
1640
1647
1648
1652
1655
1658
1659
1660
1668
1673
1674
1677
1687
1693
1700
1702
1711
1712
1718
1723
1724
1726
1729
1732
1736
1737
1740
1749
1756
1760
1766
1767
1768
1772
1773
1774
1775
1778
1780
1787
1793
1796
1801
1803
1807
1808
1812
1816
1820
1824
1827
1829
1834
1837
1838
1847
1851
1855
1858
1862
1863
1864
1868
1872
1873
1887
1888
1889
1900
1902
1905
1908
1909
1915
1918
1920
1921
1924
1925
1928
1930
1933
1938
1945
1947
1954
1957
1961
1962
1965
1971
1975
1976
1978
1984
1985
1989
1995
1997
2004
2005
2007
2008
2010
2028
2032
2033
2037
2038
2039
2040
2043
2044
2047
2053
2056
2062
2066
2070
2073
2075
2076
2077
2084
2085
2087
2088
2093
2094
2097
2103
2105
2107
2110
2113
2117
2122
2133
2135
2139
2143
2145
2146
2148
2150
2154
2155
2156
2161
2164
2171
2182
2183
2184
2187
2201
2203
2204
2206
2208
2211
2212
2214
2215
2216
2223
2228
2229
2230
2231
2234
2235
2236
2242
2244
2251
2258
2269
2270
2272
2273
2274
2275
2281
2283
2287
2296
2298
2300
2302
2307
2311
2323
2339
2349
2354
2357
2359
2365
2366
2369
2372
2381
2383
2384
2387
2388
2390
2400
2403
2407
2409
2414
2421
2425
2429
2432
2433
2436
2441
2446
2450
2452
2457
2458
2461
2463
2475
2485
2486
2487
2491
2499
2500
2501
2503
2504
2505
2507
2509
2510
2515
2516
2530
2534
2536
2543
2545
2547
2549
2551
2555
2566
2570
2574
2575
2582
2584
2585
2586
2596
2610
2612
2617
2619
2629
2634
2637
2640
2641
2645
2646
2647
2650
2660
2662
2664
2667
2674
2679
2680
2686
2689
2690
2692
2696
2697
2699
2700
2706
2707
2714
2731
2733
2738
2740
2743
2744
2751
2761
2765
2771
2773
2777
2778
2783
2784
2787
2788
2793
2794
2796
2797
2800
2805
2807
2809
2810
2820
2823
2824
2826
2840
2852
2853
2855
2858
2860
2864
2867
2870
2872
2876
2880
2881
2882
2887
2888
2893
2898
2899
2909
2924
2926
2927
2930
2932
2935
2936
2938
2941
2942
2943
2944
2954
2958
2968
2973
2976
2977
2983
2987
2989
2990
2991
3007
3018
3020
3021
3024
3033
3042
3045
3053
3055
3056
3064
3066
3073
3076
3078
3085
3087
3094
3096
3101
3103
3104
3110
3112
3113
3117
3120
3123
3125
3135
3139
3144
3146
3154
3155
3157
3159
3161
3166
3169
3173
3175
3177
3180
3183
3186
3190
3196
3199
3204
3206
3208
3210
3213
3215
3218
3221
3223
3228
3230
3234
3239
3241
3242
3245
3247
3255
3256
3262
3264
3265
3266
3267
3269
3274
3275
3277
3280
3281
3282
3288
3293
3295
3302
3304
3309
3313
3316
3326
3331
3332
3339
3340
3342
3345
3346
3356
3359
3364
3366
3370
3375
3383
3392
3399
3400
3401
3411
3416
3417
3419
3421
3422
3423
3426
3436
3445
3447
3450
3453
3456
3458
3460
3464
3466
3467
3468
3473
3474
3479
3480
3482
3483
3487
3491
3498
3500
3509
3512
3517
3522
3523
3525
3534
3536
3537
3538
3539
3540
3544
3547
3568
3574
3580
3585
3586
3588
3599
3602
3604
3608
3611
3612
3618
3621
3624
3627
3630
3639
3643
3645
3648
3652
3653
3655
3656
3658
3663
3669
3671
3679
3681
3683
3684
3685
3688
3692
3693
3698
3707
3712
3713
3718
3722
3729
3730
3732
3736
3737
3758
3760
3769
3773
3779
3780
3782
3787
3789
3795
3814
3815
3816
3818
3820
3830
3834
3836
3837
3839
3842
3845
3847
3849
3851
3856
3859
3865
3866
3870
3877
3878
3882
3887
3890
3893
3894
3896
3898
3903
3906
3907
3913
3920
3923
3924
3929
3930
3937
3939
3940
3941
3943
3947
3962
3965
3969
3970
3972
3973
3982
3984
3993
3997
3999
4006
4007
4008
4009
4032
4037
4042
4044
4049
4051
4054
4057
4064
4069
4074
4077
4081
4082
4087
4090
4094
4101
4102
4105
4108
4109
4110
4114
4115
4126
4129
4132
4140
4145
4147
4149
4152
4153
4155
4157
4158
4164
4165
4166
4168
4180
4190
4196
4206
4211
4220
4221
4223
4226
4229
4233
4237
4238
4243
4244
4250
4255
4261
4265
4267
4273
4277
4279
4292
4294
4295
4303
4305
4306
4309
4313
4314
4316
4319
4324
4329
4333
4344
4349
4350
4351
4353
4354
4357
4362
4363
4364
4369
4371
4372
4373
4377
4385
4390
4391
4392
4397
4405
4406
4414
4420
4425
4427
4432
4436
4437
4441
4443
4446
4449
4453
4455
4457
4460
4468
4478
4482
4486
4489
4500
4501
4502
4503
4506
4507
4509
4512
4517
4519
4537
4544
4545
4550
4556
4568
4570
4571
4575
4578
4579
4582
4586
4587
4591
4594
4597
4598
4601
4609
4610
4613
4617
4618
4629
4631
4649
4651
4653
4662
4663
4664
4679
4681
4685
4688
4690
4693
4696
4697
4703
4712
4717
4720
4727
4734
4735
4737
4750
4752
4757
4760
4761
4766
4770
4771
4772
4776
4779
4782
4787
4792
4794
4796
4798
4804
4809
4810
4811
4813
4817
4822
4825
4827
4828
4832
4840
4847
4848
4850
4852
4853
4855
4856
4857
4866
4868
4870
4878
4880
4883
4889
4891
4892
4893
4894
4905
4911
4921
4928
4934
4935
4941
4944
4949
4950
4954
4959
4965
4967
4968
4969
4971
4978
4979
4981
4984
4985
4989
4990
4991
4995
4999
5003
5005
5006
5014
5017
5021
5027
5033
5053
5055
5056
5057
5059
5065
5066
5071
5072
5079
5080
5087
5089
5090
5100
5110
5122
5130
5135
5137
5141
5144
5146
5150
5159
5166
5168
5170
5173
5175
5190
5193
5194
5197
5198
5202
5203
5206
5210
5216
5219
5225
5227
5228
5231
5232
5235
5247
5249
5250
5252
5256
5258
5260
5264
5266
5267
5268
5269
5270
5272
5281
5283
5285
5302
5303
5308
5311
5315
5316
5317
5318
5322
5326
5328
5329
5330
5339
5341
5354
5355
5372
5385
5391
5393
5396
5398
5400
5404
5407
5411
5414
5418
5420
5426
5434
5461
5465
5466
5467
5470
5474
5475
5483
5484
5486
5488
5489
5494
5499
5500
5506
5509
5511
5514
5515
5519
5520
5525
5533
5538
5543
5546
5550
5554
5556
5560
5563
5564
5570
5575
5578
5581
5593
5594
5595
5602
5605
5608
5611
5612
5616
5618
5620
5626
5629
5632
5640
5644
5646
5650
5651
5652
5653
5656
5657
5662
5666
5669
5673
5681
5684
5688
5689
5694
5695
5702
5705
5708
5711
5715
5717
5721
5722
5727
5728
5732
5733
5738
5744
5759
5764
5767
5768
5769
5775
5777
5784
5787
5795
5796
5805
5807
5811
5814
5817
5818
5820
5821
5823
5828
5837
5838
5847
5853
5859
5865
5871
5872
5873
5874
5877
5880
5884
5885
5891
5893
5902
5908
5912
5920
5924
5926
5928
5935
5940
5948
5949
5962
5963
5968
5975
5978
5982
5985
5988
5993
5994
6014
6016
6018
6019
6021
6022
6033
6036
6037
6044
6064
6065
6068
6069
6070
6073
6081
6083
6088
6091
6103
6106
6110
6111
6115
6116
6120
6124
6130
6131
6139
6142
6143
6144
6156
6157
6161
6162
6163
6164
6167
6174
6175
6177
6178
6179
6185
6186
6188
6194
6195
6198
6204
6206
6207
6220
6232
6240
6241
6243
6244
6245
6250
6255
6264
6265
6270
6273
6274
6278
6282
6284
6289
6291
6292
6293
6299
6300
6313
6314
6315
6320
6322
6333
6348
6350
6355
6364
6365
6366
6379
6383
6387
6390
6391
6396
6397
6398
6406
6407
6413
6414
6419
6420
6422
6427
6430
6431
6432
6434
6437
6440
6442
6443
6444
6448
6449
6454
6456
6459
6460
6461
6462
6467
6468
6476
6477
6481
6485
6487
6495
6498
6512
6513
6519
6520
6523
6534
6538
6542
6550
6551
6555
6557
6573
6582
6593
6594
6595
6598
6599
6600
6601
6604
6607
6608
6616
6622
6631
6641
6646
6647
6648
6654
6655
6657
6658
6661
6664
6665
6671
6672
6677
6686
6689
6692
6697
6698
6700
6704
6705
6723
6724
6730
6734
6735
6737
6740
6741
6751
6753
6759
6766
6767
6768
6769
6770
6776
6780
6785
6792
6793
6795
6799
6805
6814
6815
6816
6826
6827
6828
6830
6831
6834
6837
6838
6839
6841
6847
6850
6858
6860
6861
6872
6879
6880
6881
6884
6887
6891
6895
6898
6902
6904
6906
6907
6912
6914
6915
6927
6928
6933
6934
6936
6938
6945
6946
6947
6949
6951
6953
6954
6956
6961
6965
6971
6972
6973
6974
6979
6993
6994
6997
7037
7038
7040
7041
7048
7050
7052
7054
7062
7066
7070
7076
7080
7085
7090
7091
7092
7093
7098
7108
7110
7121
7123
7126
7129
7131
7132
7136
7138
7140
7141
7143
7145
7147
7148
7149
7150
7163
7164
7172
7175
7180
7182
7186
7189
7191
7208
7211
7219
7225
7226
7229
7230
7233
7235
7239
7240
7242
7243
7244
7246
7249
7251
7254
7258
7263
7276
7279
7283
7286
7293
7310
7330
7338
7348
7351
7354
7360
7361
7362
7363
7369
7373
7374
7380
7383
7391
7397
7401
7405
7406
7407
7413
7416
7418
7420
7422
7424
7429
7441
7443
7447
7449
7452
7454
7456
7458
7460
7462
7463
7464
7470
7475
7481
7484
7486
7489
7491
7494
7496
7523
7524
7526
7531
7540
7543
7545
7552
7555
7556
7557
7563
7565
7566
7567
7568
7585
7586
7589
7590
7591
7594
7599
7603
7606
7615
7616
7621
7623
7625
7627
7631
7638
7640
7641
7642
7643
7650
7651
7656
7657
7663
7668
7678
7687
7689
7691
7696
7699
7700
7705
7709
7714
7717
7720
7722
7723
7724
7725
7727
7733
7736
7738
7741
7742
7746
7755
7756
7760
7768
7772
7777
7778
7785
7789
7791
7793
7799
7800
7802
7803
7808
7812
7814
7830
7831
7832
7838
7840
7842
7843
7844
7846
7849
7852
7855
7862
7863
7864
7871
7873
7876
7880
7882
7886
7887
7894
7896
7897
7899
7901
7902
7904
7905
7908
7914
7917
7921
7925
7938
7940
7943
7948
7951
7952
7954
7956
7957
7960
7964
7965
7974
7977
7982
7989
7994
7996
8010
8030
8037
8043
8050
8065
8067
8077
8080
8081
8084
8086
8087
8092
8106
8108
8110
8113
8120
8122
8124
8128
8131
8133
8140
8142
8144
8145
8146
8147
8148
8151
8152
8153
8157
8161
8163
8164
8177
8178
8184
8188
8190
8193
8199
8203
8205
8211
8213
8218
8228
8244
8246
8248
8256
8262
8264
8269
8270
8271
8278
8279
8287
8290
8294
8295
8297
8298
8301
8303
8308
8315
8318
8319
8320
8322
8323
8324
8326
8329
8340
8341
8344
8345
8349
8355
8357
8358
8362
8364
8367
8369
8371
8372
8374
8375
8377
8386
8389
8395
8408
8410
8414
8415
8420
8422
8425
8431
8432
8434
8435
8447
8450
8458
8461
8462
8463
8466
8470
8472
8476
8477
8478
8480
8484
8487
8493
8497
8500
8502
8504
8507
8512
8515
8516
8526
8534
8547
8549
8552
8553
8557
8561
8569
8570
8577
8578
8579
8584
8587
8593
8594
8596
8597
8598
8601
8602
8605
8606
8617
8625
8635
8645
8650
8659
8661
8665
8674
8688
8691
8696
8705
8722
8723
8730
8740
8744
8756
8760
8763
8767
8776
8778
8780
8781
8785
8797
8799
8800
8801
8803
8804
8807
8810
8811
8814
8819
8832
8833
8835
8842
8847
8853
8859
8860
8867
8872
8875
8876
8879
8880
8882
8884
8890
8892
8895
8896
8900
8901
8906
8907
8913
8914
8915
8922
8923
8928
8931
8937
8938
8940
8948
8949
8951
8954
8955
8956
8957
8961
8964
8968
8971
8972
8978
8979
8986
8989
8993
9013
9014
9017
9020
9030
9031
9032
9033
9039
9044
9045
9049
9051
9059
9064
9066
9067
9068
9071
9073
9074
9075
9093
9096
9100
9102
9104
9106
9111
9112
9114
9119
9120
9123
9126
9135
9138
9140
9141
9142
9146
9150
9151
9158
9160
9161
9162
9189
9196
9211
9214
9219
9221
9224
9229
9234
9236
9242
9244
9245
9246
9249
9255
9258
9263
9272
9281
9282
9295
9298
9299
9306
9316
9317
9319
9322
9323
9329
9337
9338
9349
9359
9361
9369
9375
9378
9380
9385
9386
9388
9397
9405
9406
9410
9414
9418
9419
9426
9428
9438
9439
9444
9446
9447
9449
9450
9457
9458
9459
9465
9468
9469
9470
9472
9478
9479
9481
9489
9499
9503
9506
9511
9516
9517
9519
9520
9525
9527
9529
9530
9533
9538
9543
9544
9553
9557
9565
9568
9576
9579
9581
9584
9585
9605
9609
9610
9614
9618
9619
9627
9629
9634
9646
9647
9648
9652
9658
9660
9661
9662
9664
9666
9670
9671
9675
9681
9686
9687
9691
9697
9700
9701
9707
9712
9713
9725
9726
9730
9732
9750
9754
9756
9758
9761
9764
9765
9767
9769
9778
9780
9790
9796
9799
9816
9825
9831
9833
9837
9841
9843
9848
9852
9861
9864
9866
9870
9872
9886
9887
9888
9889
9891
9892
9893
9896
9897
9899
9901
9908
9911
9914
9925
9929
9930
9932
9936
9937
9942
9950
9951
9957
9959
9961
9964
9965
9969
9972
9976
9977
9982
9983
9984
9987
9992
9995
9997
9999
10003
10010
10012
10015
10028
10033
10034
10036
10038
10043
10044
10047
10050
10058
10059
10070
10073
10077
10079
10081
10087
10091
10093
10104
10112
10114
10115
10119
10123
10126
10129
10130
10137
10142
10146
10153
10159
10160
10161
10164
10171
10179
10184
10191
10221
10223
10230
10231
10233
10243
10245
10255
10257
10258
10267
10289
10294
10296
10297
10299
10304
10312
10313
10317
10325
10328
10331
10333
10344
10350
10357
10360
10362
10363
10367
10370
10376
10383
10385
10397
10398
10407
10410
10412
10420
10425
10428
10429
10440
10441
10444
10451
10455
10477
10481
10484
10491
10492
10498
10503
10505
10508
10509
10510
10513
10514
10519
10520
10521
10526
10527
10530
10532
10535
10537
10544
10545
10564
10567
10568
10570
10572
10573
10578
10580
10582
10588
10589
10594
10597
10604
10605
10608
10611
10614
10615
10622
10626
10630
10633
10639
10648
10655
10671
10676
10680
10693
10695
10696
10701
10712
10713
10716
10718
10721
10726
10727
10732
10733
10735
10736
10739
10747
10748
10751
10753
10758
10764
10767
10770
10772
10773
10775
10776
10782
10784
10785
