0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
146
232
255
183
105
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
159
248
253
193
177
195
253
197
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
187
253
197
71
7
0
58
166
250
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
199
253
183
52
0
0
0
149
253
253
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
250
106
15
0
0
0
0
16
218
253
161
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
247
243
0
0
0
0
0
0
105
249
253
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
193
249
81
0
0
0
0
35
221
253
253
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
245
242
46
0
0
32
218
253
253
253
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
199
238
179
147
240
252
94
210
228
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
128
249
253
211
90
0
206
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
54
12
0
22
223
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
253
226
0
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
222
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
244
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
253
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
253
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
253
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
227
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
206
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
