0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
86
151
194
255
224
130
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
253
253
253
253
253
253
219
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
244
213
111
111
145
253
253
172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
63
253
253
180
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
223
253
204
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
253
253
172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
253
253
212
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
253
253
172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
253
253
172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
203
253
253
172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
253
253
253
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
75
100
237
253
253
217
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
141
157
236
253
253
253
253
253
253
214
205
99
190
144
90
44
0
0
0
0
0
0
0
0
0
0
47
181
253
253
253
253
253
253
253
253
253
226
239
253
253
253
253
234
66
0
0
0
0
0
0
0
0
6
237
253
253
253
253
253
253
253
230
127
37
25
31
37
37
37
151
103
1
0
0
0
0
0
0
0
0
7
253
253
244
79
172
253
253
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
253
253
177
29
245
253
253
178
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
253
181
86
238
253
253
231
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
253
247
249
253
253
175
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
73
199
241
129
51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
