0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
231
255
228
0
0
28
80
80
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
253
226
0
0
88
253
253
197
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
253
226
0
0
88
253
253
253
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
253
226
0
0
88
253
253
253
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
253
226
0
0
12
178
253
253
200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
236
253
226
0
0
43
208
253
253
200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
219
253
247
128
27
106
253
253
253
200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
253
253
253
253
253
253
253
253
222
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
248
253
253
253
253
253
253
253
253
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
235
253
253
253
253
253
253
253
167
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
253
253
195
87
248
253
253
253
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
8
5
0
197
253
253
253
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
253
253
253
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
159
253
253
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
253
253
133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
253
253
222
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
242
253
253
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
228
253
253
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
228
253
239
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
107
253
218
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
