0
0
1
2
2
2
2
2
3
4
4
5
6
7
8
9
10
11
12
13
14
17
20
21
21
22
25
25
28
31
34
35
39
45
48
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
56
56
56
58
60
60
60
61
62
63
65
67
68
68
68
72
72
72
82
91
92
94
101
101
101
101
101
101
101
102
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
105
106
106
107
108
108
108
109
109
109
109
109
109
110
110
110
111
112
117
117
117
118
120
120
123
126
130
134
139
143
147
147
148
148
148
148
148
149
150
151
152
153
153
154
155
155
155
155
155
156
157
157
158
159
160
161
162
163
164
165
166
167
169
172
174
175
176
179
181
184
188
192
198
203
212
217
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
228
228
228
228
228
228
228
228
228
229
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
231
232
233
233
233
233
233
233
233
233
233
233
234
235
235
235
235
235
235
235
235
235
235
235
236
237
238
238
238
238
238
239
240
240
240
240
240
240
240
240
240
242
242
244
247
250
255
258
259
260
264
264
264
267
270
271
276
281
283
284
289
294
299
308
318
329
336
346
356
356
356
356
356
356
356
357
358
358
358
358
358
358
358
358
358
358
358
359
360
360
360
360
360
360
360
360
360
360
360
361
362
362
362
362
362
362
362
362
362
362
362
363
364
364
364
364
364
364
364
364
364
365
366
366
366
367
368
369
369
370
371
371
372
373
373
373
374
374
374
374
375
376
377
377
378
379
380
385
390
395
398
403
408
413
416
421
426
431
436
441
441
442
442
442
442
442
443
444
445
446
447
