0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
118
237
254
254
254
254
255
254
193
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
117
231
254
254
254
254
254
254
254
254
254
173
24
0
0
0
0
0
0
0
0
0
0
0
0
0
66
223
254
254
254
254
254
254
254
193
76
67
67
33
0
0
0
0
0
0
0
0
0
0
0
0
79
163
252
254
254
254
254
250
196
143
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
154
253
254
254
254
254
254
254
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
254
254
254
254
254
254
254
254
143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
240
254
254
249
201
252
254
254
254
143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
254
254
220
126
0
226
250
254
250
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
254
254
186
44
0
0
71
135
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
254
254
254
238
144
88
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
192
254
254
254
254
254
232
206
62
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
151
223
254
254
254
254
254
254
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
101
183
236
254
254
254
246
206
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
132
215
253
254
254
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
176
254
254
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
126
16
0
0
0
33
70
202
254
254
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
254
197
102
133
197
244
254
254
254
252
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
254
254
254
254
254
254
254
254
254
151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
133
253
254
254
254
254
254
234
101
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
157
227
161
157
91
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
