0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
255
108
0
0
0
15
246
199
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
212
253
199
0
0
0
176
253
253
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
253
253
197
0
0
27
227
253
252
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
173
253
253
92
0
0
125
253
253
216
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
253
92
0
17
232
253
245
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
171
253
253
234
10
0
27
253
253
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
253
253
253
62
0
0
197
253
253
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
189
253
253
224
14
0
32
243
253
253
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
248
253
229
39
0
0
93
253
253
205
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
173
253
253
236
126
55
101
173
253
253
218
162
134
33
0
0
0
0
0
0
0
0
0
0
0
0
0
6
253
253
253
253
253
253
253
253
253
253
253
204
133
32
0
0
0
0
0
0
0
0
0
0
0
0
0
6
253
253
253
249
232
185
246
253
253
142
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
86
86
86
70
0
0
162
253
248
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
197
253
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
253
253
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
253
253
241
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
177
253
232
0
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
253
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
253
241
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
253
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
