0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
115
-
-
-
-
-
-
-
-
-
462
-
-
-
-
-
-
-
-
-
505
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
22
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
300
-
-
-
-
-
-
-
-
-
470
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
70
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
135
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
23
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
118
-
-
-
-
-
-
-
-
-
29
-
-
-
-
-
-
-
-
-
250
-
-
-
-
-
-
-
-
-
52
-
-
-
-
-
-
-
-
-
286
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
259
-
-
-
-
-
-
-
-
-
146
-
-
-
-
-
-
-
-
-
341
-
-
-
-
-
-
-
-
-
390
-
-
-
-
-
-
-
-
-
560
-
-
-
-
-
-
-
-
-
1,034
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
79
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
26
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
40
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
342
-
-
-
-
-
-
-
-
-
124
-
-
-
-
-
-
-
-
-
148
-
-
-
-
-
-
-
-
-
90
-
-
-
-
-
-
-
-
-
282
-
-
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
-
-
174
-
-
-
-
-
-
-
-
-
111
-
-
-
-
-
-
-
-
-
413
-
-
-
-
-
-
-
-
-
348
-
-
-
-
-
-
-
-
-
605
-
-
-
-
-
-
-
-
-
34
-
-
-
-
-
-
-
-
-
275
-
-
-
-
-
-
-
-
-
135
-
-
-
-
-
-
-
-
-
268
-
-
-
-
-
-
-
-
-
294
-
-
-
-
-
-
-
-
-
248
-
-
-
-
-
-
-
-
-
159
-
-
-
-
-
-
-
-
-
461
-
-
-
-
-
-
-
-
-
104
-
-
-
-
-
-
-
-
-
477
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
217
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
307
-
-
-
-
-
-
-
-
-
238
-
-
-
-
-
-
-
-
-
182
-
-
-
-
-
-
-
-
-
281