0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
28
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
51
-
-
-
-
-
-
-
-
-
252
-
-
-
-
-
-
-
-
-
217
-
-
-
-
-
-
-
-
-
80
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
19
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
65
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
84
-
-
-
-
-
-
-
-
-
138
-
-
-
-
-
-
-
-
-
26
43
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
85
-
-
-
-
-
-
-
-
-
47
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
417
-
-
-
-
-
-
-
-
-
118
-
-
-
-
-
-
-
-
-
70
-
-
-
-
-
-
-
-
-
82
-
-
-
-
-
-
-
-
-
198
-
-
-
-
-
-
-
-
-
31
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
38
-
-
-
-
-
-
-
-
-
39
-
-
-
-
-
-
-
-
-
317
-
-
-
-
-
-
-
-
-
217
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
169
-
-
-
-
-
-
-
-
-
167
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
119
-
-
-
-
-
-
-
-
-
110
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
36
-
-
-
-
-
-
-
-
-
228
-
-
-
-
-
-
-
-
-
276
-
-
-
-
-
-
-
-
-
26
-
-
-
-
-
-
-
-
-
345
-
-
-
-
-
-
-
-
-
208
-
-
-
-
-
-
-
-
-
309
-
-
-
-
-
-
-
-
-
31
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
139
-
-
-
-
-
-
-
-
-
104
-
-
-
-
-
-
-
-
-
153
-
-
-
-
-
-
-
-
-
183
-
-
-
-
-
-
-
-
-
103
-
-
-
-
-
-
-
-
-
132
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
108
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
46
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0