0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
130
222
255
255
215
130
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
156
253
253
253
253
253
253
253
253
41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
253
253
253
240
235
140
147
241
253
253
253
207
80
0
0
0
0
0
0
0
0
0
0
0
0
0
27
213
253
249
204
31
0
0
0
34
155
253
253
253
152
2
0
0
0
0
0
0
0
0
0
0
0
3
162
253
253
134
0
0
0
0
0
0
34
231
253
253
253
12
0
0
0
0
0
0
0
0
0
0
0
98
253
253
211
32
0
0
0
0
0
0
0
217
253
253
253
12
0
0
0
0
0
0
0
0
0
0
9
216
253
233
32
0
0
0
0
0
0
0
58
241
253
253
253
12
0
0
0
0
0
0
0
0
0
0
13
253
253
198
0
0
0
0
0
0
0
80
201
253
253
253
253
12
0
0
0
0
0
0
0
0
0
0
13
253
253
99
0
0
0
0
0
16
153
239
253
253
253
253
229
9
0
0
0
0
0
0
0
0
0
0
13
253
253
189
0
0
13
63
153
204
253
253
232
244
253
253
141
0
0
0
0
0
0
0
0
0
0
0
13
253
253
246
114
69
165
253
253
253
253
158
41
217
253
253
141
0
0
0
0
0
0
0
0
0
0
0
3
130
253
253
253
253
253
253
253
197
82
11
69
245
253
253
106
0
0
0
0
0
0
0
0
0
0
0
0
4
169
253
253
253
237
172
82
12
0
0
88
253
253
253
18
0
0
0
0
0
0
0
0
0
0
0
0
0
25
43
43
43
34
0
0
0
0
0
88
253
253
253
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
253
253
253
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
253
253
212
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
253
253
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
253
253
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
253
253
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
253
192
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
