0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
118
118
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
235
247
254
254
248
235
133
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
180
245
254
254
254
254
254
254
254
205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
194
245
254
254
221
199
199
199
244
254
248
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
211
254
254
198
82
33
0
0
0
105
245
254
248
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
173
254
254
61
0
0
0
0
0
0
187
254
248
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
124
234
61
0
0
0
0
0
0
187
254
248
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
31
216
254
248
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
254
245
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
246
254
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
233
254
245
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
250
254
255
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
202
254
254
211
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
202
254
254
210
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
199
254
254
153
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
195
254
254
254
87
84
84
84
84
84
84
214
221
221
221
221
221
0
0
0
0
0
0
0
0
0
0
77
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
0
0
0
0
0
0
0
0
0
0
23
189
254
254
254
254
254
254
254
254
254
254
215
213
213
213
127
75
0
0
0
0
0
0
0
0
0
0
0
21
96
178
234
234
234
234
207
170
96
96
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
