0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
254
254
231
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
253
253
253
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
253
253
253
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
253
253
215
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
208
253
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
253
253
253
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
246
253
253
222
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
253
253
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
160
0
0
0
0
0
0
0
0
69
87
231
231
130
0
0
0
0
0
0
0
0
0
0
0
240
253
253
169
6
0
0
0
0
0
31
177
244
253
253
253
251
177
46
0
0
0
0
0
0
0
0
0
101
253
253
253
61
0
0
0
0
38
214
253
253
253
253
253
253
253
199
0
0
0
0
0
0
0
0
0
73
239
253
253
207
32
0
0
37
219
253
253
191
183
183
183
228
253
247
129
0
0
0
0
0
0
0
0
0
191
253
253
253
123
16
25
213
253
252
162
10
0
0
0
162
253
253
253
0
0
0
0
0
0
0
0
0
47
253
253
253
253
253
169
253
253
230
0
0
0
54
116
203
253
253
182
0
0
0
0
0
0
0
0
0
7
127
214
253
253
253
253
253
253
250
216
216
216
233
253
253
253
202
75
0
0
0
0
0
0
0
0
0
0
0
34
208
249
253
253
253
253
253
253
253
253
253
253
248
179
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
253
253
253
253
253
253
253
253
253
227
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
45
157
199
248
248
199
199
96
45
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
