0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
228
90
0
0
0
0
0
0
0
15
81
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
254
135
0
0
0
0
0
0
0
177
225
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
242
254
137
0
0
0
0
0
0
0
207
254
144
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
254
254
244
0
0
0
0
0
0
0
207
254
254
43
0
0
0
0
0
0
0
0
0
0
0
0
0
4
211
254
252
73
0
0
0
0
0
0
207
254
254
78
0
0
0
0
0
0
0
0
0
0
0
0
0
6
250
254
254
93
0
0
0
0
0
0
207
254
254
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
254
250
82
0
0
0
0
0
0
207
254
227
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
254
254
222
21
0
0
0
0
0
207
254
204
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
250
254
254
239
20
0
0
2
68
251
254
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
167
254
254
254
163
55
95
171
254
254
254
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
234
254
254
254
254
254
254
254
254
254
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
246
254
254
254
254
254
254
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
215
254
254
254
240
197
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
48
95
48
62
238
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
245
254
254
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
254
254
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
254
254
244
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
254
254
254
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
254
254
208
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
234
231
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
