0
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
6
6
7
8
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
18
21
21
22
25
25
25
25
26
26
27
28
28
28
28
28
31
31
32
33
35
35
36
37
37
37
37
37
37
38
39
40
43
46
47
50
53
54
57
57
57
58
58
58
58
58
59
59
59
59
59
59
60
60
60
60
60
60
60
61
62
62
62
63
63
63
63
64
64
65
66
67
67
68
69
69
69
69
69
69
69
69
69
69
70
71
71
72
72
72
72
72
73
73
74
75
76
76
77
78
78
78
78
78
78
78
79
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
81
81
82
83
83
84
85
85
85
85
85
85
85
86
87
87
87
87
87
87
87
87
88
89
90
90
90
90
90
90
93
96
99
99
101
102
105
108
108
111
111
111
113
116
116
118
118
121
121
122
122
123
124
124
124
125
126
126
127
128
129
130
131
131
131
131
132
133
134
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
139
139
139
140
141
141
141
141
141
141
144
144
145
146
149
150
151
151
152
152
152
152
152
153
153
153
154
155
155
155
156
157
157
157
158
159
159
159
159
160
160
160
161
162
162
162
163
164
164
164
165
166
166
166
166
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
168
169
169
169
169
169
170
171
171
171
171
171
171
171
171
171
171
171
172
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
176
179
182
185
188
189
191
194
194
195
196
199
199
200
201
203
203
204
205
208
208
209
210
212
212
213
214
214
214
214
214
215
216
220
223
226
229
232
235
238
239
246
247
248
249
249
249
250
251
252
252
253
254
254
255
256
256
257
257
258
258
259
260
261
261
261
262
262
263
264
265
265
266
267
268
268
269
270
270
270
270
270
270
270
270
270
271
272
273
273
274
275
275
276
277
278
278
279
280
281
281
282
283
283
283
283
283
283
284
285
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
287
287
288
289
289
290
291
291
291
291
291
291
291
292
293
293
293
293
293
293
293
293
294
295
296
296
296
297
297
297
300
303
306
306
310
313
316
319
319
323
325
326
330
333
334
339
340
345
348
349
350
351
352
352
352
353
354
354
355
356
357
358
359
359
359
360
361
362
