0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
80
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
157
178
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
147
185
0
0
0
0
0
0
3
157
189
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
223
254
134
0
0
0
0
0
0
159
204
20
0
0
0
0
0
0
0
0
0
0
0
0
0
35
209
244
188
182
0
0
0
0
0
0
96
244
28
0
0
0
0
0
0
0
0
0
0
0
0
7
108
238
169
28
52
30
0
0
0
0
0
133
241
81
0
0
0
0
0
0
0
0
0
0
0
0
6
151
244
111
6
0
0
0
0
0
0
0
56
248
97
0
0
0
0
0
0
0
0
0
0
0
0
0
131
241
57
0
0
0
0
0
0
0
0
49
232
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
205
126
0
0
0
0
0
0
0
0
32
213
222
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
241
180
55
0
15
0
0
49
111
138
237
221
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
192
248
241
223
194
211
212
163
254
235
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
27
13
7
7
0
140
247
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
247
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
248
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
248
146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
226
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
