0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
253
253
253
253
255
133
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
251
251
253
251
251
251
251
253
251
220
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
251
172
173
251
251
251
251
253
251
251
220
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
50
12
12
31
31
31
31
213
251
251
251
94
0
0
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
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155
253
253
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
32
253
251
251
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
251
253
251
251
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
229
251
253
223
31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
205
251
251
253
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
253
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
92
236
251
243
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
205
253
251
251
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
210
251
253
243
109
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
205
251
251
253
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
253
253
253
255
253
253
253
253
96
96
96
96
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
251
251
251
253
251
251
251
251
253
251
251
251
251
131
8
0
0
0
0
0
0
0
0
0
0
0
0
16
188
251
251
253
251
251
251
251
253
251
251
251
251
253
157
127
16
0
0
0
0
0
0
0
0
0
0
0
16
31
129
189
188
188
188
188
253
251
251
251
251
253
251
251
169
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
94
94
232
251
253
251
251
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
