0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
34
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
37
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
44
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
155
-
-
-
-
-
-
-
-
-
57
-
-
-
-
-
-
-
-
-
107
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
12
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
19
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
111
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
127
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
31
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
46
-
-
-
-
-
-
-
-
-
13
-
-
-
-
-
-
-
-
-
34
-
-
-
-
-
-
-
-
-
38
-
-
-
-
-
-
-
-
-
96
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
541
-
-
-
-
-
-
-
-
-
684
-
-
-
-
-
-
-
-
-
192
-
-
-
-
-
-
-
-
-
85
-
-
-
-
-
-
-
-
-
115
-
-
-
-
-
-
-
-
-
279
-
-
-
-
-
-
-
-
-
295
-
-
-
-
-
-
-
-
-
92
-
-
-
-
-
-
-
-
-
210
-
-
-
-
-
-
-
-
-
177
-
-
-
-
-
-
-
-
-
493
-
-
-
-
-
-
-
-
-
251
-
-
-
-
-
-
-
-
-
326
-
-
-
-
-
-
-
-
-
393
-
-
-
-
-
-
-
-
-
413
-
-
-
-
-
-
-
-
-
454
-
-
-
-
-
-
-
-
-
1.21K
-
-
-
-
-
-
-
-
-
625
-
-
-
-
-
-
-
-
-
1.54K
-
-
-
-
-
-
-
-
-
745
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
355
-
-
-
-
-
-
-
-
-
3.69K
-
-
-
-
-
-
-
-
-
829
-
-
-
-
-
-
-
-
-
3.48K
-
-
-
-
-
-
-
-
-
792
-
-
-
-
-
-
-
-
-
2.50K
-
-
-
-
-
-
-
-
-
3.23K
-
-
-
-
-
-
-
-
-
1.43K
-
-
-
-
-
-
-
-
-
4.50K
-
-
-
-
-
-
-
-
-
2.95K
-
-
-
-
-
-
-
-
-
2.98K
-
-
-
-
-
-
-
-
-
70
-
-
-
-
-
-
-
-
-
1.68K
-
-
-
-
-
-
-
-
-
5.84K
-
-
-
-
-
-
-
-
-
4.86K
-
-
-
-
-
-
-
-
-
1.30K
-
-
-
-
-
-
-
-
-
425
-
-
-
-
-
-
-
-
-
5.84K
-
-
-
-
-
-
-
-
-
373
-
-
-
-
-
-
-
-
-
2.43K
-
-
-
-
-
-
-
-
-
452
-
-
-
-
-
-
-
-
-
4.13K
-
-
-
-
-
-
-
-
-
1.37K
-
-
-
-
-
-
-
-
-
2.01K
-
-
-
-
-
-
-
-
-
576
-
-
-
-
-
-
-
-
-
2.27K
-
-
-
-
-
-
-
-
-
1.14K
-
-
-
-
-
-
-
-
-
1.17K
-
-
-
-
-
-
-
-
-
616
-
-
-
-
-
-
-
-
-
148
-
-
-
-
-
-
-
-
-
21
-
-
-
-
-
-
-
-
-
847
-
-
-
-
-
-
-
-
-
27
-
-
-
-
-
-
-
-
-
114
-
-
-
-
-
-
-
-
-
475
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
115
-
-
-
-
-
-
-
-
-
5.75K
-
-
-
-
-
-
-
-
-
213
-
-
-
-
-
-
-
-
-
231
-
-
-
-
-
-
-
-
-
327
-
-
-
-
-
-
-
-
-
185
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
1.23K
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
1.12K
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
129
-
-
-
-
-
-
-
-
-
988
-
-
-
-
-
-
-
-
-
1.52K
-
-
-
-
-
-
-
-
-
1.06K
-
-
-
-
-
-
-
-
-
867
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
719
-
-
-
-
-
-
-
-
-
39
-
-
-
-
-
-
-
-
-
4.53K
-
-
-
-
-
-
-
-
-
134
-
-
-
-
-
-
-
-
-
401
-
-
-
-
-
-
-
-
-
155
-
-
-
-
-
-
-
-
-
337
-
-
-
-
-
-
-
-
-
1.43K
-
-
-
-
-
-
-
-
-
3.81K
-
-
-
-
-
-
-
-
-
856
-
-
-
-
-
-
-
-
-
429
-
-
-
-
-
-
-
-
-
87
-
-
-
-
-
-
-
-
-
3.45K
-
-
-
-
-
-
-
-
-
1.82K
-
-
-
-
-
-
-
-
-
306
-
-
-
-
-
-
-
-
-
984
-
-
-
-
-
-
-
-
-
1.41K
-
-
-
-
-
-
-
-
-
976
-
-
-
-
-
-
-
-
-
2.02K
-
-
-
-
-
-
-
-
-
621
-
-
-
-
-
-
-
-
-
1.25K
-
-
-
-
-
-
-
-
-
405
-
-
-
-
-
-
-
-
-
4.85K
-
-
-
-
-
-
-
-
-
422
-
-
-
-
-
-
-
-
-
727
-
-
-
-
-
-
-
-
-
796
-
-
-
-
-
-
-
-
-
1.82K
-
-
-
-
-
-
-
-
-
610
-
-
-
-
-
-
-
-
-
1.12K
-
-
-
-
-
-
-
-
-
1.20K
-
-
-
-
-
-
-
-
-
2.62K
-
-
-
-
-
-
-
-
-
1.56K
-
-
-
-
-
-
-
-
-
4.87K
-
-
-
-
-
-
-
-
-
808
-
-
-
-
-
-
-
-
-
2.27K
-
-
-
-
-
-
-
-
-
1.44K
-
-
-
-
-
-
-
-
-
1.81K
-
-
-
-
-
-
-
-
-
3.27K
-
-
-
-
-
-
-
-
-
1.21K
-
-
-
-
-
-
-
-
-
1.10K
-
-
-
-
-
-
-
-
-
2.47K
-
-
-
-
-
-
-
-
-
1.01K
-
-
-
-
-
-
-
-
-
3.27K
-
-
-
-
-
-
-
-
-
2.22K
-
-
-
-
-
-
-
-
-
1.59K
-
-
-
-
-
-
-
-
-
1.79K
-
-
-
-
-
-
-
-
-
1.17K
-
-
-
-
-
-
-
-
-
2.64K
-
-
-
-
-
-
-
-
-
1.30K
-
-
-
-
-
-
-
-
-
875
-
-
-
-
-
-
-
-
-
1.54K
-
-
-
-
-
-
-
-
-
797
-
-
-
-
-
-
-
-
-
4.47K
-
-
-
-
-
-
-
-
-
867
-
-
-
-
-
-
-
-
-
1.67K
-
-
-
-
-
-
-
-
-
673
-
-
-
-
-
-
-
-
-
1.46K
-
-
-
-
-
-
-
-
-
1.74K
-
-
-
-
-
-
-
-
-
1.65K
-
-
-
-
-
-
-
-
-
641
-
-
-
-
-
-
-
-
-
1.23K
-
-
-
-
-
-
-
-
-
1.05K
-
-
-
-
-
-
-
-
-
2.58K
-
-
-
-
-
-
-
-
-
588
-
-
-
-
-
-
-
-
-
693
-
-
-
-
-
-
-
-
-
900
-
-
-
-
-
-
-
-
-
715
-
-
-
-
-
-
-
-
-
508
-
-
-
-
-
-
-
-
-
797
-
-
-
-
-
-
-
-
-
612
-
-
-
-
-
-
-
-
-
878
-
-
-
-
-
-
-
-
-
807
2.44K
-
-
-
-
-
-
-
-
-
902
-
-
-
-
-
-
-
-
-
1.91K
-
-
-
-
-
-
-
-
-
1.85K
-
-
-
-
-
-
-
-
-
1.43K
-
-
-
-
-
-
-
-
-
1.88K
-
-
-
-
-
-
-
-
-
1.79K
-
-
-
-
-
-
-
-
-
1.23K
-
-
-
-
-
-
-
-
-
2.75K
-
-
-
-
-
-
-
-
-
935
-
-
-
-
-
-
-
-
-
5.45K
-
-
-
-
-
-
-
-
-
1.57K
-
-
-
-
-
-
-
-
-
1.19K
-
-
-
-
-
-
-
-
-
926
-
-
-
-
-
-
-
-
-
1.34K
-
-
-
-
-
-
-
-
-
2.09K
-
-
-
-
-
-
-
-
-
2.21K
-
-
-
-
-
-
-
-
-
3.33K
-
-
-
-
-
-
-
-
-
2.45K
-
-
-
-
-
-
-
-
-
1.43K
-
-
-
-
-
-
-
-
-
10.54K
-
-
-
-
-
-
-
-
-
1.71K
-
-
-
-
-
-
-
-
-
2.27K
-
-
-
-
-
-
-
-
-
1.01K
-
-
-
-
-
-
-
-
-
1.18K
-
-
-
-
-
-
-
-
-
1.61K
-
-
-
-
-
-
-
-
-
1.13K
-
-
-
-
-
-
-
-
-
1.36K
-
-
-
-
-
-
-
-
-
636
-
-
-
-
-
-
-
-
-
929
-
-
-
-
-
-
-
-
-
2.41K
-
-
-
-
-
-
-
-
-
364
-
-
-
-
-
-
-
-
-
749
-
-
-
-
-
-
-
-
-
517
-
-
-
-
-
-
-
-
-
324
-
-
-
-
-
-
-
-
-
7.32K
-
-
-
-
-
-
-
-
-
775
-
-
-
-
-
-
-
-
-
608
-
-
-
-
-
-
-
-
-
666
-
-
-
-
-
-
-
-
-
287
-
-
-
-
-
-
-
-
-
5.09K
-
-
-
-
-
-
-
-
-
332
-
-
-
-
-
-
-
-
-
1.70K
-
-
-
-
-
-
-
-
-
340
-
-
-
-
-
-
-
-
-
677
-
-
-
-
-
-
-
-
-
1.53K
-
-
-
-
-
-
-
-
-
386
-
-
-
-
-
-
-
-
-
418
-
-
-
-
-
-
-
-
-
707
-
-
-
-
-
-
-
-
-
103
-
-
-
-
-
-
-
-
-
752
-
-
-
-
-
-
-
-
-
77
-
-
-
-
-
-
-
-
-
116
-
-
-
-
-
-
-
-
-
181
-
-
-
-
-
-
-
-
-
435
-
-
-
-
-
-
-
-
-
83
-
-
-
-
-
-
-
-
-
139
-
-
-
-
-
-
-
-
-
547
-
-
-
-
-
-
-
-
-
187
-
-
-
-
-
-
-
-
-
196
-
-
-
-
-
-
-
-
-
323
-
-
-
-
-
-
-
-
-
111
-
-
-
-
-
-
-
-
-
132
-
-
-
-
-
-
-
-
-
138
-
-
-
-
-
-
-
-
-
45
-
-
-
-
-
-
-
-
-
43
-
-
-
-
-
-
-
-
-
124
-
-
-
-
-
-
-
-
-
60
-
-
-
-
-
-
-
-
-
4
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
2
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
2.10K
-
-
-
-
-
-
-
-
-
221
-
-
-
-
-
-
-
-
-
272
-
-
-
-
-
-
-
-
-
346
-
-
-
-
-
-
-
-
-
302
-
-
-
-
-
-
-
-
-
386
-
-
-
-
-
-
-
-
-
422
-
-
-
-
-
-
-
-
-
204
-
-
-
-
-
-
-
-
-
366
-
-
-
-
-
-
-
-
-
193
-
-
-
-
-
-
-
-
-
3.51K
-
-
-
-
-
-
-
-
-
350
-
-
-
-
-
-
-
-
-
282
-
-
-
-
-
-
-
-
-
141
-
-
-
-
-
-
-
-
-
106
-
-
-
-
-
-
-
-
-
637
-
-
-
-
-
-
-
-
-
162
-
-
-
-
-
-
-
-
-
205
-
-
-
-
-
-
-
-
-
209
-
-
-
-
-
-
-
-
-
121
-
-
-
-
-
-
-
-
-
529
-
-
-
-
-
-
-
-
-
104
-
-
-
-
-
-
-
-
-
268
-
-
-
-
-
-
-
-
-
74
-
-
-
-
-
-
-
-
-
51
-
-
-
-
-
-
-
-
-
477
-
-
-
-
-
-
-
-
-
77
-
-
-
-
-
-
-
-
-
46
-
-
-
-
-
-
-
-
-
168
-
-
-
-
-
-
-
-
-
96
-
-
-
-
-
-
-
-
-
213
-
-
-
-
-
-
-
-
-
98
-
-
-
-
-
-
-
-
-
20
-
-
-
-
-
-
-
-
-
56
-
-
-
-
-
-
-
-
-
43
-
-
-
-
-
-
-
-
-
85
-
-
-
-
-
-
-
-
-
15
-
-
-
-
-
-
-
-
-
3
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
25
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
16
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
7
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
8
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
6
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
17
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
5
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0