0
1
2
3
3
3
3
3
3
3
3
3
3
4
4
4
5
6
6
6
6
6
6
7
7
7
7
7
8
9
9
10
10
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
17
18
18
18
18
18
18
18
18
19
20
20
20
20
20
20
21
22
22
22
22
22
22
22
22
22
23
24
24
24
28
32
32
32
35
37
42
44
44
44
49
50
51
52
57
61
63
67
70
72
72
72
72
72
72
72
75
76
77
78
86
92
92
92
97
97
97
97
97
97
97
98
99
100
101
102
102
102
102
103
104
104
105
106
107
108
109
110
110
110
110
110
110
110
111
112
113
113
113
113
113
113
113
113
113
113
114
115
116
117
118
119
120
121
122
123
123
124
124
125
126
127
128
129
130
131
131
131
131
131
131
131
132
133
133
134
134
134
134
134
134
134
134
134
134
134
134
134
134
138
139
139
143
148
150
154
159
161
163
168
168
169
170
171
172
172
173
174
175
176
177
178
179
180
181
182
182
183
184
185
185
185
185
185
185
185
185
185
186
187
187
187
188
189
189
189
189
190
190
191
192
193
193
193
194
195
195
196
196
197
198
198
199
199
200
200
200
201
201
201
201
201
201
201
201
202
203
203
203
204
204
204
204
204
204
204
204
205
205
206
206
206
206
207
208
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
210
211
212
212
212
213
213
213
213
213
214
214
215
216
216
216
216
216
216
216
216
217
218
218
218
218
218
219
220
221
222
222
222
222
222
222
222
222
223
224
224
225
230
234
234
234
237
239
244
246
246
246
247
248
249
250
255
259
261
265
267
269
269
269
269
269
269
269
273
273
273
274
282
288
288
288
292
292
293
293
294
295
296
297
298
299
300
301
301
301
301
302
303
303
304
305
306
307
308
309
309
309
309
309
309
309
310
311
312
312
312
312
312
312
312
312
312
312
313
314
315
316
317
318
319
320
321
322
322
323
323
324
325
326
327
328
329
330
330
330
330
330
330
330
331
332
332
333
334
334
334
334
334
334
334
334
334
334
334
334
334
338
339
339
340
345
347
351
356
359
361
366
366
366
366
367
368
368
369
370
371
372
373
374
375
376
377
378
378
