0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
77
114
178
100
185
221
238
185
185
185
138
138
185
138
0
0
0
0
0
0
0
0
0
0
0
1
122
251
254
254
252
249
249
193
166
249
249
249
254
254
249
156
0
0
0
0
0
0
0
0
0
0
0
44
254
254
160
103
53
0
0
0
0
0
0
0
86
90
0
0
0
0
0
0
0
0
0
0
0
0
0
44
254
211
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
145
254
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
254
204
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
240
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
252
214
17
17
17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
200
254
254
254
254
254
223
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
254
254
254
254
171
162
194
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
254
187
60
16
2
0
88
240
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
116
11
0
0
0
0
88
251
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
38
227
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
48
0
0
0
0
158
254
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
211
224
71
0
0
98
238
219
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
216
253
250
250
254
234
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
125
184
184
87
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
