0
0
1
1
1
2
2
2
3
4
5
5
5
5
6
7
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
12
15
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
20
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
27
27
27
27
29
32
34
35
38
43
46
48
52
56
59
60
60
62
63
64
64
64
65
65
65
66
69
70
77
84
90
91
92
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
95
96
97
98
98
99
100
101
101
102
102
102
102
103
103
103
104
105
105
105
106
106
106
107
108
109
110
111
111
112
113
114
114
115
115
115
116
117
118
119
119
120
120
120
120
120
120
120
121
122
122
122
123
123
123
123
123
123
123
123
123
123
124
125
126
126
126
126
126
126
131
134
137
140
144
147
150
153
156
159
162
162
164
164
165
166
167
167
168
169
170
171
172
173
174
175
176
177
177
178
178
178
178
178
178
179
180
181
181
181
181
182
183
184
184
184
184
185
185
187
187
187
189
189
189
191
192
192
192
193
194
194
194
194
194
194
194
194
194
194
195
195
195
195
196
196
196
196
197
197
197
197
198
198
198
198
199
199
199
199
199
199
199
200
201
202
202
203
204
204
204
204
205
205
205
205
206
206
206
206
207
207
207
207
207
207
207
208
209
210
211
212
213
214
215
216
217
218
218
219
219
219
220
221
221
221
221
221
222
223
223
223
223
223
224
224
224
224
224
224
225
225
225
226
228
232
234
235
235
238
241
246
249
254
259
262
264
267
271
275
277
277
279
280
281
281
281
282
282
282
282
283
283
288
295
297
298
299
299
300
301
302
302
303
304
305
305
306
307
307
308
308
308
309
310
311
312
313
314
315
316
316
317
318
319
319
320
321
321
322
323
324
325
326
327
328
329
330
331
332
333
333
334
335
336
336
337
338
338
339
340
341
342
343
344
344
344
345
346
347
347
348
349
349
349
350
350
351
351
351
351
352
352
352
352
353
354
355
355
355
355
356
356
361
364
367
370
375
378
381
384
387
390
392
393
393
393
394
395
396
396
397
398
399
400
401
402
403
404
405
406
