0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
29
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
160
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
33
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
22
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
68
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
35
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
36
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
200
-
-
-
-
-
-
-
-
-
65
-
-
-
-
-
-
-
-
-
233
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
465
-
-
-
-
-
-
-
-
-
138
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
78
-
-
-
-
-
-
-
-
-
93
-
-
-
-
-
-
-
-
-
311
-
-
-
-
-
-
-
-
-
43
-
-
-
-
-
-
-
-
-
150
-
-
-
-
-
-
-
-
-
91
-
-
-
-
-
-
-
-
-
126
-
-
-
-
-
-
-
-
-
222
-
-
-
-
-
-
-
-
-
230
-
-
-
-
-
-
-
-
-
223
-
-
-
-
-
-
-
-
-
190
-
-
-
-
-
-
-
-
-
199
-
-
-
-
-
-
-
-
-
518
-
-
-
-
-
-
-
-
-
131
-
-
-
-
-
-
-
-
-
115
-
-
-
-
-
-
-
-
-
277
-
-
-
-
-
-
-
-
-
125
-
-
-
-
-
-
-
-
-
541
-
-
-
-
-
-
-
-
-
365
-
-
-
-
-
-
-
-
-
369
-
-
-
-
-
-
-
-
-
784
-
-
-
-
-
-
-
-
-
901
-
-
-
-
-
-
-
-
-
410
-
-
-
-
-
-
-
-
-
741
-
-
-
-
-
-
-
-
-
341
-
-
-
-
-
-
-
-
-
349
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
111
-
-
-
-
-
-
-
-
-
112
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
964
-
-
-
-
-
-
-
-
-
2.45K
-
-
-
-
-
-
-
-
-
2.15K
-
-
-
-
-
-
-
-
-
134
-
-
-
-
-
-
-
-
-
5.08K
-
-
-
-
-
-
-
-
-
197
-
-
-
-
-
-
-
-
-
3.51K
-
-
-
-
-
-
-
-
-
6.67K
-
-
-
-
-
-
-
-
-
1.89K
-
-
-
-
-
-
-
-
-
777
-
-
-
-
-
-
-
-
-
4.91K
-
-
-
-
-
-
-
-
-
3.45K
-
-
-
-
-
-
-
-
-
4.41K
-
-
-
-
-
-
-
-
-
875
-
-
-
-
-
-
-
-
-
1.25K
-
-
-
-
-
-
-
-
-
1.51K
-
-
-
-
-
-
-
-
-
1.78K
-
-
-
-
-
-
-
-
-
3.11K
-
-
-
-
-
-
-
-
-
1.11K
-
-
-
-
-
-
-
-
-
814
-
-
-
-
-
-
-
-
-
436
-
-
-
-
-
-
-
-
-
2.23K
-
-
-
-
-
-
-
-
-
417
-
-
-
-
-
-
-
-
-
1.40K
-
-
-
-
-
-
-
-
-
668
-
-
-
-
-
-
-
-
-
1.71K
-
-
-
-
-
-
-
-
-
4.03K
-
-
-
-
-
-
-
-
-
793
-
-
-
-
-
-
-
-
-
119
-
-
-
-
-
-
-
-
-
3.62K
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
401
-
-
-
-
-
-
-
-
-
2.28K
-
-
-
-
-
-
-
-
-
692
-
-
-
-
-
-
-
-
-
947
-
-
-
-
-
-
-
-
-
936
-
-
-
-
-
-
-
-
-
383
-
-
-
-
-
-
-
-
-
558
-
-
-
-
-
-
-
-
-
1.23K
-
-
-
-
-
-
-
-
-
479
-
-
-
-
-
-
-
-
-
331
-
-
-
-
-
-
-
-
-
138
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
140
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
855
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
192
-
-
-
-
-
-
-
-
-
632
-
-
-
-
-
-
-
-
-
226
-
-
-
-
-
-
-
-
-
1.21K
-
-
-
-
-
-
-
-
-
262
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
385
-
-
-
-
-
-
-
-
-
243
-
-
-
-
-
-
-
-
-
1.66K
-
-
-
-
-
-
-
-
-
377
-
-
-
-
-
-
-
-
-
147
-
-
-
-
-
-
-
-
-
157
-
-
-
-
-
-
-
-
-
233
-
-
-
-
-
-
-
-
-
283
-
-
-
-
-
-
-
-
-
81
-
-
-
-
-
-
-
-
-
135
-
-
-
-
-
-
-
-
-
87
-
-
-
-
-
-
-
-
-
160
-
-
-
-
-
-
-
-
-
1.84K
-
-
-
-
-
-
-
-
-
38
-
-
-
-
-
-
-
-
-
318
-
-
-
-
-
-
-
-
-
184
-
-
-
-
-
-
-
-
-
436
-
-
-
-
-
-
-
-
-
631
-
-
-
-
-
-
-
-
-
456
-
-
-
-
-
-
-
-
-
217
-
-
-
-
-
-
-
-
-
379
-
-
-
-
-
-
-
-
-
349
-
-
-
-
-
-
-
-
-
4.72K
-
-
-
-
-
-
-
-
-
535
-
-
-
-
-
-
-
-
-
436
-
-
-
-
-
-
-
-
-
531
-
-
-
-
-
-
-
-
-
307
-
-
-
-
-
-
-
-
-
1.80K
-
-
-
-
-
-
-
-
-
864
-
-
-
-
-
-
-
-
-
306
-
-
-
-
-
-
-
-
-
221
-
-
-
-
-
-
-
-
-
363
-
-
-
-
-
-
-
-
-
1.32K
-
-
-
-
-
-
-
-
-
615
-
-
-
-
-
-
-
-
-
1.38K
-
-
-
-
-
-
-
-
-
1.16K
-
-
-
-
-
-
-
-
-
860
-
-
-
-
-
-
-
-
-
1.88K
-
-
-
-
-
-
-
-
-
1.55K
-
-
-
-
-
-
-
-
-
2.08K
-
-
-
-
-
-
-
-
-
323
-
-
-
-
-
-
-
-
-
378
-
-
-
-
-
-
-
-
-
4.06K
-
-
-
-
-
-
-
-
-
571
-
-
-
-
-
-
-
-
-
971
-
-
-
-
-
-
-
-
-
3.89K
-
-
-
-
-
-
-
-
-
1.18K
-
-
-
-
-
-
-
-
-
1.60K
-
-
-
-
-
-
-
-
-
504
-
-
-
-
-
-
-
-
-
538
-
-
-
-
-
-
-
-
-
588
-
-
-
-
-
-
-
-
-
1.50K
-
-
-
-
-
-
-
-
-
2.68K
-
-
-
-
-
-
-
-
-
820
-
-
-
-
-
-
-
-
-
1.87K
-
-
-
-
-
-
-
-
-
461
-
-
-
-
-
-
-
-
-
1.74K
-
-
-
-
-
-
-
-
-
2.60K
-
-
-
-
-
-
-
-
-
2.08K
-
-
-
-
-
-
-
-
-
1.33K
-
-
-
-
-
-
-
-
-
2.20K
-
-
-
-
-
-
-
-
-
551
-
-
-
-
-
-
-
-
-
1.39K
-
-
-
-
-
-
-
-
-
389
-
-
-
-
-
-
-
-
-
658
-
-
-
-
-
-
-
-
-
2.41K
-
-
-
-
-
-
-
-
-
620
-
-
-
-
-
-
-
-
-
984
-
-
-
-
-
-
-
-
-
1.36K
-
-
-
-
-
-
-
-
-
725
-
-
-
-
-
-
-
-
-
2.50K
885
-
-
-
-
-
-
-
-
-
2.33K
-
-
-
-
-
-
-
-
-
1.09K
-
-
-
-
-
-
-
-
-
1.98K
-
-
-
-
-
-
-
-
-
545
-
-
-
-
-
-
-
-
-
2.98K
-
-
-
-
-
-
-
-
-
2.65K
-
-
-
-
-
-
-
-
-
2.52K
-
-
-
-
-
-
-
-
-
2.38K
-
-
-
-
-
-
-
-
-
2.16K
-
-
-
-
-
-
-
-
-
742
-
-
-
-
-
-
-
-
-
5.01K
-
-
-
-
-
-
-
-
-
935
-
-
-
-
-
-
-
-
-
1.86K
-
-
-
-
-
-
-
-
-
2.66K
-
-
-
-
-
-
-
-
-
2.59K
-
-
-
-
-
-
-
-
-
1.36K
-
-
-
-
-
-
-
-
-
838
-
-
-
-
-
-
-
-
-
484
-
-
-
-
-
-
-
-
-
1.12K
-
-
-
-
-
-
-
-
-
1.53K
-
-
-
-
-
-
-
-
-
2.27K
-
-
-
-
-
-
-
-
-
684
-
-
-
-
-
-
-
-
-
1.13K
-
-
-
-
-
-
-
-
-
1.56K
-
-
-
-
-
-
-
-
-
292
-
-
-
-
-
-
-
-
-
4.81K
-
-
-
-
-
-
-
-
-
463
-
-
-
-
-
-
-
-
-
190
-
-
-
-
-
-
-
-
-
256
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1.77K
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
143
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
2.63K
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1.65K
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
340
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
80
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
401
-
-
-
-
-
-
-
-
-
53
-
-
-
-
-
-
-
-
-
200
-
-
-
-
-
-
-
-
-
200
-
-
-
-
-
-
-
-
-
69
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
26
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1.20K
-
-
-
-
-
-
-
-
-
931
-
-
-
-
-
-
-
-
-
278
-
-
-
-
-
-
-
-
-
185
-
-
-
-
-
-
-
-
-
450
-
-
-
-
-
-
-
-
-
279
-
-
-
-
-
-
-
-
-
308
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0