0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
157
241
247
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
87
241
241
198
222
253
152
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
168
253
243
41
0
16
178
254
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
253
207
39
0
0
0
52
235
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
243
240
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
209
243
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
209
253
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
254
225
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
238
254
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
253
202
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
254
182
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
253
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154
253
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
238
253
129
0
0
0
0
12
19
19
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
238
253
181
0
0
40
124
228
253
253
253
227
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
254
202
5
153
254
254
255
186
191
254
254
202
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
253
254
237
250
223
108
18
2
3
203
253
254
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
145
254
253
253
125
0
0
8
50
226
253
146
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
208
253
253
249
199
200
211
253
251
169
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
124
175
253
253
254
253
207
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
