0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
158
181
31
0
23
218
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
253
241
67
0
120
253
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
172
253
132
0
0
136
253
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
253
253
97
0
0
161
253
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
255
208
162
6
0
0
215
254
235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
243
254
136
0
0
0
0
215
253
234
0
0
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
27
243
254
235
215
166
59
59
223
253
215
59
59
203
186
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
254
253
253
253
254
253
253
253
254
253
253
253
210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
121
103
150
241
243
254
254
235
234
210
162
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
153
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
253
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
236
254
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
253
253
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
253
253
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
253
253
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
254
254
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
253
253
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
253
253
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
253
150
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
