0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
7
2
0
0
0
0
0
58
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
34
160
254
254
128
0
0
0
0
0
225
203
13
0
0
0
0
0
0
0
0
0
0
0
0
2
96
214
254
254
250
236
112
0
0
0
0
0
99
253
136
0
0
0
0
0
0
0
0
0
0
0
2
109
254
254
250
205
82
0
0
0
0
0
0
0
0
237
206
16
0
0
0
0
0
0
0
0
0
2
109
254
254
216
82
0
0
0
0
0
0
0
0
0
0
237
254
145
0
0
0
0
0
0
0
0
1
110
254
254
216
34
0
0
0
0
0
0
0
0
0
0
0
157
254
254
0
0
0
0
0
0
0
0
7
254
254
238
34
0
0
0
0
0
0
0
0
0
0
0
0
113
254
254
0
0
0
0
0
0
0
0
7
254
254
144
0
0
0
0
0
0
0
0
0
0
0
0
0
36
247
254
0
0
0
0
0
0
0
0
96
254
241
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
243
254
0
0
0
0
0
0
0
0
131
254
236
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
243
254
0
0
0
0
0
0
0
0
226
254
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
243
254
0
0
0
0
0
0
0
0
219
254
209
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
243
254
0
0
0
0
0
0
0
0
131
254
242
34
0
0
0
0
0
0
0
0
0
0
0
0
0
36
247
215
0
0
0
0
0
0
0
0
89
254
254
147
0
0
0
0
0
0
0
0
0
0
0
0
0
216
254
130
0
0
0
0
0
0
0
0
7
254
254
251
130
0
0
0
0
0
0
0
0
0
0
0
40
243
254
130
0
0
0
0
0
0
0
0
1
103
254
254
251
82
0
0
0
0
0
0
0
0
0
40
225
254
208
18
0
0
0
0
0
0
0
0
0
2
154
254
254
221
89
0
0
0
0
0
0
0
40
225
255
254
85
0
0
0
0
0
0
0
0
0
0
0
10
103
254
254
251
151
33
0
0
0
0
136
243
254
254
96
1
0
0
0
0
0
0
0
0
0
0
0
0
14
150
254
254
254
247
243
243
243
243
253
254
208
85
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
6
6
6
6
6
6
6
6
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
