0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
151
235
255
240
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
84
167
243
254
254
254
254
251
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
135
234
254
254
254
254
181
188
219
254
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
95
245
254
254
254
228
137
4
1
2
229
229
36
0
0
0
0
0
0
0
0
0
0
0
0
0
46
220
254
254
254
237
175
76
0
0
0
0
230
153
0
0
0
0
0
0
0
0
0
0
0
0
0
66
252
254
254
254
207
22
0
0
0
0
0
122
211
189
157
43
0
0
0
0
0
0
0
0
0
0
17
223
254
254
235
52
5
0
0
0
17
53
61
251
254
254
254
105
0
0
0
0
0
0
0
0
0
0
73
254
254
226
28
0
9
51
133
211
224
254
254
254
254
254
216
16
0
0
0
0
0
0
0
0
0
0
126
254
254
218
178
178
212
254
254
254
254
254
254
254
254
221
62
0
0
0
0
0
0
0
0
0
0
0
71
254
254
254
254
254
254
254
254
254
254
254
254
254
210
52
0
0
0
0
0
0
0
0
0
0
0
0
6
119
238
250
239
183
143
113
74
236
254
254
253
175
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
85
219
254
254
254
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
167
248
254
254
254
181
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
254
254
254
253
186
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
141
251
254
254
254
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
254
254
254
210
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
245
254
254
251
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
254
254
254
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
250
254
254
165
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
254
151
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
