0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
65
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
233
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
167
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
75
-
-
-
-
-
-
-
-
-
28
-
-
-
-
-
-
-
-
-
162
-
-
-
-
-
-
-
-
-
119
-
-
-
-
-
-
-
-
-
355
-
-
-
-
-
-
-
-
-
423
-
-
-
-
-
-
-
-
-
573
-
-
-
-
-
-
-
-
-
308
-
-
-
-
-
-
-
-
-
790
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
34
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
71
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
145
-
-
-
-
-
-
-
-
-
89
-
-
-
-
-
-
-
-
-
171
-
-
-
-
-
-
-
-
-
120
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
115
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
23
-
-
-
-
-
-
-
-
-
181
-
-
-
-
-
-
-
-
-
47
-
-
-
-
-
-
-
-
-
79
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
76
-
-
-
-
-
-
-
-
-
150
-
-
-
-
-
-
-
-
-
416
-
-
-
-
-
-
-
-
-
97
-
-
-
-
-
-
-
-
-
2,104
-
-
-
-
-
-
-
-
-
406
-
-
-
-
-
-
-
-
-
825
-
-
-
-
-
-
-
-
-
158
-
-
-
-
-
-
-
-
-
292
-
-
-
-
-
-
-
-
-
313
-
-
-
-
-
-
-
-
-
2,121
-
-
-
-
-
-
-
-
-
269
-
-
-
-
-
-
-
-
-
3,477
-
-
-
-
-
-
-
-
-
4,697
-
-
-
-
-
-
-
-
-
480
-
-
-
-
-
-
-
-
-
248
-
-
-
-
-
-
-
-
-
460