0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
77
77
142
166
166
197
150
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
220
254
254
254
254
254
254
254
249
139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
211
254
254
254
254
254
226
205
246
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
116
90
40
40
40
17
7
217
245
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
254
254
150
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
254
254
254
182
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
133
254
254
254
210
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
37
176
254
234
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
6
174
254
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
227
235
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
254
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
254
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
254
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
254
199
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
110
254
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
241
176
60
7
0
0
0
0
38
238
254
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
254
254
254
224
208
130
99
130
194
254
234
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
180
254
254
254
254
254
254
254
254
249
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
207
249
254
254
254
254
254
254
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
92
165
165
198
254
175
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
