0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
80
207
255
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
253
253
253
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
62
214
253
253
253
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
253
253
253
253
253
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
225
253
253
253
221
148
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
195
253
253
253
201
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
253
253
253
213
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
253
52
0
77
106
106
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
163
40
184
234
253
253
234
184
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
130
202
253
253
253
253
253
253
253
167
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
130
202
253
253
253
253
253
253
253
253
158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
164
160
212
253
253
253
253
253
253
253
252
135
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
253
52
44
212
253
253
253
253
253
253
253
138
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
253
233
155
71
60
25
25
159
253
253
253
138
0
0
0
0
0
0
0
0
0
0
0
0
0
145
253
253
253
253
253
253
211
131
96
149
253
253
253
198
32
0
0
0
0
0
0
0
0
0
0
0
0
11
139
248
253
253
253
253
253
253
241
235
253
253
253
253
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
253
253
253
253
253
253
253
253
253
253
253
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
60
200
242
253
253
253
253
253
253
253
253
165
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
156
156
220
186
253
253
253
239
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
24
181
95
78
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
