0
0
1
1
1
1
1
1
1
1
1
2
3
4
4
4
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
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
10
10
10
11
11
11
11
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
16
19
22
23
24
24
24
24
27
27
27
27
27
27
27
27
27
27
28
29
29
29
30
30
30
30
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
34
34
34
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
38
39
40
40
40
40
40
40
42
43
44
46
46
47
47
50
50
51
54
54
56
59
59
60
61
62
63
63
63
64
64
65
65
66
67
68
68
69
69
69
69
69
69
69
69
69
70
71
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
76
76
76
76
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
78
79
79
80
81
81
81
81
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
88
93
97
100
106
107
107
107
107
111
111
111
111
111
111
111
111
111
111
112
113
113
113
114
114
114
114
115
115
115
115
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
117
117
117
117
118
118
118
119
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
122
122
122
122
122
122
122
122
123
124
125
126
126
126
127
127
127
132
135
138
142
142
143
143
148
148
149
152
152
155
158
158
159
160
160
161
161
161
162
162
163
164
165
166
167
167
168
168
168
169
169
169
169
169
169
170
171
172
172
172
172
172
172
172
173
173
173
173
173
174
174
174
174
174
174
177
180
183
185
186
186
186
186
186
186
186
186
186
186
186
186
186
187
188
188
188
188
188
188
188
188
188
188
188
188
188
188
189
189
189
189
189
189
189
190
190
190
190
190
190
190
190
190
190
191
191
191
191
191
191
191
191
191
191
191
192
193
194
194
195
195
195
196
197
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
201
202
203
204
204
204
204
209
209
209
209
209
211
211
211
213
213
215
220
220
223
226
228
228
229
230
231
231
234
235
235
237
242
247
250
256
263
264
265
267
270
270
270
270
270
270
270
270
270
270
271
272
272
272
273
273
273
273
274
274
274
274
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
276
276
276
276
277
277
277
278
279
279
279
279
280
280
280
281
281
281
281
281
281
281
281
281
281
282
283
283
284
285
286
287
287
287
287
288
288
288
289
290
291
292
292
293
294
295
295
300
303
306
309
314
317
319
324
325
327
330
331
333
336
336
337
338
339
340
341
341
342
342
343
344
345
346
347
