0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
168
140
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
198
243
254
254
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
88
253
254
254
254
254
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
254
254
254
254
207
134
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
176
254
254
238
105
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
255
254
251
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
214
254
225
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
199
254
251
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
255
151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
254
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
251
226
40
0
0
0
0
17
100
197
171
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
251
181
0
0
0
0
75
249
254
254
254
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
181
0
0
0
19
221
254
254
254
254
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
181
0
0
0
108
254
254
244
167
216
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
204
10
0
2
186
254
242
73
10
205
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
226
255
134
8
6
254
254
119
0
92
254
174
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
254
254
175
72
254
254
147
105
250
254
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
181
253
254
254
254
254
254
254
254
183
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
254
254
254
254
254
234
184
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
72
238
233
150
133
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
