0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
134
158
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
187
254
254
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
47
225
249
236
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
254
254
186
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
254
254
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
141
254
254
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
254
254
192
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
254
254
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
187
243
110
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
254
241
146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
254
217
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
254
219
75
75
136
75
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
254
254
254
254
254
254
215
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
194
254
254
254
254
254
254
254
240
166
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
254
254
254
100
37
70
188
254
254
254
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
254
254
254
74
0
27
206
254
254
254
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
254
254
255
126
0
121
254
254
254
118
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
214
254
254
251
237
250
254
254
119
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
254
254
254
254
254
220
36
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
88
154
254
224
97
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
