0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
19
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
96
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
151
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
159
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
249
-
-
-
-
-
-
-
-
-
149
-
-
-
-
-
-
-
-
-
497
-
-
-
-
-
-
-
-
-
277
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
348
-
-
-
-
-
-
-
-
-
38
-
-
-
-
-
-
-
-
-
234
-
-
-
-
-
-
-
-
-
90
-
-
-
-
-
-
-
-
-
534
-
-
-
-
-
-
-
-
-
128
-
-
-
-
-
-
-
-
-
656
-
-
-
-
-
-
-
-
-
143
-
-
-
-
-
-
-
-
-
706
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
14
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
48
-
-
-
-
-
-
-
-
-
42
-
-
-
-
-
-
-
-
-
48
-
-
-
-
-
-
-
-
-
84
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
54
-
-
-
-
-
-
-
-
-
50
-
-
-
-
-
-
-
-
-
29
-
-
-
-
-
-
-
-
-
39
-
-
-
-
-
-
-
-
-
201
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
80
-
-
-
-
-
-
-
-
-
133
-
-
-
-
-
-
-
-
-
179
-
-
-
-
-
-
-
-
-
75
-
-
-
-
-
-
-
-
-
217
-
-
-
-
-
-
-
-
-
150
-
-
-
-
-
-
-
-
-
193
-
-
-
-
-
-
-
-
-
593
-
-
-
-
-
-
-
-
-
135
-
-
-
-
-
-
-
-
-
77
-
-
-
-
-
-
-
-
-
219
-
-
-
-
-
-
-
-
-
158
-
-
-
-
-
-
-
-
-
499
-
-
-
-
-
-
-
-
-
283
-
-
-
-
-
-
-
-
-
747
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
212
-
-
-
-
-
-
-
-
-
117
-
-
-
-
-
-
-
-
-
544
-
-
-
-
-
-
-
-
-
152
-
-
-
-
-
-
-
-
-
727
-
-
-
-
-
-
-
-
-
149
-
-
-
-
-
-
-
-
-
1.64K
-
-
-
-
-
-
-
-
-
406
-
-
-
-
-
-
-
-
-
531
-
-
-
-
-
-
-
-
-
676
-
-
-
-
-
-
-
-
-
2.69K
-
-
-
-
-
-
-
-
-
756
-
-
-
-
-
-
-
-
-
1.21K
-
-
-
-
-
-
-
-
-
626
-
-
-
-
-
-
-
-
-
275
-
-
-
-
-
-
-
-
-
473
-
-
-
-
-
-
-
-
-
73
-
-
-
-
-
-
-
-
-
272
-
-
-
-
-
-
-
-
-
81
-
-
-
-
-
-
-
-
-
717
-
-
-
-
-
-
-
-
-
124
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
28
-
-
-
-
-
-
-
-
-
128
135
-
-
-
-
-
-
-
-
-
441
-
-
-
-
-
-
-
-
-
693
-
-
-
-
-
-
-
-
-
542
-
-
-
-
-
-
-
-
-
5.49K
-
-
-
-
-
-
-
-
-
427
-
-
-
-
-
-
-
-
-
703
-
-
-
-
-
-
-
-
-
300
-
-
-
-
-
-
-
-
-
1.09K
-
-
-
-
-
-
-
-
-
449
-
-
-
-
-
-
-
-
-
1.01K
-
-
-
-
-
-
-
-
-
241
-
-
-
-
-
-
-
-
-
435
-
-
-
-
-
-
-
-
-
586
-
-
-
-
-
-
-
-
-
226
-
-
-
-
-
-
-
-
-
334
-
-
-
-
-
-
-
-
-
73
-
-
-
-
-
-
-
-
-
66
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
76
-
-
-
-
-
-
-
-
-