0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
4
4
5
5
5
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
11
11
11
11
11
11
11
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
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
17
21
22
22
22
26
26
26
26
27
30
30
33
37
40
40
40
43
43
43
45
46
47
50
51
55
57
63
64
67
74
74
77
83
83
83
83
83
83
83
83
83
83
83
83
83
84
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
86
87
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
89
90
90
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
93
94
94
95
95
95
95
95
95
95
95
95
95
96
96
96
96
96
96
97
101
102
102
105
105
110
110
110
111
111
112
116
121
124
129
130
131
133
133
134
134
135
135
136
136
136
136
136
136
137
138
138
138
138
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
143
143
143
144
144
144
145
147
148
148
150
150
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
155
156
156
156
156
156
156
156
156
157
157
157
157
157
157
157
157
157
157
157
158
158
158
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
160
161
161
161
161
162
162
162
162
163
164
164
167
167
167
168
168
169
172
175
175
176
179
181
181
182
183
186
191
195
199
202
202
203
204
207
207
211
212
213
216
218
221
224
233
234
234
243
243
244
253
253
253
253
253
253
253
253
253
253
253
253
253
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
256
257
257
257
257
257
257
257
258
259
259
259
259
260
260
260
261
261
261
261
261
261
261
261
261
262
263
264
265
265
265
265
265
266
267
267
267
267
268
268
268
268
268
268
268
268
268
269
269
269
269
269
269
270
271
272
273
273
274
274
274
274
275
276
277
278
278
278
279
279
279
279
280
281
282
282
282
282
283
283
284
285
286
287
288
293
294
294
297
298
303
304
306
309
309
311
315
320
324
329
330
330
333
333
334
334
335
336
337
337
337
338
338
339
340
341
342
343
343
344
345
346
