0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
194
118
48
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
251
254
254
215
107
95
95
95
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
245
254
255
254
254
254
254
251
245
245
189
141
183
141
35
0
0
0
0
0
0
0
0
0
0
0
0
0
50
163
171
245
254
254
254
254
254
254
254
254
254
254
217
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
228
228
228
188
227
149
226
254
254
254
245
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
161
254
254
247
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
246
254
254
248
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
254
254
254
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
223
254
254
254
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
254
254
254
254
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
117
221
254
254
254
254
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
92
146
191
250
254
254
254
254
254
254
254
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
236
254
254
254
254
254
254
254
254
254
166
62
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
245
254
254
254
254
254
254
254
254
200
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
245
254
176
73
186
254
254
245
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
104
15
0
100
254
254
223
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
254
254
223
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
203
254
254
223
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
254
254
157
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
254
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
