0
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
9
9
9
12
14
14
14
14
14
14
29
29
29
32
35
35
68
89
102
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
117
117
117
117
118
118
118
118
119
119
119
119
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
123
124
127
127
128
130
131
131
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
134
134
134
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
138
140
141
142
145
145
145
145
145
145
145
145
150
150
150
150
150
150
150
150
150
150
150
150
152
152
152
152
152
152
152
152
154
159
159
159
159
159
159
159
159
164
164
164
164
166
166
166
166
169
169
169
169
172
172
172
172
178
178
178
178
178
178
178
178
178
186
188
190
193
196
196
196
196
196
201
203
205
205
205
205
205
205
205
209
215
215
226
226
234
234
234
234
234
234
234
235
235
235
235
237
237
237
238
238
249
249
255
255
255
260
269
275
289
292
295
295
300
314
335
335
342
342
342
361
392
424
451
451
457
466
476
478
483
487
488
497
516
546
559
575
595
637
654
702
716
728
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
751
753
753
753
755
755
755
755
755
755
758
758
758
758
762
762
762
762
763
763
763
763
764
764
764
764
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
768
769
769
769
769
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
770
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
778
778
778
778
778
778
778
778
783
783
783
783
786
786
786
786
788
788
789
789
794
794
794
794
794
794
794
794
794
794
794
794
794
794
794
796
799
799
803
806
807
807
807
807
807
807
807
808
808
808
808
809
809
813
813
813
816
818
818
818
818
818
818
818
818
818
818
818
818
818
818
818
819
819
819
819
819
819
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
825
825
826
830
833
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
835
836
836
836
836
836
836
836
836
836
836
836
836
838
838
838
840
843
843
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
848
852
852
852
852
865
865
865
870
870
879
892
892
892
892
898
898
898
898
898
898
898
898
899
899
899
908
909
910
917
917
923
923
923
923
933
933
933
939
952
962
976
976
978
978
978
979
982
982
983
989
1003
1008
1016
1016
1016
1016
1016
1019
1022
1031
1043
1043
1043
1052
1064
1064
1064
1067
1076
1079
1092
1101
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1115
1115
1115
1115
1116
1116
1117
1117
1117
1117
1117
1117
1117
1118
1119
1119
1124
1135
1137
1142
1154
1158
1162
1176
1189
1189
1189
1195
1195
1195
1195
1195
1198
1204
1214
1227
1227
1227
1232
1232
1234
1251
1279
1307
1327
1336
1341
1363
1393
1426
1437
1449
1475
1503
1518
1539
1571
1580
1582
1588
1596
1620
1649
1678
1678
1702
1712
1712
1712
1712
1712
1712
1712
1712
1712
1712
1714
1714
1714
1714
1714
1714
1714
1714
1714
1714
1718
1722
1722
1722
1722
1722
1722
1722
1723
1723
1724
1724
1724
1724
1724
1724
1724
1724
1724
1724
1727
1732
1732
1732
1734
1734
1736
1736
1737
1737
1740
1740
1744
1744
1744
1744
1746
1746
1746
1746
1746
1746
1749
1749
1754
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1757
1759
1761
1761
1761
1763
1763
1763
1763
1763
1763
1763
1763
1763
1763
1763
1765
1765
1765
1765
1766
1766
1766
1769
1774
1774
1774
1774
1774
1774
1774
1774
1774
1774
1774
1774
1776
1776
1776
1776
1777
1777
1778
1778
1778
1778
1778
1778
1778
1781
1782
1784
1784
1784
1784
1788
1788
1790
1795
1800
1805
1805
1805
1805
1805
1805
1805
1805
1805
1809
1809
1809
1810
1810
1811
1811
1812
1812
1812
1812
1812
1812
1812
1812
1814
1814
1814
1814
1814
1814
1815
1815
1817
1818
1818
1821
1822
1822
1822
1822
1822
1822
1822
1822
1825
1830
1835
1840
1840
1840
1843
1843
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1844
1847
1852
1852
1852
1852
1855
1858
1858
1858
1858
1858
1858
1858
1873
1879
1888
1895
1910
1924
1938
1951
1964
1979
1989
1989
1993
1993
2003
2013
2019
2034
2044
2054
2063
2073
2083
2098
2113
2113
2128
2136
2143
2149
2164
2172
2187
2202
2212
2222
2232
2232
2247
2262
2272
2276
2281
2281
2281
2285
2285
2290
2294
2299
2304
2304
2304
2307
2311
2311
2315
2315
2320
2325
2330
2335
2340
2340
2345
2350
2350
2355
2360
2365
2368
2368
2368
2368
2368
2368
2368
2368
2368
2368
2368
2368
2368
2368
2368
2374
2374
2374
2377
2379
2379
2380
2380
2380
2381
2394
2394
2395
2398
2401
2402
2437
2456
2469
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2485
2485
2485
2485
2486
2486
2486
2486
2487
2487
2487
2487
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2489
2491
2492
2495
2495
2496
2498
2499
2499
2500
2500
2500
2500
2500
2500
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2502
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2504
2505
2505
2505
2505
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2509
2511
2512
2513
2516
2516
2516
2516
2516
2516
2516
2516
2521
2521
2521
2521
2521
2521
2521
2521
2521
2521
2521
2521
2523
2523
2523
2523
2523
2523
2523
2523
2527
2532
2532
2532
2532
2532
2532
2533
2533
2539
2539
2539
2539
2542
2542
2542
2542
2545
2545
2545
2545
2548
2548
2548
2548
2554
2554
2555
2555
2555
2555
2555
2555
2555
2563
2566
2569
2572
2575
2575
2575
2575
2575
2580
2582
2585
2585
2585
2585
2585
2585
2586
2590
2596
2596
2609
2609
2617
2617
2617
2617
2617
2617
2617
2618
2618
2618
2618
2620
2620
2620
2620
2620
2631
2631
2638
2638
2638
2643
2652
2658
2672
2675
2680
2680
2685
2699
2720
2720
2728
2728
2728
2748
2779
2813
2843
2843
2849
2858
2868
2870
2875
2879
2881
2890
2908
2939
2953
2970
2990
3034
3051
3103
3118
3130
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3156
3156
3156
3159
3159
3159
3159
3159
3159
3163
3163
3163
3163
3167
3167
3167
3167
3168
3168
3168
3168
3169
3169
3169
3169
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3173
3174
3174
3174
3174
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3175
3178
3178
3178
3178
3178
3178
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3180
3183
3183
3183
3183
3183
3183
3183
3183
3188
3188
3188
3188
3191
3191
3191
3191
3193
3193
3194
3194
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3201
3204
3204
3208
3211
3212
3212
3212
3212
3212
3212
3212
3213
3213
3213
3213
3214
3214
3218
3218
3218
3221
3223
3223
3223
3223
3223
3223
3223
3223
3223
3223
3223
3223
3223
3223
3223
3224
3224
3224
3224
3224
3224
3227
3228
3230
3230
3230
3230
3232
3233
3233
3233
3233
3233
3234
3234
3234
3237
3240
3241
3245
3248
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3251
3252
3252
3252
3252
3252
3252
3254
3254
3254
3254
3254
3254
3256
3256
3256
3258
3261
3261
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3266
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3267
3271
3271
3271
3271
3284
3284
3284
3289
3289
3300
3313
3313
3313
3313
3319
3319
3319
3319
3319
3319
3319
3319
3320
3320
3320
3329
3330
3332
3340
3340
3346
3346
3346
3346
3356
3356
3356
3362
3376
3386
3400
3400
3402
3402
3402
3403
3406
3406
3407
3413
3427
3433
3442
3442
3442
3442
3442
3445
3448
3457
3470
3470
3470
3479
3491
3491
3491
3494
3503
3506
3519
3529
3541
3541
3541
3541
3541
3541
3541
3541
3541
3541
3544
3544
3544
3544
3546
3546
3547
3547
3547
3547
3547
3547
3547
3549
3550
3550
3556
3567
3569
3574
3587
3591
3595
3609
3623
3623
3623
3629
3629
3629
3629
3629
3632
3638
3648
3661
3661
3661
3666
3666
3668
3685
3714
3744
3767
3777
3782
3804
3834
3868
3879
3891
3918
3947
3972
3996
4028
4038
4040
4045
4054
4080
4110
4140
4140
4168
4178
4178
4178
4178
4178
4178
4178
4178
4178
4178
4180
4180
4180
4180
4180
4180
4180
4180
4180
4180
4184
4188
4188
4188
4188
4188
4188
4188
4189
4189
4190
4190
4190
4190
4190
4190
4190
4190
4190
4190
4193
4198
4198
4198
4201
4201
4203
4203
4204
4204
4207
4207
4211
4211
4211
4211
4213
4213
4213
4213
4213
4213
4216
4216
4221
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4224
4226
4228
4230
4230
4232
4232
4232
4232
4232
4232
4232
4232
4232
4232
4232
4234
4234
4235
4235
4236
4236
4236
4239
4244
4244
4244
4244
4244
4244
4244
4244
4244
4244
4244
4244
4246
4246
4247
4247
4248
4248
4249
4249
4249
4249
4249
4249
4249
4252
4253
4255
4255
4256
4256
4261
4261
4264
4269
4274
4279
4279
4279
4279
4279
4279
4279
4279
4279
4283
4283
4285
4286
4286
4287
4287
4288
4288
4288
4288
4288
4288
4288
4288
4291
4291
4291
4291
4292
4293
4294
4294
4297
4298
4298
4301
4305
4305
4305
4305
4305
4305
4305
4305
4308
4313
4318
4323
4323
4323
4326
4326
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4327
4330
4335
4335
4335
4335
4338
4341
4341
4341
4341
4341
4341
4341
4356
4362
4371
4378
4393
4407
4421
4434
4449
4464
4476
4476
4480
4480
4490
4499
4505
4520
4530
4540
4549
4559
4569
4584
4599
4599
4614
4623
4630
4637
4652
4662
4677
4692
4702
4712
4722
4722
4737
4752
4762
4766
4771
4771
4771
4775
4775
4780
4784
4789
4794
4794
4794
4797
4801
4801
4805
4805
4810
4815
4820
4825
4830
4830
4835
4840
4840
4845
4850
4855
4858
4858
4858
4858
4858
4858
4858
4858
4858
4858
4858
4858
4858
4858
4858
4864
4864
4864
4864
4864
4864
4865
4865
4865
4866
4879
4879
4880
4880
4883
4884
4908
4919
4926
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4936
4938
4938
4938
4938
4939
4939
4939
4939
4940
4940
4940
4940
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4942
4944
4945
4948
4948
4949
4951
4952
4952
4953
4953
4953
4954
4954
4954
4958
4958
4958
4960
4963
4963
4963
4963
4963
4963
4963
4963
4966
4966
4966
4966
4969
4969
4969
4969
4969
4969
4969
4969
4969
4969
4969
4969
4969
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4971
4974
4976
4977
4978
4982
4985
4987
4989
4989
4992
4995
4998
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5003
5009
5019
5019
5020
5020
5032
5038
5040
5040
5044
5044
5046
5052
5055
5055
5055
5055
5057
5057
5057
5057
5060
5060
5060
5060
5066
5066
5067
5067
5067
5067
5067
5067
5067
5077
5080
5083
5086
5089
5090
5102
5106
5108
5120
5127
5134
5144
5144
5154
5161
5172
5178
5187
5192
5197
5207
5216
5224
5224
5224
5224
5225
5226
5226
5227
5227
5227
5228
5229
5229
5229
5229
5229
5229
5229
5236
5236
5244
5249
5258
5271
5285
5294
5302
5323
5352
5376
5400
5401
5413
5426
5451
5470
5499
5527
5554
5554
5557
5565
5573
5573
5578
5581
5581
5586
5598
5621
5628
5640
5661
5705
5753
5791
5800
5806
5820
5820
5820
5820
5820
5820
5820
5820
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5824
5829
5829
5829
5834
5834
5839
5839
5840
5840
5845
5845
5846
5847
5852
5854
5854
5854
5855
5855
5855
5855
5856
5856
5856
5856
5860
5860
5860
5860
5860
5860
5860
5860
5860
5864
5867
5867
5869
5872
5875
5875
5876
5879
5879
5879
5879
5882
5885
5885
5885
5885
5885
5885
5885
5886
5886
5886
5887
5887
5888
5888
5889
5890
5890
5891
5891
5892
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5893
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5894
5898
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5902
5906
5906
5906
5906
5906
5906
5908
5908
5908
5908
5908
5908
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5910
5913
5913
5913
5913
5918
5918
5918
5918
5922
5922
5922
5925
5930
5934
5934
5934
5937
5937
5937
5937
5939
5939
5940
5942
5947
5951
5951
5956
5958
5959
5963
5967
5970
5975
5980
5983
5988
5992
5996
6001
6004
6004
6008
6011
6012
6012
6012
6012
6012
6012
6012
6013
6013
6013
6013
6014
6014
6018
6021
6021
6025
6026
6026
6029
6033
6036
6036
6036
6040
6041
6042
6042
6043
6043
6043
6047
6048
6050
6053
6056
6061
6065
6070
6075
6080
6081
6082
6083
6088
6092
6095
6096
6096
6096
6100
6103
6106
6111
6115
6118
6123
6127
6132
6132
6132
6132
6136
6136
6138
6141
6146
6146
6148
6150
6153
6154
6155
6155
6157
6160
6164
6169
6173
6178
6183
6186
6190
6195
6200
6205
6208
6210
6213
6213
6217
6220
6223
6228
6228
6233
6237
6242
6247
6247
6247
6247
6247
6247
6247
6247
6247
6250
6253
6253
6253
6253
6253
6253
6255
6255
6255
6255
6255
6255
6257
6257
6257
6258
6261
6263
6268
6270
6274
6274
6274
6274
6274
6274
6274
6275
6276
6276
6276
6276
6276
6276
6276
6278
6278
6278
6278
6279
6279
6279
6279
6279
6279
6279
6279
6279
6279
6279
6280
6280
6280
6280
6282
6282
6282
6282
6289
6289
6289
6289
6302
6302
6302
6313
6318
6329
6342
6348
6350
6360
6369
6370
6371
6371
6371
6371
6371
6382
6387
6387
6387
6401
6406
6412
6424
6424
6434
6434
6434
6434
6444
6444
6444
6459
6471
6486
6501
6501
6509
6516
6523
6523
6530
6537
6540
6549
6559
6574
6586
6592
6597
6597
6612
6625
6638
6653
6668
6676
6688
6702
6716
6724
6733
6745
6757
6768
6783
6797
6809
6809
6812
6813
6813
6814
6817
6823
6829
6829
6835
6842
6853
6855
6859
6865
6872
6873
6876
6882
6888
6888
6902
6916
6923
6937
6951
6965
6969
6981
6992
6993
6996
7010
7021
7030
7030
7041
7041
7045
7046
7047
7057
7072
7084
7095
7097
7101
7116
7125
7128
7150
7181
7196
7218
7233
7240
7267
7301
7330
7348
7363
7384
7418
7449
7476
7505
7524
7553
7584
7614
7641
7667
7692
7705
7731
7743
7743
7743
7743
7743
7743
7743
7743
7743
7743
7745
7745
7745
7745
7745
7745
7745
7745
7745
7745
7750
7755
7755
7755
7757
7757
7757
7757
7758
7758
7759
7759
7763
7763
7763
7763
7763
7763
7763
7763
7768
7773
7773
7773
7778
7778
7781
7781
7785
7785
7788
7788
7793
7793
7793
7793
7798
7798
7798
7798
7798
7798
7801
7801
7806
7809
7809
7809
7809
7811
7811
7813
7813
7813
7813
7813
7813
7813
7816
7820
7820
7820
7820
7820
7820
7820
7820
7820
7820
7820
7820
7820
7820
7823
7826
7830
7830
7832
7834
7834
7834
7834
7834
7834
7837
7841
7841
7841
7846
7846
7848
7848
7850
7850
7851
7856
7861
7861
7861
7861
7861
7861
7861
7861
7864
7864
7868
7868
7873
7873
7878
7878
7882
7882
7885
7885
7888
7888
7892
7892
7892
7896
7898
7903
7906
7911
7913
7918
7918
7921
7926
7931
7936
7936
7936
7937
7937
7937
7937
7937
7937
7941
7946
7951
7952
7954
7956
7961
7962
7962
7964
7964
7964
7967
7967
7970
7975
7978
7979
7979
7981
7984
7987
7992
7997
8000
8004
8009
8014
8019
8019
8022
8022
8025
8030
8033
8038
8043
8048
8053
8054
8058
8063
8068
8071
8071
8071
8071
8071
8071
8071
8074
8078
8078
8078
8078
8078
8080
8082
8082
8085
8085
8089
8089
8089
8089
8089
8089
8089
8089
8089
8089
8089
8089
8093
8098
8098
8098
8098
8102
8105
8105
8105
8105
8105
8108
8110
8125
8135
8150
8161
8176
8190
8204
8217
8231
8246
8258
8258
8268
8273
8283
8298
8313
8328
8338
8348
8358
8368
8383
8398
8413
8413
8428
8443
8457
8472
8487
8501
8516
8531
8546
8561
8576
8576
8591
8606
8621
8625
8630
8630
8630
8634
8634
8639
8643
8648
8653
8653
8653
8657
8661
8661
8665
8665
8670
8675
8680
8685
8690
8690
8695
8700
8700
8705
8710
8715
