0
1
2
3
4
5
5
5
6
7
8
8
8
8
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
13
13
13
13
13
13
13
13
13
13
14
15
15
15
15
15
15
15
15
15
15
16
17
17
17
17
17
17
17
17
17
17
17
18
19
19
19
20
20
20
20
20
20
20
20
20
20
20
21
22
23
24
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
28
29
30
31
31
31
31
31
31
31
34
35
40
42
43
45
49
54
57
57
57
57
57
57
57
57
57
57
57
57
57
60
64
68
70
77
89
89
89
89
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
97
97
98
99
100
101
102
102
103
104
104
104
105
105
105
106
107
108
109
110
110
111
111
112
113
114
115
115
115
116
116
117
118
119
120
121
121
122
123
123
123
124
124
124
124
124
124
124
124
124
125
126
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
132
134
137
142
145
150
155
155
155
158
158
160
163
164
164
165
166
167
168
169
170
171
171
172
173
173
174
174
175
176
177
178
178
178
179
180
181
181
181
181
182
183
183
183
183
183
183
187
191
192
193
197
197
197
198
199
199
199
199
199
199
199
200
201
201
201
201
201
201
201
201
201
201
202
203
204
204
205
206
207
207
207
207
207
207
207
207
207
207
208
209
210
210
210
210
210
210
210
210
210
210
211
211
211
211
211
211
211
211
211
211
211
211
212
212
212
213
213
213
213
213
213
214
214
215
216
217
218
219
220
221
222
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
225
226
227
228
228
233
238
242
242
242
246
247
252
254
255
260
265
270
273
273
277
277
277
277
277
277
277
277
277
277
277
281
285
289
291
298
310
310
310
310
310
310
311
312
313
314
315
316
317
317
317
317
317
317
317
318
319
319
320
321
322
323
324
324
325
326
326
326
327
327
327
328
329
330
331
332
333
334
335
336
337
338
339
339
340
341
341
342
343
344
345
346
347
348
349
349
349
349
349
349
349
349
349
349
349
349
349
350
351
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
353
356
357
362
367
370
375
380
380
380
384
384
384
384
385
385
386
387
388
389
390
391
392
392
393
394
394
395
