0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
82
163
254
111
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
88
207
244
254
253
253
253
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
196
253
253
253
254
253
253
253
223
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
246
253
253
253
185
57
45
223
253
253
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
173
254
253
253
185
14
23
207
253
253
253
157
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
254
255
254
175
10
59
217
254
254
238
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
253
254
253
241
220
253
254
253
253
253
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
253
254
253
253
253
253
254
253
253
253
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
221
254
253
253
253
253
254
253
253
253
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
254
253
253
237
155
140
253
253
253
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
142
165
8
0
59
254
254
254
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
253
253
253
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
253
253
240
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
253
253
213
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
231
253
253
213
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
254
254
214
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
206
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
253
222
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
