0
0
1
1
1
1
1
1
2
3
4
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
14
15
16
17
17
17
17
17
17
17
17
19
19
19
19
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
24
27
30
33
37
37
37
37
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
42
42
42
43
43
44
44
45
45
46
46
47
47
47
47
47
47
47
47
48
49
49
49
50
50
51
51
52
52
53
53
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
56
56
56
56
56
56
58
60
62
65
67
70
72
73
73
73
76
76
78
81
81
82
83
84
84
85
86
87
87
87
88
89
89
90
90
91
91
91
91
91
91
92
93
94
95
96
97
97
97
97
97
97
97
97
97
99
101
103
103
103
103
103
103
103
106
109
112
114
115
115
115
116
117
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
121
121
121
122
122
123
123
124
125
126
127
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
130
131
132
132
132
132
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
135
136
137
138
139
139
139
141
142
144
149
149
154
154
154
154
156
156
156
156
157
158
159
159
160
161
162
162
165
166
166
169
173
177
181
187
193
194
195
197
203
203
203
203
203
203
203
203
203
203
203
204
204
205
206
206
206
206
206
206
207
208
208
208
209
209
210
210
211
211
212
212
213
213
213
213
213
213
213
213
214
215
215
215
216
216
217
217
218
218
219
219
220
220
220
220
220
220
220
221
222
223
223
223
223
223
224
225
226
226
226
226
226
227
227
227
228
229
230
231
231
232
233
234
235
240
243
247
251
254
257
260
265
266
268
271
271
273
276
277
278
279
280
281
282
283
284
285
286
287
288
288
289
