0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
28
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
38
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
40
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
54
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
46
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
35
-
-
-
-
-
-
-
-
-
51
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
36
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
124
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
31
-
-
-
-
-
-
-
-
-
104
-
-
-
-
-
-
-
-
-
154
-
-
-
-
-
-
-
-
-
102
-
-
-
-
-
-
-
-
-
138
-
-
-
-
-
-
-
-
-
182
-
-
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
89
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
29
-
-
-
-
-
-
-
-
-
34
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
54
-
-
-
-
-
-
-
-
-
342
-
-
-
-
-
-
-
-
-
24
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
40
-
-
-
-
-
-
-
-
-
111
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
112
-
-
-
-
-
-
-
-
-
81
-
-
-
-
-
-
-
-
-
197
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
47
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
68
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
40
-
-
-
-
-
-
-
-
-
83
-
-
-
-
-
-
-
-
-
66
-
-
-
-
-
-
-
-
-
640
-
-
-
-
-
-
-
-
-
636
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
69
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
64
-
-
-
-
-
-
-
-
-
35
-
-
-
-
-
-
-
-
-
44
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
235
-
-
-
-
-
-
-
-
-
29
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
48
-
-
-
-
-
-
-
-
-
156
-
-
-
-
-
-
-
-
-
75
-
-
-
-
-
-
-
-
-
174
-
-
-
-
-
-
-
-
-
83
-
-
-
-
-
-
-
-
-
80
-
-
-
-
-
-
-
-
-
78
-
-
-
-
-
-
-
-
-
107
-
-
-
-
-
-
-
-
-
218
-
-
-
-
-
-
-
-
-
234
-
-
-
-
-
-
-
-
-
184
-
-
-
-
-
-
-
-
-
116
-
-
-
-
-
-
-
-
-
290
-
-
-
-
-
-
-
-
-
103
-
-
-
-
-
-
-
-
-
131
-
-
-
-
-
-
-
-
-
171
-
-
-
-
-
-
-
-
-
104
-
-
-
-
-
-
-
-
-
94
190
-
-
-
-
-
-
-
-
-
133
-
-
-
-
-
-
-
-
-
229
-
-
-
-
-
-
-
-
-
74
-
-
-
-
-
-
-
-
-
117
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
205
-
-
-
-
-
-
-
-
-
91
-
-
-
-
-
-
-
-
-
71
-
-
-
-
-
-
-
-
-
42
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
422
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
24
-
-
-
-
-
-
-
-
-
531
-
-
-
-
-
-
-
-
-
502
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
49
-
-
-
-
-
-
-
-
-
69
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
108
-
-
-
-
-
-
-
-
-
83
-
-
-
-
-
-
-
-
-
48
-
-
-
-
-
-
-
-
-
51
-
-
-
-
-
-
-
-
-
96
-
-
-
-
-
-
-
-
-
107
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
93
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0