0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
435
-
-
-
-
-
-
-
-
-
227
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
242
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
96
-
-
-
-
-
-
-
-
-
371
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
76
-
-
-
-
-
-
-
-
-
116
-
-
-
-
-
-
-
-
-
1284
-
-
-
-
-
-
-
-
-
144
-
-
-
-
-
-
-
-
-
113
-
-
-
-
-
-
-
-
-
122
-
-
-
-
-
-
-
-
-
114
-
-
-
-
-
-
-
-
-
4977
-
-
-
-
-
-
-
-
-
205
438
-
-
-
-
-
-
-
-
-
456
-
-
-
-
-
-
-
-
-
369
-
-
-
-
-
-
-
-
-
923
-
-
-
-
-
-
-
-
-
241
-
-
-
-
-
-
-
-
-
246
-
-
-
-
-
-
-
-
-
189
-
-
-
-
-
-
-
-
-
119
-
-
-
-
-
-
-
-
-
663
-
-
-
-
-
-
-
-
-
632
-
-
-
-
-
-
-
-
-
176
-
-
-
-
-
-
-
-
-
102
-
-
-
-
-
-
-
-
-
80
-
-
-
-
-
-
-
-
-
198
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
136
-
-
-
-
-
-
-
-
-
329
-
-
-
-
-
-
-
-
-
99
-
-
-
-
-
-
-
-
-
598
-
-
-
-
-
-
-
-
-
48
-
-
-
-
-
-
-
-
-
71
-
-
-
-
-
-
-
-
-
165
-
-
-
-
-
-
-
-
-
49
-
-
-
-
-
-
-
-
-
160
-
-
-
-
-
-
-
-
-
26
-
-
-
-
-
-
-
-
-
514
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
512
-
-
-
-
-
-
-
-
-
503
-
-
-
-
-
-
-
-
-
389
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
789
-
-
-
-
-
-
-
-
-
96
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
222
-
-
-
-
-
-
-
-
-
316
-
-
-
-
-
-
-
-
-
129
-
-
-
-
-
-
-
-
-
163
-
-
-
-
-
-
-
-
-
54
-
-
-
-
-
-
-
-
-
77
-
-
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
-
-
71
-
-
-
-
-
-
-
-
-
111
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
85
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0