0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
145
254
173
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
145
254
253
253
253
176
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
188
253
254
253
253
253
253
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
109
249
253
200
84
166
253
253
229
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
156
118
77
0
0
37
253
253
253
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
37
0
0
0
0
37
253
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
253
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157
253
253
253
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
199
253
253
253
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
253
253
253
253
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
133
133
133
18
13
94
254
254
254
251
46
0
0
0
0
0
0
0
0
0
0
0
0
0
4
106
171
253
253
253
253
253
254
253
253
253
253
180
0
0
0
0
0
0
0
0
0
0
0
0
0
16
171
253
253
253
253
253
253
253
254
253
253
253
253
226
157
112
21
0
0
0
0
0
0
0
0
0
0
48
253
253
242
219
214
205
249
253
254
253
253
253
253
253
253
235
169
6
0
0
0
0
0
0
0
0
9
223
253
242
89
21
14
0
143
253
254
253
253
253
239
239
204
120
0
0
0
0
0
0
0
0
0
0
13
253
253
205
0
0
0
110
219
253
254
253
253
181
46
46
12
0
0
0
0
0
0
0
0
0
0
0
9
217
253
244
120
86
183
247
253
253
254
253
183
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
253
253
253
253
253
253
253
253
254
186
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
253
253
253
253
253
253
253
253
133
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
87
132
219
253
253
253
201
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
