0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
22
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
43
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
52
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
23
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
275
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
84
-
-
-
-
-
-
-
-
-
123
-
-
-
-
-
-
-
-
-
38
-
-
-
-
-
-
-
-
-
127
-
-
-
-
-
-
-
-
-
68
-
-
-
-
-
-
-
-
-
283
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
220
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
31
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
68
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
43
-
-
-
-
-
-
-
-
-
19
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
93
-
-
-
-
-
-
-
-
-
233
-
-
-
-
-
-
-
-
-
133
-
-
-
-
-
-
-
-
-
131
-
-
-
-
-
-
-
-
-
48
-
-
-
-
-
-
-
-
-
155
-
-
-
-
-
-
-
-
-
59
-
-
-
-
-
-
-
-
-
148
-
-
-
-
-
-
-
-
-
42
-
-
-
-
-
-
-
-
-
220
-
-
-
-
-
-
-
-
-
149
-
-
-
-
-
-
-
-
-
929
-
-
-
-
-
-
-
-
-
70
-
-
-
-
-
-
-
-
-
310
-
-
-
-
-
-
-
-
-
465
-
-
-
-
-
-
-
-
-
360
-
-
-
-
-
-
-
-
-
500
-
-
-
-
-
-
-
-
-
175
-
-
-
-
-
-
-
-
-
621
-
-
-
-
-
-
-
-
-
379
-
-
-
-
-
-
-
-
-
1.27K
-
-
-
-
-
-
-
-
-
1.65K
-
-
-
-
-
-
-
-
-
103
-
-
-
-
-
-
-
-
-
218