0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
154
208
248
230
254
255
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
205
254
254
254
254
254
254
213
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
210
254
254
254
254
236
254
254
254
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
254
254
254
152
40
26
151
254
254
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
166
254
254
202
44
0
10
207
254
254
205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
252
254
242
83
136
180
254
254
254
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
189
254
254
254
254
254
254
254
254
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
56
209
254
254
254
254
254
201
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
228
254
254
254
238
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
248
254
254
254
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
248
254
254
253
166
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
230
254
254
170
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
254
254
229
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
227
254
254
254
133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
228
254
254
254
202
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
193
254
254
254
202
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
246
254
254
242
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
242
254
254
254
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
254
254
185
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
183
254
247
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
