2
4
7
10
12
13
20
22
24
31
33
34
35
38
44
45
46
47
48
49
69
70
73
77
80
85
96
99
100
102
108
109
112
113
116
118
119
126
127
131
137
140
141
153
154
161
163
168
169
170
173
179
183
184
187
191
192
196
201
207
227
234
243
245
246
249
251
254
255
264
273
276
280
282
286
289
291
292
295
307
313
314
316
322
323
325
334
335
341
343
344
345
351
352
353
354
355
359
389
390
392
395
396
398
411
415
421
424
425
430
435
438
440
441
447
451
453
456
462
463
468
469
478
479
483
485
487
489
491
505
513
516
518
519
521
523
527
528
533
535
544
546
554
559
562
566
567
568
570
575
590
600
602
605
609
614
615
616
622
629
631
633
634
636
643
645
646
651
653
657
659
662
669
674
680
684
693
697
700
702
711
712
714
716
718
719
724
725
726
735
744
745
759
772
781
783
785
787
791
793
794
799
804
805
806
807
809
810
815
820
821
834
837
839
843
846
848
851
853
864
865
869
870
873
876
877
878
885
888
900
904
907
909
913
917
922
923
925
928
929
930
933
935
939
940
944
958
960
964
973
974
980
982
983
990
991
994
996
1010
1011
1013
1020
1027
1031
1032
1033
1035
1037
1040
1046
1052
1053
1056
1057
1060
1063
1066
1077
1085
1091
1096
1097
1098
1100
1101
1104
1107
1115
1116
1121
1124
1125
1126
1130
1134
1135
1140
1146
1155
1156
1159
1162
1168
1173
1181
1187
1191
1192
1198
1200
1202
1204
1205
1210
1214
1222
1227
1230
1231
1232
1233
1235
1237
1239
1241
1246
1249
1250
1261
1262
1265
1266
1268
1277
1278
1281
1282
1284
1287
1295
1307
1309
1312
1313
1322
1328
1329
1334
1335
1341
1347
1349
1350
1352
1354
1355
1358
1359
1361
1366
1368
1374
1375
1377
1382
1388
1392
1393
1395
1396
1400
1401
1405
1408
1419
1427
1429
1433
1437
1439
1443
1444
1448
1449
1451
1460
1461
1465
1473
1475
1476
1483
1486
1488
1498
1499
1500
1503
1514
1515
1516
1518
1523
1524
1528
1530
1531
1533
1536
1540
1543
1546
1547
1550
1556
1557
1562
1563
1564
1566
1570
1571
1573
1575
1582
1584
1592
1596
1600
1602
1604
1606
1608
1616
1619
1626
1634
1636
1642
1647
1652
1655
1658
1659
1660
1662
1666
1668
1672
1681
1682
1683
1686
1689
1690
1693
1696
1697
1698
1699
1702
1703
1710
1713
1718
1724
1727
1733
1735
1737
1740
1752
1755
1757
1758
1763
1767
1769
1774
1779
1786
1788
1790
1791
1800
1805
1808
1810
1813
1821
1822
1827
1829
1835
1836
1837
1842
1848
1852
1854
1857
1863
1867
1872
1875
1879
1883
1885
1886
1892
1894
1895
1898
1901
1903
1906
1916
1919
1924
1928
1929
1932
1934
1940
1942
1945
1949
1954
1964
1967
1971
1982
1983
1984
1991
1997
1999
2001
2005
2007
2008
2013
2018
2020
2022
2024
2026
2043
2046
2049
2056
2057
2058
2060
2063
2066
2067
2076
2078
2081
2084
2085
2089
2094
2101
2105
2108
2111
2113
2120
2125
2132
2133
2137
2142
2143
2145
2148
2151
2153
2155
2159
2160
2175
2179
2191
2192
2198
2200
2202
2215
2219
2220
2221
2223
2225
2227
2229
2241
2243
2248
2260
2262
2263
2264
2265
2266
2270
2271
2276
2278
2284
2285
2287
2289
2295
2300
2301
2302
2305
2306
2311
2326
2327
2328
2331
2332
2333
2336
2342
2345
2359
2360
2362
2365
2368
2375
2376
2378
2383
2389
2391
2399
2400
2404
2410
2412
2413
2414
2416
2419
2420
2421
2422
2425
2426
2429
2430
2432
2438
2440
2443
2458
2460
2461
2465
2468
2475
2477
2481
2484
2487
2488
2495
2503
2504
2506
2509
2511
2512
2516
2517
2523
2524
2529
2532
2540
2543
2553
2554
2559
2561
2565
2571
2578
2579
2583
2584
2588
2592
2600
2602
2613
2615
2617
2624
2631
2637
2639
2640
2642
2645
2647
2652
2655
2660
2661
2667
2669
2670
2671
2673
2674
2678
2680
2682
2686
2690
2691
2692
2697
2698
2706
2711
2714
2716
2728
2731
2736
2741
2742
2753
2754
2757
2760
2761
2762
2770
2798
2802
2811
2814
2816
2820
2823
2825
2831
2832
2842
2844
2847
2851
2852
2854
2855
2860
2862
2863
2869
2875
2879
2883
2885
2886
2891
2893
2897
2899
2902
2904
2911
2915
2919
2923
2931
2932
2934
2936
2941
2947
2949
2954
2955
2956
2963
2967
2976
2978
2979
2981
2988
2990
2993
2995
3003
3008
3012
3014
3015
3016
3025
3026
3028
3034
3040
3041
3043
3044
3051
3053
3057
3058
3060
3066
3067
3068
3072
3086
3091
3097
3099
3100
3104
3107
3112
3115
3116
3119
3124
3133
3136
3137
3141
3147
3151
3152
3161
3162
3163
3167
3168
3175
3178
3179
3184
3192
3194
3195
3201
3205
3206
3208
3218
3219
3220
3221
3223
3224
3230
3231
3232
3235
3237
3238
3240
3242
3246
3248
3250
3251
3254
3255
3266
3267
3268
3281
3284
3286
3294
3299
3303
3304
3305
3315
3316
3320
3321
3324
3330
3342
3346
3354
3357
3360
3367
3369
3375
3379
3390
3396
3399
3401
3406
3407
3414
3415
3422
3423
3426
3444
3446
3451
3452
3459
3460
3462
3463
3464
3475
3476
3479
3486
3487
3489
3490
3493
3501
3502
3505
3510
3513
3520
3523
3526
3540
3542
3544
3557
3572
3573
3578
3580
3582
3593
3596
3601
3604
3605
3606
3610
3611
3618
3620
3622
3627
3629
3630
3638
3639
3642
3647
3657
3660
3661
3663
3666
3667
3668
3676
3682
3689
3697
3706
3709
3710
3714
3715
3718
3719
3721
3722
3723
3727
3730
3731
3732
3733
3739
3740
3742
3751
3752
3754
3760
3762
3764
3765
3767
3770
3773
3782
3783
3788
3789
3791
3795
3797
3799
3800
3808
3812
3814
3816
3818
3831
3834
3837
3839
3846
3847
3849
3853
3854
3855
3859
3861
3863
3864
3872
3876
3877
3879
3881
3886
3893
3895
3897
3898
3900
3903
3911
3912
3915
3917
3922
3923
3926
3929
3935
3938
3945
3947
3948
3949
3954
3957
3966
3967
3977
3978
3979
3986
3993
3997
3998
4002
4010
4017
4027
4029
4036
4038
4039
4048
4059
4060
4062
4063
4064
4065
4066
4068
4071
4074
4075
4078
4079
4083
4084
4087
4088
4093
4101
4105
4109
4112
4118
4121
4124
4127
4129
4131
4132
4134
4135
4140
4146
4147
4151
4156
4162
4170
4173
4176
4178
4179
4195
4198
4205
4209
4212
4213
4215
4218
4219
4220
4221
4222
4224
4225
4229
4231
4246
4248
4249
4252
4258
4261
4265
4273
4274
4280
4281
4285
4286
4291
4292
4297
4301
4305
4313
4329
4333
4342
4350
4351
4352
4353
4358
4362
4365
4366
4370
4373
4375
4377
4379
4381
4383
4385
4396
4399
4400
4401
4402
4403
4404
4405
4407
4408
4410
4413
4415
4419
4420
4426
4428
4438
4440
4441
4445
4451
4457
4461
4462
4486
4487
4488
4493
4495
4497
4499
4501
4506
4507
4511
4512
4521
4530
4532
4533
4537
4543
4548
4549
4551
4558
4560
4563
4566
4570
4572
4573
4579
4584
4585
4589
4597
4601
4607
4613
4633
4645
4648
4655
4659
4661
4663
4665
4666
4673
4674
4675
4677
4678
4685
4686
4687
4688
4690
4692
4695
4696
4701
4706
4707
4714
4715
4717
4723
4738
4744
4745
4749
4752
4758
4761
4768
4774
4776
4778
4788
4791
4800
4801
4802
4807
4813
4816
4819
4820
4824
4825
4827
4828
4833
4840
4842
4847
4852
4854
4861
4865
4868
4869
4872
4874
4876
4878
4879
4881
4891
4903
4906
4910
4918
4924
4928
4932
4935
4936
4939
4943
4946
4954
4957
4963
4965
4967
4974
4978
4979
4984
4989
4990
4995
4997
5005
5013
5014
5016
5017
5021
5022
5027
5036
5042
5050
5055
5057
5059
5061
5078
5082
5091
5094
5096
5097
5104
5108
5109
5112
5116
5122
5123
5128
5135
5146
5148
5154
5155
5157
5160
5165
5166
5167
5169
5174
5176
5181
5194
5197
5201
5203
5206
5210
5219
5224
5228
5229
5249
5251
5255
5258
5265
5266
5270
5275
5280
5283
5305
5306
5308
5318
5320
5325
5328
5329
5332
5334
5339
5342
5348
5362
5366
5367
5368
5369
5371
5372
5373
5374
5376
5379
5381
5384
5385
5387
5388
5389
5391
5395
5402
5404
5410
5412
5418
5419
5420
5424
5425
5426
5427
5433
5440
5441
5443
5453
5462
5464
5467
5470
5474
5477
5479
5483
5485
5491
5494
5495
5496
5501
5503
5504
5505
5507
5515
5516
5521
5522
5524
5525
5531
5536
5537
5539
5541
5547
5549
5552
5553
5555
5556
5557
5566
5568
5570
5573
5574
5575
5577
5578
5581
5583
5586
5595
5596
5598
5599
5604
5609
5613
5616
5622
5628
5632
5634
5635
5637
5638
5651
5653
5654
5663
5668
5669
5678
5679
5686
5691
5692
5693
5696
5709
5710
5714
5716
5721
5727
5729
5730
5735
5741
5754
5758
5762
5772
5778
5783
5784
5785
5790
5792
5797
5799
5803
5815
5816
5817
5820
5829
5830
5833
5840
5849
5850
5854
5855
5856
5857
5860
5863
5865
5867
5869
5871
5872
5878
5880
5886
5890
5891
5894
5895
5900
5903
5908
5912
5915
5919
5921
5925
5928
5929
5932
5933
5934
5946
5952
5959
5962
5971
5972
5978
5979
5980
5985
5986
5990
5991
5998
5999
6004
6008
6012
6018
6019
6020
6024
6037
6044
6047
6048
6051
6056
6069
6080
6086
6090
6093
6100
6106
6114
6122
6126
6128
6129
6130
6134
6146
6152
6157
6158
6167
6170
6171
6175
6177
6184
6185
6195
6198
6203
6206
6207
6218
6220
6224
6233
6234
6236
6242
6244
6246
6251
6253
6256
6257
6268
6277
6278
6284
6287
6294
6300
6301
6302
6303
6307
6309
6311
6312
6313
6323
6325
6327
6328
6329
6335
6348
6353
6359
6360
6363
6368
6370
6372
6375
6382
6393
6394
6404
6405
6408
6412
6413
6414
6417
6419
6420
6421
6429
6435
6437
6439
6443
6444
6449
6455
6465
6467
6472
6477
6481
6483
6486
6487
6489
6492
6497
6504
6505
6506
6510
6511
6513
6514
6516
6519
6520
6524
6525
6527
6532
6533
6536
6537
6538
6539
6550
6557
6560
6562
6563
6564
6565
6566
6569
6571
6574
6575
6576
6581
6583
6586
6587
6590
6591
6593
6594
6600
6603
6604
6609
6617
6618
6619
6621
6625
6631
6636
6637
6639
6640
6648
6651
6660
6662
6667
6670
6673
6674
6675
6677
6682
6689
6691
6693
6697
6699
6706
6708
6709
6711
6715
6718
6720
6721
6724
6731
6734
6742
6745
6746
6754
6758
6760
6780
6784
6785
6788
6794
6796
6804
6812
6816
6826
6827
6838
6840
6844
6848
6854
6860
6863
6866
6867
6874
6877
6882
6886
6897
6903
6905
6906
6908
6911
6913
6929
6931
6938
6939
6940
6951
6952
6961
6962
6963
6965
6970
6972
6973
6974
6977
6981
6982
6984
6987
6992
6999
7005
7007
7008
7012
7014
7016
7017
7021
7022
7031
7036
7043
7052
7057
7060
7064
7070
7072
7080
7081
7106
7112
7119
7120
7125
7126
7131
7132
7135
7143
7144
7145
7146
7162
7163
7166
7167
7169
7170
7174
7177
7181
7182
7183
7185
7186
7189
7190
7206
7208
7214
7219
7224
7226
7230
7233
7234
7235
7240
7247
7250
7251
7255
7263
7264
7268
7272
7275
7279
7282
7284
7285
7288
7291
7294
7295
7297
7312
7317
7318
7322
7328
7331
7333
7334
7335
7346
7356
7357
7358
7362
7365
7368
7370
7373
7386
7389
7391
7394
7396
7400
7403
7404
7410
7415
7416
7424
7425
7427
7429
7431
7433
7439
7440
7441
7447
7449
7454
7456
7460
7461
7462
7464
7466
7468
7469
7475
7484
7486
7503
7506
7508
7517
7522
7527
7528
7530
7532
7533
7540
7546
7552
7558
7560
7561
7563
7564
7568
7570
7572
7579
7582
7583
7590
7593
7603
7604
7608
7609
7611
7612
7613
7616
7619
7621
7627
7630
7632
7636
7637
7638
7645
7646
7647
7648
7650
7654
7658
7659
7660
7677
7678
7682
7683
7686
7690
7692
7695
7704
7708
7709
7712
7717
7720
7721
7722
7724
7726
7728
7734
7739
7742
7743
7754
7759
7760
7761
7762
7764
7775
7783
7784
7786
7789
7790
7795
7796
7798
7799
7802
7804
7809
7811
7818
7830
7835
7843
7846
7848
7854
7855
7859
7860
7863
7864
7865
7873
7875
7877
7878
7879
7881
7885
7886
7891
7893
7894
7895
7902
7906
7908
7916
7917
7925
7928
7929
7940
7941
7949
7957
7958
7959
7962
7968
7969
7970
7973
7975
7976
7977
7985
7986
7987
7988
7991
7993
8001
8002
8004
8011
8013
8018
8025
8030
8031
8036
8037
8045
8048
8052
8054
8057
8058
8059
8066
8068
8073
8078
8095
8096
8097
8101
8109
8122
8132
8133
8139
8142
8143
8145
8148
8151
8159
8162
8163
8171
8179
8184
8186
8192
8193
8195
8201
8204
8208
8212
8217
8219
8221
8234
8248
8249
8253
8254
8256
8257
8259
8260
8261
8265
8270
8271
8272
8277
8278
8283
8286
8290
8291
8297
8299
8300
8302
8304
8307
8311
8329
8331
8333
8334
8343
8344
8353
8355
8357
8360
8364
8365
8366
8368
8372
8373
8375
8392
8394
8400
8401
8408
8410
8411
8413
8420
8424
8425
8429
8430
8431
8432
8433
8436
8438
8441
8445
8468
8470
8476
8481
8484
8487
8489
8490
8493
8494
8496
8498
8503
8504
8508
8512
8514
8515
8517
8520
8527
8528
8538
8539
8543
8548
8550
8556
8557
8561
8562
8563
8566
8569
8570
8579
8580
8581
8589
8596
8602
8605
8606
8610
8613
8616
8620
8622
8623
8627
8636
8641
8647
8648
8649
8652
8655
8656
8657
8663
8664
8666
8669
8677
8686
8698
8704
8708
8712
8715
8718
8724
8725
8726
8729
8731
8732
8733
8734
8739
8745
8748
8756
8759
8761
8763
8770
8771
8774
8785
8788
8794
8795
8798
8800
8801
8803
8804
8805
8807
8808
8826
8827
8828
8830
8843
8846
8857
8862
8865
8866
8869
8874
8879
8882
8890
8896
8903
8908
8913
8914
8915
8921
8923
8931
8932
8961
8966
8971
8974
8997
9003
9008
9009
9014
9015
9019
9024
9025
9034
9035
9036
9042
9045
9051
9053
9060
9062
9066
9068
9070
9073
9077
9078
9081
9082
9086
9090
9095
9097
9099
9100
9102
9112
9113
9117
9120
9133
9134
9142
9144
9159
9160
9163
9165
9175
9180
9186
9195
9197
9201
9202
9207
9214
9217
9219
9225
9237
9238
9240
9241
9246
9247
9249
9255
9258
9263
9274
9275
9285
9286
9287
9288
9292
9293
9296
9299
9305
9308
