0
0
1
1
1
1
1
3
4
5
5
5
5
5
6
7
7
7
9
9
9
9
9
9
12
12
12
12
20
22
22
32
65
96
122
149
149
149
150
150
150
150
150
151
151
151
153
154
154
154
154
154
154
154
154
155
155
155
155
155
155
155
155
155
155
155
157
159
159
159
159
159
159
159
159
159
159
159
160
163
163
163
163
163
163
163
163
163
163
163
163
164
164
164
164
164
164
164
164
164
164
165
167
170
170
170
170
170
170
170
170
170
170
170
170
170
170
171
171
171
172
172
172
172
173
173
173
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
176
180
180
180
180
180
180
180
180
180
183
184
184
188
188
188
188
188
189
189
189
189
189
189
189
190
190
191
191
191
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
198
198
198
198
198
198
198
198
201
201
201
201
201
201
201
201
202
202
202
203
210
210
210
213
213
213
218
218
218
218
218
218
218
218
218
218
220
224
232
232
232
232
232
232
233
234
238
238
243
243
247
247
247
247
247
252
255
255
255
257
257
259
262
262
264
264
276
276
283
283
283
286
297
297
297
297
297
297
301
314
342
342
343
343
343
362
388
412
436
436
438
452
467
471
472
486
497
527
548
579
603
635
651
705
715
769
794
820
868
868
868
868
868
868
868
868
868
868
868
868
868
868
868
868
868
869
871
871
871
871
871
871
871
871
871
871
871
871
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
874
876
876
876
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
878
880
880
880
881
881
881
882
882
882
882
882
882
882
882
882
882
882
882
882
882
882
882
883
883
883
883
883
883
883
883
883
884
884
886
887
887
887
887
887
887
887
887
888
888
888
888
888
888
888
888
888
888
888
888
888
888
888
888
888
888
891
894
894
894
898
898
898
898
898
898
900
900
900
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
901
902
905
905
907
909
911
911
911
911
911
911
911
911
911
913
913
913
913
916
916
916
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
919
920
920
920
920
921
921
924
926
929
929
929
929
930
933
935
935
935
937
937
937
937
938
941
942
946
950
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
955
956
956
956
956
956
957
959
959
959
960
960
961
961
961
961
961
961
961
962
962
962
962
962
962
962
962
962
963
965
967
967
967
967
967
968
971
974
974
974
976
977
979
983
986
989
989
992
992
992
992
992
992
992
992
992
992
993
993
994
995
995
995
996
996
996
997
997
1000
1003
1003
1003
1003
1005
1005
1005
1007
1007
1007
1007
1007
1007
1008
1008
1008
1008
1008
1008
1008
1008
1008
1021
1021
1021
1027
1027
1039
1052
1052
1052
1052
1058
1062
1062
1062
1067
1067
1067
1067
1072
1072
1072
1076
1076
1076
1078
1078
1078
1078
1078
1078
1082
1082
1082
1088
1095
1105
1118
1118
1118
1118
1118
1118
1118
1118
1118
1127
1134
1140
1152
1152
1152
1152
1152
1153
1155
1159
1171
1171
1171
1178
1190
1190
1190
1192
1201
1204
1217
1227
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1245
1248
1248
1253
1264
1270
1275
1288
1299
1304
1318
1332
1332
1332
1338
1338
1338
1338
1338
1341
1347
1357
1372
1374
1377
1382
1382
1393
1413
1448
1478
1501
1522
1547
1570
1605
1636
1646
1656
1687
1717
1741
1767
1801
1806
1806
1807
1813
1838
1868
1899
1899
1930
1955
1955
1955
1955
1955
1955
1955
1955
1955
1955
1957
1957
1957
1957
1957
1957
1957
1957
1957
1957
1959
1963
1963
1963
1963
1963
1963
1963
1963
1963
1965
1965
1965
1965
1965
1965
1965
1965
1965
1965
1968
1973
1973
1973
1975
1975
1980
1980
1981
1981
1985
1985
1989
1989
1989
1989
1992
1992
1992
1992
1993
1994
1999
1999
2004
2009
2009
2009
2010
2010
2010
2012
2012
2012
2012
2012
2012
2012
2012
2014
2014
2014
2014
2014
2015
2015
2015
2015
2015
2015
2015
2015
2015
2015
2016
2016
2016
2017
2017
2017
2017
2017
2017
2017
2017
2017
2017
2017
2017
2017
2021
2021
2021
2021
2021
2024
2028
2028
2028
2028
2028
2028
2028
2028
2028
2028
2028
2028
2029
2029
2033
2033
2034
2034
2038
2038
2038
2038
2038
2038
2038
2041
2044
2044
2044
2046
2048
2050
2050
2053
2058
2063
2068
2068
2068
2070
2070
2070
2070
2070
2070
2072
2072
2076
2079
2079
2079
2079
2082
2082
2082
2082
2082
2082
2082
2082
2083
2083
2083
2083
2083
2083
2086
2086
2087
2090
2090
2093
2097
2097
2097
2097
2097
2097
2097
2097
2100
2105
2110
2115
2115
2115
2115
2115
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2121
2126
2126
2126
2126
2129
2134
2134
2134
2134
2134
2134
2134
2149
2155
2165
2174
2189
2204
2219
2232
2246
2261
2273
2273
2278
2285
2295
2305
2311
2326
2336
2346
2356
2366
2376
2391
2406
2406
2421
2431
2439
2446
2461
2471
2486
2501
2511
2521
2531
2531
2546
2561
2571
2575
2580
2580
2580
2584
2584
2589
2593
2598
2603
2603
2603
2606
2610
2610
2614
2614
2619
2624
2629
2634
2639
2639
2644
2649
2649
2654
2659
2664
2664
2665
2665
2665
2665
2668
2670
2671
2672
2672
2672
2672
2675
2678
2679
2679
2681
2683
2683
2683
2688
2696
2698
2702
2713
2713
2723
2732
2733
2733
2746
2780
2808
2830
2854
2854
2854
2855
2855
2855
2855
2858
2860
2860
2860
2864
2867
2867
2867
2870
2872
2872
2872
2876
2878
2878
2878
2879
2880
2880
2880
2881
2881
2881
2881
2884
2886
2886
2886
2886
2886
2886
2886
2886
2886
2886
2887
2888
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2894
2897
2898
2898
2898
2899
2899
2901
2905
2908
2908
2910
2914
2919
2919
2919
2920
2920
2921
2923
2926
2930
2931
2933
2936
2939
2939
2940
2940
2940
2944
2946
2946
2946
2948
2949
2953
2957
2957
2957
2957
2957
2957
2957
2957
2957
2959
2963
2964
2965
2966
2966
2966
2966
2966
2966
2966
2966
2967
2968
2969
2970
2970
2970
2970
2970
2970
2970
2970
2970
2972
2972
2975
2979
2980
2983
2983
2986
2986
2986
2986
2986
2990
2993
2998
3003
3006
3010
3014
3018
3020
3022
3026
3030
3030
3032
3032
3037
3037
3039
3040
3044
3046
3047
3048
3050
3051
3051
3058
3061
3061
3061
3064
3072
3072
3079
3090
3101
3101
3103
3107
3112
3118
3120
3134
3146
3149
3149
3153
3157
3160
3160
3164
3166
3166
3170
3183
3191
3191
3198
3204
3204
3208
3218
3218
3218
3218
3218
3218
3229
3240
3244
3250
3263
3276
3290
3304
3304
3317
3331
3345
3356
3361
3375
3384
3394
3405
3420
3422
3426
3431
3437
3448
3453
3455
3459
3462
3468
3477
3482
3488
3488
3489
3493
3496
3511
3513
3535
3557
3572
3572
3572
3575
3582
3604
3633
3662
3692
3692
3701
3716
3741
3759
3784
3808
3831
3838
3839
3853
3868
3873
3873
3886
3896
3920
3938
3965
3980
4011
4036
4088
4140
4190
4217
4242
4283
4283
4283
4286
4287
4287
4287
4287
4287
4287
4288
4288
4288
4288
4289
4291
4291
4294
4298
4300
4300
4303
4306
4307
4307
4311
4312
4312
4312
4314
4317
4317
4317
4317
4317
4317
4317
4317
4317
4317
4319
4319
4323
4324
4326
4327
4327
4330
4333
4333
4333
4337
4342
4342
4342
4346
4348
4352
4352
4356
4359
4359
4359
4359
4359
4359
4359
4363
4368
4370
4372
4377
4382
4383
4384
4387
4390
4390
4390
4395
4399
4399
4399
4399
4399
4399
4399
4401
4401
4401
4403
4405
4409
4410
4412
4416
4419
4420
4420
4423
4424
4424
4424
4425
4427
4427
4427
4427
4430
4430
4432
4435
4435
4435
4437
4437
4437
4440
4440
4440
4440
4441
4441
4441
4443
4447
4448
4448
4448
4448
4450
4450
4450
4451
4454
4455
4456
4457
4460
4463
4464
4468
4471
4471
4471
4474
4478
4478
4479
4480
4482
4482
4482
4485
4486
4486
4486
4486
4486
4486
4489
4489
4489
4489
4489
4489
4492
4494
4498
4502
4505
4509
4513
4513
4513
4516
4516
4520
4524
4527
4529
4530
4530
4533
4537
4537
4537
4537
4540
4540
4543
4543
4543
4543
4543
4543
4547
4547
4547
4549
4549
4552
4552
4552
4552
4552
4552
4552
4552
4552
4552
4553
4553
4556
4556
4557
4557
4557
4561
4564
4569
4573
4573
4574
4577
4581
4585
4589
4593
4593
4596
4598
4602
4602
4602
4602
4602
4602
4607
4607
4607
4609
4609
4609
4614
4617
4620
4620
4623
4623
4627
4630
4634
4637
4637
4639
4643
4644
4647
4647
4651
4651
4651
4655
4659
4661
4665
4667
4672
4675
4680
4685
4690
4694
4697
4702
4706
4710
4715
4719
4719
4722
4726
4729
4734
4737
4741
4745
4750
4755
4760
4760
4760
4760
4764
4764
4766
4769
4774
4774
4776
4779
4784
4785
4786
4786
4788
4791
4796
4801
4805
4810
4815
4819
4824
4829
4834
4839
4844
4848
4853
4856
4861
4866
4871
4876
4876
4881
4886
4891
4896
4897
4897
4901
4903
4905
4905
4909
4912
4915
4919
4922
4922
4925
4930
4935
4939
4944
4947
4949
4954
4957
4961
4966
4971
4973
4976
4979
4983
4986
4990
4991
4991
4991
4991
4993
4996
5000
5005
5005
5006
5007
5011
5016
5017
5020
5020
5021
5021
5025
5030
5032
5033
5035
5037
5038
5038
5040
5040
5041
5044
5044
5044
5056
5061
5066
5067
5067
5070
5070
5070
5070
5083
5083
5083
5097
5104
5118
5132
5138
5145
5159
5174
5183
5188
5202
5212
5212
5212
5223
5231
5231
5231
5239
5241
5243
5250
5250
5254
5254
5254
5254
5263
5263
5263
5278
5284
5299
5314
5318
5320
5330
5341
5345
5347
5358
5363
5375
5380
5395
5408
5414
5422
5425
5440
5453
5466
5481
5496
5507
5520
5535
5550
5559
5571
5585
5597
5609
5622
5637
5652
5652
5655
5656
5656
5657
5660
5666
5672
5672
5678
5687
5699
5701
5706
5715
5724
5725
5728
5734
5740
5740
5755
5769
5776
5787
5802
5817
5828
5842
5857
5869
5876
5890
5903
5913
5913
5925
5925
5931
5935
5940
5952
5967
5982
5997
6003
6010
6025
6035
6047
6071
6105
6132
6159
6182
6206
6233
6268
6298
6316
6334
6363
6396
6426
6457
6489
6508
6539
6570
6603
6633
6663
6693
6708
6737
6765
6765
6765
6765
6765
6765
6765
6765
6765
6765
6768
6769
6769
6770
6770
6770
6770
6770
6770
6770
6774
6779
6779
6779
6779
6779
6783
6783
6783
6783
6786
6789
6792
6792
6792
6792
6792
6792
6792
6792
6797
6802
6802
6802
6807
6807
6812
6812
6817
6817
6821
6821
6825
6825
6825
6825
6830
6830
6834
6834
6838
6843
6848
6848
6853
6858
6861
6861
6865
6868
6868
6873
6873
6873
6874
6876
6879
6879
6883
6888
6890
6890
6890
6890
6892
6892
6892
6892
6892
6892
6892
6892
6892
6893
6895
6899
6899
6900
6901
6901
6901
6901
6901
6901
6904
6908
6908
6908
6911
6911
6915
6915
6916
6916
6920
6924
6928
6928
6928
6928
6928
6928
6928
6928
6931
6931
6935
6935
6940
6940
6945
6945
6950
6950
6955
6955
6958
6958
6962
6962
6962
6966
6970
6974
6978
6983
6987
6990
6990
6995
7000
7005
7010
7010
7010
7014
7014
7014
7014
7014
7014
7016
7021
7026
7030
7034
7035
7040
7045
7045
7047
7047
7047
7050
7050
7052
7057
7061
7064
7064
7067
7071
7076
7081
7086
7091
7095
7100
7105
7110
7112
7117
7121
7124
7129
7134
7139
7144
7149
7154
7158
7162
7167
7172
7177
7177
7177
7177
7177
7177
7177
7180
7184
7184
7184
7184
7184
7187
7191
7191
7194
7194
7198
7198
7198
7198
7198
7198
7198
7198
7199
7201
7201
7201
7206
7211
7211
7211
7211
7216
7221
7221
7221
7221
7221
7224
7228
7243
7253
7268
7282
7297
7312
7327
7340
7355
7370
7382
7382
7394
7404
7414
7429
7444
7459
7469
7479
7489
7499
7513
7528
7543
7543
7558
7573
7587
7602
7617
7632
7647
7662
7677
7692
7707
7707
7722
7737
7752
7756
7761
7761
7761
7765
7765
7770
7774
7779
7784
7784
7784
7789
7793
7793
7797
7797
7802
7807
7812
7817
7822
7822
7827
7832
7832
7837
7842
7847
