0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
136
252
255
232
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
119
231
253
253
253
253
253
219
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
120
223
253
253
233
200
87
204
253
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
253
253
237
92
41
0
46
253
253
155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
194
251
192
47
36
0
0
0
227
253
215
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
147
144
13
0
0
0
0
149
253
253
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
149
252
253
167
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
236
253
224
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
205
253
235
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
195
253
187
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
205
253
230
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
236
253
231
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
247
253
235
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
182
253
236
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
163
253
253
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
201
253
253
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
231
253
253
146
3
0
0
16
66
66
6
31
39
66
66
66
9
0
0
0
0
0
0
0
0
0
0
129
253
253
253
207
201
201
201
213
253
253
206
226
232
253
253
253
128
0
0
0
0
0
0
0
0
0
0
154
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
173
37
0
0
0
0
0
0
0
0
0
0
27
135
135
135
240
253
253
178
135
135
135
135
135
135
135
105
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
