0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
94
254
254
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
253
253
253
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
95
254
253
253
253
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
195
253
254
230
246
181
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
253
253
188
38
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
228
253
218
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
253
253
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
207
253
159
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
253
253
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
253
253
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
74
254
208
24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
253
253
243
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
253
253
212
100
158
157
83
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
253
253
253
253
254
253
253
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
253
253
253
224
196
253
253
216
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
240
253
253
40
3
171
253
253
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
206
253
253
52
0
47
253
253
193
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
253
253
236
219
221
253
253
193
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
169
253
253
254
253
253
253
193
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
64
132
138
253
178
132
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
