0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
194
255
133
96
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
92
190
221
251
251
253
251
251
236
190
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
253
251
251
251
251
253
251
251
251
251
206
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
181
253
251
219
50
31
31
31
110
204
251
253
201
0
0
0
0
0
0
0
0
0
0
0
0
0
80
240
251
253
132
47
0
0
0
0
0
64
251
253
240
79
0
0
0
0
0
0
0
0
0
0
0
0
128
253
193
100
0
0
0
0
0
0
0
0
0
255
253
126
0
0
0
0
0
0
0
0
0
0
0
4
142
251
94
0
0
0
0
0
0
0
0
28
32
141
220
110
0
0
0
0
0
0
0
0
0
0
0
16
188
251
94
0
0
0
0
0
0
16
127
236
251
158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
251
133
0
0
0
0
40
64
186
251
251
251
158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
251
251
159
59
158
158
217
253
251
251
251
251
158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
223
253
255
253
253
253
253
255
253
253
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
240
253
251
251
251
251
241
224
251
251
231
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
126
220
251
140
126
79
32
251
251
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
31
4
0
24
186
251
196
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
194
251
251
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
255
253
253
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
253
247
140
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
205
253
220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
251
253
220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
193
253
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
