0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
51
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
51
-
-
-
-
-
-
-
-
-
47
-
-
-
-
-
-
-
-
-
35
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
22
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
40
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
23
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
52
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
74
-
-
-
-
-
-
-
-
-
76
-
-
-
-
-
-
-
-
-
295
-
-
-
-
-
-
-
-
-
53
-
-
-
-
-
-
-
-
-
98
-
-
-
-
-
-
-
-
-
152
-
-
-
-
-
-
-
-
-
173
-
-
-
-
-
-
-
-
-
476
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
71
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
26
-
-
-
-
-
-
-
-
-
122
-
-
-
-
-
-
-
-
-
114
-
-
-
-
-
-
-
-
-
112
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
104
-
-
-
-
-
-
-
-
-
102
-
-
-
-
-
-
-
-
-
240
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
59
-
-
-
-
-
-
-
-
-
85
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
713
-
-
-
-
-
-
-
-
-
128
-
-
-
-
-
-
-
-
-
100
-
-
-
-
-
-
-
-
-
1.40K
-
-
-
-
-
-
-
-
-
246
-
-
-
-
-
-
-
-
-
239
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
162
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
153
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
117
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
148
-
-
-
-
-
-
-
-
-
50
-
-
-
-
-
-
-
-
-
696
-
-
-
-
-
-
-
-
-
644
-
-
-
-
-
-
-
-
-
448
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
116
-
-
-
-
-
-
-
-
-
155
-
-
-
-
-
-
-
-
-
188
-
-
-
-
-
-
-
-
-
76
No Data