0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
255
217
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
235
253
253
129
0
0
0
0
0
0
20
76
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
253
253
214
25
0
0
0
0
3
167
230
251
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
200
253
253
148
0
0
0
0
0
162
253
242
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
253
253
238
40
0
0
0
0
20
221
253
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
156
253
253
149
0
0
0
0
0
111
253
253
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
253
253
222
0
0
0
0
0
0
168
253
253
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
253
253
134
0
0
0
0
0
17
234
253
244
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
253
253
134
0
0
0
11
56
182
253
253
173
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
253
253
211
162
80
153
221
253
253
253
253
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
216
253
253
253
253
253
253
253
253
253
253
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
177
242
253
253
233
162
85
239
253
253
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
86
86
7
0
22
242
253
253
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
174
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
243
253
193
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
217
165
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
