0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
29
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
160
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
32
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
11
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
22
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
68
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
36
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
36
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
200
-
-
-
-
-
-
-
-
-
65
-
-
-
-
-
-
-
-
-
233
-
-
-
-
-
-
-
-
-
59
-
-
-
-
-
-
-
-
-
454
-
-
-
-
-
-
-
-
-
128
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
78
-
-
-
-
-
-
-
-
-
93
-
-
-
-
-
-
-
-
-
304
-
-
-
-
-
-
-
-
-
43
-
-
-
-
-
-
-
-
-
150
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
122
-
-
-
-
-
-
-
-
-
222
-
-
-
-
-
-
-
-
-
230
-
-
-
-
-
-
-
-
-
223
-
-
-
-
-
-
-
-
-
190
-
-
-
-
-
-
-
-
-
201
-
-
-
-
-
-
-
-
-
518
-
-
-
-
-
-
-
-
-
131
-
-
-
-
-
-
-
-
-
115
-
-
-
-
-
-
-
-
-
277
-
-
-
-
-
-
-
-
-
93
-
-
-
-
-
-
-
-
-
457
-
-
-
-
-
-
-
-
-
365
-
-
-
-
-
-
-
-
-
369
-
-
-
-
-
-
-
-
-
784
-
-
-
-
-
-
-
-
-
406
-
-
-
-
-
-
-
-
-
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
-
-
-
-
-
-
-
-
-
771
-
-
-
-
-
-
-
-
-
4.91K
-
-
-
-
-
-
-
-
-
3.45K
-
-
-
-
-
-
-
-
-
4.41K
-
-
-
-
-
-
-
-
-
875
-
-
-
-
-
-
-
-
-
208
-
-
-
-
-
-
-
-
-
1.51K
-
-
-
-
-
-
-
-
-
1.78K
-
-
-
-
-
-
-
-
-
1.98K
-
-
-
-
-
-
-
-
-
1.11K
-
-
-
-
-
-
-
-
-
814
-
-
-
-
-
-
-
-
-
436
-
-
-
-
-
-
-
-
-
2.23K
-
-
-
-
-
-
-
-
-
378
-
-
-
-
-
-
-
-
-
1.40K
-
-
-
-
-
-
-
-
-
468
-
-
-
-
-
-
-
-
-
1.71K
-
-
-
-
-
-
-
-
-
4.03K
-
-
-
-
-
-
-
-
-
793
-
-
-
-
-
-
-
-
-
119
-
-
-
-
-
-
-
-
-
3.47K
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
401
-
-
-
-
-
-
-
-
-
1.74K
-
-
-
-
-
-
-
-
-
692
-
-
-
-
-
-
-
-
-
286
-
-
-
-
-
-
-
-
-
936
-
-
-
-
-
-
-
-
-
383
-
-
-
-
-
-
-
-
-
173
-
-
-
-
-
-
-
-
-
1.23K
-
-
-
-
-
-
-
-
-
479
-
-
-
-
-
-
-
-
-
131
-
-
-
-
-
-
-
-
-
138
-
-
-
-
-
-
-
-
-
88
-
-
-
-
-
-
-
-
-
119
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
61
-
-
-
-
-
-
-
-
-
855
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
173
-
-
-
-
-
-
-
-
-
632
-
-
-
-
-
-
-
-
-
226
-
-
-
-
-
-
-
-
-
1.21K
-
-
-
-
-
-
-
-
-
225
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
385
-
-
-
-
-
-
-
-
-
243
-
-
-
-
-
-
-
-
-
592
-
-
-
-
-
-
-
-
-
377
-
-
-
-
-
-
-
-
-
147
-
-
-
-
-
-
-
-
-
157
-
-
-
-
-
-
-
-
-
134
-
-
-
-
-
-
-
-
-
283
-
-
-
-
-
-
-
-
-
81
-
-
-
-
-
-
-
-
-
122
-
-
-
-
-
-
-
-
-
87
-
-
-
-
-
-
-
-
-
156
-
-
-
-
-
-
-
-
-
547
-
-
-
-
-
-
-
-
-
39
-
-
-
-
-
-
-
-
-
318
-
-
-
-
-
-
-
-
-
184
-
-
-
-
-
-
-
-
-
221
-
-
-
-
-
-
-
-
-
631
-
-
-
-
-
-
-
-
-
456
-
-
-
-
-
-
-
-
-
217
-
-
-
-
-
-
-
-
-
379
-
-
-
-
-
-
-
-
-
349
-
-
-
-
-
-
-
-
-
4.72K
-
-
-
-
-
-
-
-
-
535
-
-
-
-
-
-
-
-
-
436
-
-
-
-
-
-
-
-
-
531
-
-
-
-
-
-
-
-
-
307
-
-
-
-
-
-
-
-
-
1.80K
-
-
-
-
-
-
-
-
-
864
-
-
-
-
-
-
-
-
-
306
-
-
-
-
-
-
-
-
-
221
-
-
-
-
-
-
-
-
-
252
-
-
-
-
-
-
-
-
-
1.32K
-
-
-
-
-
-
-
-
-
146
-
-
-
-
-
-
-
-
-
184
-
-
-
-
-
-
-
-
-
144
-
-
-
-
-
-
-
-
-
860
-
-
-
-
-
-
-
-
-
690
-
-
-
-
-
-
-
-
-
466
-
-
-
-
-
-
-
-
-
2.08K
-
-
-
-
-
-
-
-
-
287
-
-
-
-
-
-
-
-
-
378
-
-
-
-
-
-
-
-
-
4.06K
-
-
-
-
-
-
-
-
-
571
-
-
-
-
-
-
-
-
-
392
-
-
-
-
-
-
-
-
-
2.26K
-
-
-
-
-
-
-
-
-
263
-
-
-
-
-
-
-
-
-
1.60K
-
-
-
-
-
-
-
-
-
504
-
-
-
-
-
-
-
-
-
538
-
-
-
-
-
-
-
-
-
588
-
-
-
-
-
-
-
-
-
1.50K
-
-
-
-
-
-
-
-
-
949
-
-
-
-
-
-
-
-
-
820
-
-
-
-
-
-
-
-
-
1.87K
-
-
-
-
-
-
-
-
-
461
-
-
-
-
-
-
-
-
-
694
-
-
-
-
-
-
-
-
-
2.60K
-
-
-
-
-
-
-
-
-
2.08K
-
-
-
-
-
-
-
-
-
389
-
-
-
-
-
-
-
-
-
1.06K
-
-
-
-
-
-
-
-
-
551
-
-
-
-
-
-
-
-
-
1.39K
-
-
-
-
-
-
-
-
-
389
-
-
-
-
-
-
-
-
-
658
-
-
-
-
-
-
-
-
-
627
-
-
-
-
-
-
-
-
-
620
-
-
-
-
-
-
-
-
-
984
-
-
-
-
-
-
-
-
-
1.36K
-
-
-
-
-
-
-
-
-
725
-
-
-
-
-
-
-
-
-
2.50K
885
-
-
-
-
-
-
-
-
-
1.32K
-
-
-
-
-
-
-
-
-
1.09K
-
-
-
-
-
-
-
-
-
855
-
-
-
-
-
-
-
-
-
545
-
-
-
-
-
-
-
-
-
2.98K
-
-
-
-
-
-
-
-
-
2.65K
-
-
-
-
-
-
-
-
-
2.52K
-
-
-
-
-
-
-
-
-
2.38K
-
-
-
-
-
-
-
-
-
796
-
-
-
-
-
-
-
-
-
742
-
-
-
-
-
-
-
-
-
5.01K
-
-
-
-
-
-
-
-
-
935
-
-
-
-
-
-
-
-
-
1.86K
-
-
-
-
-
-
-
-
-
557
-
-
-
-
-
-
-
-
-
2.59K
-
-
-
-
-
-
-
-
-
1.23K
-
-
-
-
-
-
-
-
-
838
-
-
-
-
-
-
-
-
-
484
-
-
-
-
-
-
-
-
-
1.12K
-
-
-
-
-
-
-
-
-
1.48K
-
-
-
-
-
-
-
-
-
2.27K
-
-
-
-
-
-
-
-
-
684
-
-
-
-
-
-
-
-
-
768
-
-
-
-
-
-
-
-
-
1.56K
-
-
-
-
-
-
-
-
-
281
-
-
-
-
-
-
-
-
-
4.81K
-
-
-
-
-
-
-
-
-
463
-
-
-
-
-
-
-
-
-
190
-
-
-
-
-
-
-
-
-
256
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1.77K
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
323
-
-
-
-
-
-
-
-
-
931
-
-
-
-
-
-
-
-
-
301
-
-
-
-
-
-
-
-
-
185
-
-
-
-
-
-
-
-
-
450
-
-
-
-
-
-
-
-
-
279
-
-
-
-
-
-
-
-
-
284
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
30
-
-
-
-
-
-
-
-
-
72
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
94
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
18
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
9
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
19
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0