0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
218
121
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
210
254
220
214
188
146
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
239
254
249
251
254
255
236
140
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
242
254
254
254
254
254
254
254
121
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
175
254
254
254
254
254
254
205
209
254
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
254
254
254
254
254
193
67
19
22
182
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
191
254
254
254
254
224
14
0
0
0
157
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
236
254
254
254
254
97
0
0
0
0
157
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
254
254
254
254
254
31
0
0
0
0
66
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
227
254
254
254
254
228
181
204
191
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
246
254
254
254
254
254
254
254
241
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
249
254
254
254
254
254
254
254
164
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
254
254
254
252
187
250
254
254
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
198
254
254
196
45
0
2
170
254
237
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
254
254
254
34
0
0
0
60
252
254
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
254
254
213
10
0
0
0
46
251
205
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
222
254
254
254
145
56
41
41
140
244
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
191
254
254
254
254
254
254
254
254
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
246
254
254
254
254
254
243
92
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
195
196
196
165
96
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
