0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
253
253
253
153
96
96
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
253
251
251
251
251
253
251
220
190
190
131
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
253
251
251
251
251
253
251
251
251
251
253
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
31
31
70
188
213
251
251
251
251
253
161
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
251
251
251
251
253
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
194
255
253
253
253
253
159
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
112
205
251
253
251
235
220
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
251
251
251
205
126
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
251
251
251
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
251
251
251
218
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
206
253
253
255
253
253
114
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
102
220
253
251
251
251
212
32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
220
251
251
251
253
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
141
251
251
253
201
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
205
251
251
253
220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
96
96
194
255
253
253
253
253
255
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
131
191
197
251
251
251
253
251
251
243
220
63
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
221
251
253
251
251
251
251
253
235
126
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
221
251
253
243
188
188
188
129
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
94
153
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
