0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
77
77
77
77
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
87
212
242
254
254
254
254
238
151
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
254
254
254
254
254
254
254
254
254
254
171
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
206
254
254
254
254
227
173
173
237
254
254
254
162
26
0
0
0
0
0
0
0
0
0
0
0
0
0
74
253
254
254
198
68
18
0
0
21
185
254
254
254
178
0
0
0
0
0
0
0
0
0
0
0
0
0
0
202
254
254
68
0
0
0
0
0
9
180
254
254
230
27
0
0
0
0
0
0
0
0
0
0
0
0
0
29
167
87
7
0
0
0
0
0
0
14
218
254
254
161
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
254
254
254
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
167
254
254
188
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
93
93
93
93
73
0
0
0
207
254
254
151
0
0
0
0
0
0
0
0
0
0
0
0
49
133
239
244
254
254
254
254
251
239
183
130
231
254
254
96
3
7
0
0
0
0
0
0
0
0
0
98
231
254
254
254
254
254
254
254
254
254
254
254
254
254
254
183
179
194
123
0
0
0
0
0
0
0
0
235
254
254
254
254
208
156
156
163
254
254
254
254
254
254
254
254
254
254
166
0
0
0
0
0
0
0
0
151
254
254
254
173
91
28
65
136
215
254
254
254
254
254
254
254
254
158
22
0
0
0
0
0
0
0
0
63
237
254
254
254
254
254
254
254
255
254
254
255
201
189
189
189
129
24
0
0
0
0
0
0
0
0
0
0
111
242
254
254
254
254
254
254
254
254
246
126
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
114
114
114
134
222
123
114
74
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
