0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
155
253
254
254
209
89
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
182
251
253
252
248
253
253
253
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
194
253
243
113
72
37
89
177
253
235
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
241
253
120
0
0
0
0
19
187
253
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
253
195
5
0
0
0
18
226
253
253
173
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
253
79
0
0
0
0
72
253
253
253
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
206
253
69
0
0
0
4
228
253
253
245
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
253
69
0
0
8
162
253
253
199
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
137
253
177
43
0
164
253
253
253
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
220
253
251
249
253
253
235
253
183
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
194
248
248
189
107
159
253
183
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
253
183
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
253
188
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
159
253
253
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
253
253
30
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
253
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
253
253
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
253
253
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
216
253
129
0
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
226
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
