0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
251
254
192
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
253
234
116
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
188
111
229
253
253
55
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
235
253
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
253
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
253
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
253
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
253
173
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
253
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
253
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
105
58
4
0
0
0
0
0
0
25
231
225
18
0
0
0
0
0
0
0
0
0
0
0
0
0
37
220
253
253
226
148
40
0
0
0
0
123
250
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
253
238
246
253
253
240
121
39
7
50
239
233
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
149
0
40
152
219
253
253
253
204
204
253
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
44
0
0
0
15
102
223
248
253
253
253
184
59
13
0
0
0
15
94
0
0
0
0
0
0
0
0
254
44
0
0
0
0
0
13
213
253
253
253
253
253
217
179
179
179
222
123
0
0
0
0
0
0
0
0
254
150
0
0
0
5
35
226
253
160
39
82
164
218
250
253
235
183
62
5
0
0
0
0
0
0
0
0
219
251
126
91
120
197
253
253
147
2
0
0
0
0
57
64
30
0
0
0
0
0
0
0
0
0
0
0
67
211
253
253
253
253
221
99
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
119
153
125
54
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
