0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
23
-
-
-
-
-
-
-
-
-
53
-
-
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
-
-
64
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
46
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
24
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
97
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
105
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
273
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
85
-
-
-
-
-
-
-
-
-
69
-
-
-
-
-
-
-
-
-
58
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
274
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
68
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
272
-
-
-
-
-
-
-
-
-
89
-
-
-
-
-
-
-
-
-
241
-
-
-
-
-
-
-
-
-
143
-
-
-
-
-
-
-
-
-
343
-
-
-
-
-
-
-
-
-
120
-
-
-
-
-
-
-
-
-
1064
-
-
-
-
-
-
-
-
-
50
-
-
-
-
-
-
-
-
-
777
-
-
-
-
-
-
-
-
-
19
-
-
-
-
-
-
-
-
-
835
-
-
-
-
-
-
-
-
-
297
-
-
-
-
-
-
-
-
-
243
-
-
-
-
-
-
-
-
-
78
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
86
-
-
-
-
-
-
-
-
-
23
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
110
-
-
-
-
-
-
-
-
-
4399
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
55
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
125
-
-
-
-
-
-
-
-
-
31
-
-
-
-
-
-
-
-
-
4032
-
-
-
-
-
-
-
-
-
73
-
-
-
-
-
-
-
-
-
126
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
110
-
-
-
-
-
-
-
-
-
39
-
-
-
-
-
-
-
-
-
269
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
165
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
164
-
-
-
-
-
-
-
-
-
204
-
-
-
-
-
-
-
-
-
720
-
-
-
-
-
-
-
-
-
350
-
-
-
-
-
-
-
-
-
2209
-
-
-
-
-
-
-
-
-
40
-
-
-
-
-
-
-
-
-
1025
-
-
-
-
-
-
-
-
-
267
-
-
-
-
-
-
-
-
-
441
-
-
-
-
-
-
-
-
-
168
-
-
-
-
-
-
-
-
-
472
-
-
-
-
-
-
-
-
-
254
-
-
-
-
-
-
-
-
-
455
-
-
-
-
-
-
-
-
-
194
-
-
-
-
-
-
-
-
-
727
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
468
-
-
-
-
-
-
-
-
-
74
-
-
-
-
-
-
-
-
-
5073
-
-
-
-
-
-
-
-
-
3331
-
-
-
-
-
-
-
-
-
2187
-
-
-
-
-
-
-
-
-
70