0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
77
189
189
159
72
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
92
207
207
207
207
207
228
253
253
253
253
253
213
56
0
0
0
0
0
0
0
0
0
0
0
0
38
224
253
253
253
253
253
253
206
147
147
147
174
253
253
135
0
0
0
0
0
0
0
0
0
0
2
40
225
253
253
247
173
129
222
207
17
0
0
0
3
145
253
137
0
0
0
0
0
0
0
0
0
0
65
253
253
253
225
0
0
0
34
70
0
0
0
0
0
84
253
187
0
0
0
0
0
0
0
0
0
98
223
253
253
167
4
0
0
0
0
0
0
0
0
0
11
166
253
135
0
0
0
0
0
0
0
0
5
177
253
253
163
9
0
0
0
0
0
0
0
0
0
12
164
253
253
135
0
0
0
0
0
0
0
0
110
253
253
162
11
0
0
0
0
0
0
0
0
0
46
165
253
253
223
39
0
0
0
0
0
0
0
0
236
253
233
41
0
0
0
0
0
0
0
36
95
155
237
253
253
178
41
0
0
0
0
0
0
0
0
0
255
253
200
0
0
0
0
0
0
27
148
239
253
253
253
232
111
5
0
0
0
0
0
0
0
0
0
0
133
253
252
215
130
81
126
130
205
250
253
253
243
180
110
4
0
0
0
0
0
0
0
0
0
0
0
0
16
242
253
253
253
253
253
253
253
253
244
125
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
238
253
253
253
252
206
186
88
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
70
70
70
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
