0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
3
42
118
193
118
118
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
179
245
236
242
254
254
254
254
245
235
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
254
254
254
213
192
178
178
180
254
254
241
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
235
254
226
64
28
12
0
0
2
128
252
255
173
17
0
0
0
0
0
0
0
0
0
0
0
0
0
56
254
253
107
0
0
0
0
0
0
0
134
250
254
75
0
0
0
0
0
0
0
0
0
0
0
0
0
63
254
158
0
0
0
0
0
0
0
0
0
221
254
157
0
0
0
0
0
0
0
0
0
0
0
0
0
194
254
103
0
0
0
0
0
0
0
0
0
150
254
213
0
0
0
0
0
0
0
0
0
0
0
0
34
220
239
58
0
0
0
0
0
0
0
0
0
84
254
213
0
0
0
0
0
0
0
0
0
0
0
0
126
254
171
0
0
0
0
0
0
0
0
0
0
84
254
213
0
0
0
0
0
0
0
0
0
0
0
0
214
239
60
0
0
0
0
0
0
0
0
0
0
84
254
213
0
0
0
0
0
0
0
0
0
0
0
0
214
199
0
0
0
0
0
0
0
0
0
0
0
84
254
213
0
0
0
0
0
0
0
0
0
0
0
11
219
199
0
0
0
0
0
0
0
0
0
0
0
84
254
213
0
0
0
0
0
0
0
0
0
0
0
98
254
199
0
0
0
0
0
0
0
0
0
0
0
162
254
209
0
0
0
0
0
0
0
0
0
0
0
98
254
199
0
0
0
0
0
0
0
0
0
0
51
238
254
75
0
0
0
0
0
0
0
0
0
0
0
98
254
199
0
0
0
0
0
0
0
0
0
51
165
254
195
4
0
0
0
0
0
0
0
0
0
0
0
66
241
199
0
0
0
0
0
0
0
0
3
167
254
227
55
0
0
0
0
0
0
0
0
0
0
0
0
0
214
213
20
0
0
0
0
0
46
152
202
254
254
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
254
204
180
180
180
180
180
235
254
254
234
156
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
205
254
254
254
254
254
254
254
252
234
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
210
254
254
254
254
254
153
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
