0
1
1
1
2
3
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
10
12
12
15
16
16
16
16
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
26
27
27
27
27
27
27
29
29
29
29
30
31
34
36
39
39
41
42
43
45
45
46
49
49
51
53
54
55
56
57
57
57
57
57
57
57
57
58
59
60
60
61
61
61
61
62
63
64
64
65
66
66
67
68
69
70
70
70
71
72
73
73
73
73
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
75
76
76
76
76
76
76
76
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
78
79
80
80
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
84
87
90
90
96
102
102
102
102
108
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
113
114
114
114
114
114
114
114
114
114
115
116
116
116
116
116
116
116
116
116
116
116
116
116
117
118
119
119
119
119
119
119
124
124
124
124
127
130
133
136
139
142
145
148
151
156
156
157
160
160
163
165
166
167
168
169
169
169
169
169
169
169
170
171
172
173
173
174
174
174
174
175
176
177
178
179
180
181
182
183
184
185
185
185
186
187
188
188
188
188
189
189
189
189
189
189
189
191
193
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
198
198
198
198
198
198
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
200
200
200
200
200
200
200
201
202
203
203
203
203
203
203
203
203
203
203
204
204
204
205
205
205
205
206
206
206
206
206
206
206
206
206
206
209
213
216
218
218
219
220
221
221
222
223
224
224
225
226
226
229
234
239
242
248
255
260
262
263
264
270
270
270
270
270
270
270
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
273
274
275
276
276
277
278
279
279
280
281
282
282
283
284
284
285
286
287
288
288
288
288
288
288
288
288
288
289
290
290
291
292
293
294
294
294
294
294
294
294
294
295
296
297
297
297
298
299
299
304
307
310
313
316
320
323
326
329
333
336
339
342
347
348
350
353
354
357
360
361
362
363
364
365
366
367
368
368
368
369
370
371
372
373
374
375
376
376
376
377
378
379
380
381
382
383
384
385
