0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
233
246
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
229
254
254
238
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
80
252
228
55
190
254
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
254
254
92
0
22
254
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
254
207
24
30
143
254
230
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
254
79
0
93
254
254
250
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
254
21
0
114
254
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
199
254
21
80
242
254
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
254
135
208
254
248
254
205
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
242
254
254
195
67
254
192
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
153
162
57
69
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
255
223
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
254
173
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
254
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
254
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
229
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
