0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
96
195
96
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
191
190
190
244
251
253
251
220
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
205
253
251
251
251
251
253
251
251
220
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
221
248
251
253
251
251
251
251
253
251
251
235
70
0
0
0
0
0
0
0
0
0
0
0
0
0
60
228
251
251
251
253
251
251
251
251
253
251
172
70
0
0
0
0
0
0
0
0
0
0
0
0
0
60
255
253
253
253
253
100
0
0
64
253
255
253
126
0
0
0
0
0
0
0
0
0
0
0
0
0
8
170
253
251
251
251
251
131
8
0
56
240
253
251
141
4
0
0
0
0
0
0
0
0
0
0
0
64
158
251
253
251
251
251
251
126
31
0
0
79
253
251
251
31
0
0
0
0
0
0
0
0
0
0
8
158
251
251
253
184
31
31
31
0
0
0
0
0
253
251
251
31
0
0
0
0
0
0
0
0
0
0
131
251
251
251
253
62
0
0
0
0
0
0
0
0
253
251
251
129
0
0
0
0
0
0
0
0
0
36
214
253
253
253
100
0
0
0
0
0
0
0
0
0
195
253
253
189
0
0
0
0
0
0
0
0
0
115
251
251
251
132
0
0
0
0
0
0
0
0
0
0
214
251
251
69
0
0
0
0
0
0
0
0
0
253
251
251
251
94
0
0
0
0
0
0
0
0
0
80
253
251
251
31
0
0
0
0
0
0
0
0
0
253
251
251
196
12
0
0
0
0
0
0
0
0
16
181
253
251
219
23
0
0
0
0
0
0
0
0
0
253
251
251
188
0
0
0
0
0
0
0
0
0
162
251
253
251
126
0
0
0
0
0
0
0
0
0
0
255
253
253
189
0
0
0
0
0
0
0
92
253
253
253
219
138
0
0
0
0
0
0
0
0
0
0
0
233
251
251
236
190
32
32
112
91
190
191
236
251
251
231
138
0
0
0
0
0
0
0
0
0
0
0
0
96
251
251
251
251
253
251
251
251
251
253
251
251
219
47
0
0
0
0
0
0
0
0
0
0
0
0
0
12
149
220
251
251
253
251
251
251
251
253
223
31
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
232
251
253
251
251
251
251
95
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
