A - Idol Concert
Benihuki
2
s
1024
MB
100
点
問題文
アイドルのライブに向けて、コールの台本が作成されています。
コールに含まれる単語は $3$ 種類あり、それぞれ A , B, C で表されます。
一連のコールはこれらの単語の列であり、 A , B , C からなる文字列で表せます。
連続する単語の並びによって盛り上げやすさが変わるため、以下のルールでコールのスコアを定めます。
- 以下のルールで加算した点数の合計がコールのスコアである。
- 単語 $1$ つごとに、 $K$ 点
A,B,Cの順で連続する部分 $1$ 個ごとに、 $A _ \mathrm{ABC}$ 点A,Bの順で連続する部分 $1$ 個ごとに、 $A _ \mathrm{AB}$ 点B,Cの順で連続する部分 $1$ 個ごとに、 $A _ \mathrm{BC}$ 点A,Cの順で連続する部分 $1$ 個ごとに、 $A _ \mathrm{AC}$ 点
ただし、例えばコールが ABC の場合のスコアは $3K + A _ \mathrm{ABC} + A _ \mathrm{AB} + A _ \mathrm{BC}$ となるように、スコアの加算に関わる部分が重なり合う場合があります。
コールを表す文字列 $S$ が与えられます。
このコールから $0$ 個以上の単語を選んで削除する(つまり、 $S$ から $0$ 個以上の文字を選んで削除する)ことで得られるコールのスコアとしてあり得る最大値を求めてください。
制約
- $A _ \mathrm{ABC}, A _ \mathrm{AB}, A _ \mathrm{BC}, A _ \mathrm{AC}, K$ は整数で、 $0 \leq A _ \mathrm{ABC}, A _ \mathrm{AB}, A _ \mathrm{BC}, A _ \mathrm{AC}, K \leq 10^{9}$
- $S$ は
A,B,Cからなる文字列 - $1 \leq |S| \leq 200{,}000$ ( $|S|$ で $S$ の文字数を表す。)
入力
$K$ $A _ \mathrm{ABC}$ $A _ \mathrm{AB}$ $A _ \mathrm{BC}$ $A _ \mathrm{AC}$
$S$
出力
スコアの最大値を整数で出力してください。
入力例 1
5 10 10 10 10
ABBBCBAC
出力例 1
70
$3$ つ目と $4$ つ目の単語を削除することで、 ABCBAC というコールになります。
この文字列には ABC , AB , AC, BC がそれぞれ $1$ 回ずつ現れ、またコールの単語数は $6$ なので、コールのスコアは $10 \times 1 + 10 \times 1 + 10 \times 1 + 10 \times 1 + 5 \times 6 = 70$ です。
入力例 2
64225 926335053 439153006 251647526 870526022
ABBBABBABBBAABBBBAAABBBBBBABABABBABBABABAAAAAAABBABABAAAABAAAABBBAABBBBBABABBBBBBBBAABAAABBBBBABBBABABAABBABBAABABABBBBBBBAAAABABBABBBAAAABABAABBABAAABBABAAABABABBABABABABAAABAAAABAABAAABAABAAAABABABABBABBABABAAABBBBAABBBABBAABBBBABBBBAAAAAABABABABBBBAAAABBAAABAAAABBBBABBBBBABBBABABAABBABBBBBABAABBBBAAABBABABBABAABBBAABBABBABAABAABBAABBBBABBBBBBAAABAAABBBABABBBBBABAAAAABBAAAAABAAAABBABABABAABBBAABABAABBABBBBBBABBBBBBBBBABBAABAAAABABBAABABAABBAABABAAAABABBAAABABAAABABBAAAAAAABABBAABABAAABAAAAAABBABBBAAABBBAAAABAABAAABABBBABAABABAABBAABBBAAAAAAAAAABBBAAABABBBABABBAAABBBBABBBBAAAAAABBBAABBABBBBABBAAAAAAABBABAABAAAABAAABBABBABABAABBBBABAABABAAAABABBAAAAAAABBBABBAABBBABAAABAAABAABBABABBAAAAABBBABBAAAAAAABAAABAABABBBAAAAAAABAAABBABAAAABABAAAABBAABAABBABAABBBABBABABABBBABAAAAAAAAAAABABABABAABBBBABBBBBBAABAABABBAAAABBAABABBBAAABABBAAABAAABAABAABABBABBBAABBAAAAABBBABBAABBBAAAAAAAAABAAAAAAABABBBAAAABABBAABABBBBBABBBABAABBABAABBAAABBBBBBABAABABAAAABBAABAAAAABBABAABBABAAABABABAAABAABBAABBABABAABABBAAABABBBAAABABAABABBBBBAAABBBBAAAABABBBBABBAAAAABABBABBBBABAABBAAABAAABBAAABAABABBBBAABAAAAAABBBABABBAAABBAAABBBBAAABBBAAAAAAAAAAAABBABABAAABAAABBAABAABABABABBBBBBBBAAABBAAABABBBBAABAAABBAAABBBAABAAAABAABBABABBAABAAABAAAAAAABBBBBABBBBAAAABABBAAAAAAAABAABAABAABBAAAAAAAAABABAAAABBAABAABAABAAABABBABAAAABABBABABAABBBBABAABAAAAABBBABBAABAAAAABAAAAABABBBAAABABBAABABABBBABABAABBABBAAAAABABBBAABBBBBBBABABBAABABBABABBBBBABBABABAABBAAAAAABABBBBBABBABBABAABBAABBBBBAABABABAABABABAABABBABBABABAABABBABBBBBBAABAAABAAABAAAAAABAAAABAAAAAAAABAABBAAAABAAAAAAABABBAABAAAAABABAAABBBABBABABAAAAAAABABABABABBBABBBAABBBBAABABAABBAAAABBAAAABABBAABABBABBAAABBBBBABBBBABABBBABBAABBAABBAAABABBBBABABBBBABBBBABABBABAAAABAAAAABAAAABABBBBABBBABAAABABBAABAAABABBBAABABBBBABBBABABBBABBABBABAABBBAAABBAABAAAAABBAAABBAABAAAAAABBABBBABAAABBBAABBBBAABBAABABABABAABABAABABABBBAAABABBABBBABBABAABAABABAAAABAAAAABAAABAABBBBAAABAABBBAAAABABBBAAAAABAABABAABABABAABBAABAAAABAABBAAABBBBBBAABABBAABBABBABABABAABBAABABAABBBBABBABBBBBABAABABBBABBBAAABBABABBAABAAAAABBBAABABBABAAAAAABBAAAABBBABABAABBBBABAABBABBABABBABBABABAAAAAAABBABAABBBBAAABAAAABABAAAABBBABBABABBBAAAABAABBABAAABABAAAABABAAAAAABBAABBAABBAAAAAABAABABAABAAABABBABBBBABBABAABBABBBAABABBABBAAABBAAABBAABBAABABABABAABBABBAABAABBABABBAABBBAABBABAABBABBBABBAAAABAABAABBBABBAAABAAAAAAABBBBBBBAABBAAAABAAAAABAABBAAAAAABBABBBAAABAABAABAAAAAABAABBAAAABABBBBBABBBBBBABBABBBAABBAABABBABBBABABAAAABBABBBBAAAABABAAABBABAAABBBBABAAAAAAAAAABAABBAAAAABBABABAABABABABBABBAABABBBABBABAABAAABAABBABBBBBABBBABABBAABBBBBAAABBAABBABAABAABBABABBBBABBAAABABABBBBBABAAABABBBABBAABAAABBBABABBBABAABABAAABAAAAABBBABAAABBABBBABBAAAAABBAABBBBAAAABBAABAAABAABAAABBBBAAABAAAABAABABABBAABAABAABABBBAAAAAABAABABBABBBAABAABABBBBABBBABBABBABABBBBBBABABBBBAAAABBABBABBBABBAABBBBAAAABBABBBBBBBBBAABBBBAABBABBAABBAAAABBAAABBAABAAAABBAAAABBAABBBBAAAABBAABABAABABBABABBAAABBBBBBABBBBBABBAABBBBBBBABBBABAAAABAAABBBBABBBABBAABBABABBBBBAAABABABBABABBBAABABABBBAAABAABBBBBBAAABBBBAAABABAABABBBBBABBAABABBBBBAABBBABAABBBABBAABBBBAAABBBAAABBBAAAAABABBAAAABBABABAABBBBBBBABBBABABBABBAABABBBBAAABBABABABABABBAABABAAAABAABBBBABABBABBBABBAABABAAAABBABAABBBABAABAABAABABBBAAABBABAAAAABAABABAAAABBABBAAABBABBAABAABAAABBBABBAAAABAAABBBAAABAAAAAABBABAAAABAABABBAABBBBAABAAABABABBAABAAAAABAAAABBBBAAAABABBBAAABAABAABBBBABBABAAABBBBAAABAAAAABBBBAABABAABAABABAABBBBABABBABAABABAAABBBBBAAABBBABBABABBBABAABBABBBAABBBABBBAABABBABAABBAABBBABABBBABAABAABAAAABBBBABBAAAAAAAAAAAABBBBAABABAAAABBBABABBAABBAABBBBBAAABBABAABABABBBABBAABBAAABBBABBBABBBBABABABAAAABABBBABABAAABBBABBAABABBABABBAAAAABBBBBBBBBAAABBAAAAAABBAABBBBABAABBBABBBAABAAAAAAABBBABBBBABBBABBBABBBBBABBABABBAABBAABBAAAAAABBABABBBABAAAAABBABBBAABBABAABABBBABAAABBAAAABBAABAAAAABBABBAABAABABABBBBAAAAAAABBABBBBAAAABBBAAAAAABBAAABBBAAAAABABABBABABABBAABAABBBABBAABBABAABAABABAABABBBABAAAAABBABBABAABBBAABABBABBABBBBBBBAAAAABBAABABBABBAAABABAABBAAAABABAABAABABBBBABBBBBABABBBABAABABAAAABAAAAABABAAABBBABBBBBBBBABABBAABBAAABBABAABABBBABBABBAABABBAAABBABABABBAABBBABBBAABABAABABBBBAABAAAABBABABBBBBBBBBBBBBAABBBAAABAAABBBBBABBABBBAABBABBBAABABABBAABBAAAABABBBBBBABAABABBBBAABBBBAABABABABBBBAAAAABBBABAABBAABABAAAAABABAAABAAABBABABABAAABBABBABAAABBAAAAABABBAAAABABBABBAAABABABBAAABABBBBBBABAAABAAAABBAABBABABABAAABABBBBAAABABBABABAAABABAAAAAABBAABBAABBABAAABBBAAABAAABABBAABAABBAAABABBAAABAABAAABBBBABABABABAABBAABABBABAAABBBBBBBBAABBABAABBBBBABBBABAAAAAABBAABBABABABABABBABBBAABBABAABAABABBBBAAABAABABABBAABABBBABBBABBBBABAABAABBAABBAABABABBAABABABAABBAABABBABBBBABABABAABAAAABBBBABABBAAABBBAAAABBBBABABAAAAABABBBBBBABBBABABBABAABBABBBBBBAAAAAAAABAAABBBBBABBBBAABABABBABABBBAABBBBAAABBBBBBAAABAABBABAAAAABBABBBBAABABBABBBBBBAAAAABAAAAABBBBABBABBABBABBBABABBBAAABAABBBAAABAAABAAAAABBBBAAAAABAABAAAABBAAAAABBBAAABAABBAAABAABABABAABAABAAAAABBABABBBBAABAAAAABAABBBABABBAAABAAABBAABAABBBAAAABBAAABABBAAAABABAAAABABBAABAAAAAAABABABBAABBBAABAAAAAAAABBAAABBBABAABABBBABAABABBABBBBBABABBBABAABAABBABBABBABBBBABABAAABABBBBAABBBBBBAABBBABBBAABBAABBBABBABBAAABBBBBABBABAABBBBABBBAAAABAABABBABBABAABBBABAAAAABBBBBAAAAAAAABAAAABBBABBBABBABAABBABAABAAAAABBBABAAABAABBBABAABAABBBABABBAAABABBBABBBBBBBABABABBBABBAABAABAAABAAABABAAABAAABAAABAABABABBBBBBABABBBBABBAABBBABAABABBABAABBBBAAAABBBBBBBBABAABABAABAAABABBBBABAABAAABAAAAABBBABBBBBAABBBAABBBABABABBAABBBAABBAABAABABBBBBBBAABBAABBABABAAABBABABBBAABAABBAABAAABBBBBAABBABBABBBBABBBBABAAAAAAAAAAABABBABBAAAAAAABBABBBBABBBBAAABBABBBBABAAAAAABABBABBAABBABABABAABBAAAAAAABBBBABAABAABAAAAAAAAAABABAABAAAABBAABBBBBBABBBAAAABBABABBBBBAABAAAAABABAABAABABBABAABAAABBABBBBABABAABBAABBBBBAAABBBBBBAABAAABABAABBAAABBAAAABBBABAAABABAAAAABABAABBBBBBBBBBABAAAAAAABBAAABBBBBBAAAAABBBAAAABBABAAABBBAAABABBABABABBBAAABBABAABAAABAABABBABABAABBAABAAABBBAAAABBBBBBBAABAAABABBBBAAAAABABAAAABBBBBBBAABBAABAABBABAAAAAAAABAABAAABBBBBBBBBBAABBAABBAABABBABAAABAAAABAAAAAAABBABBBBBBBBBAAABBABABBABBABABABABABAABBBBBBBBABBAABAABAAABBAABAABBBBAAABABBBBBBBBABBBABBAABAABAAABBBBABABBBAABAABBBABBABABBAABBABAAAAAABBABBABABBBBBBBBBABABABAAABAAAAABAAABBBBBABAABAABABABABAABBBABAAABABABABAABABBABBBBBBAABBABABBAABBBBABABABABBBBABABBABABAAAABBBBABBBBBBBBABBAABBABBBABBBAABBAAAABBBAABABBAAAABBAAAABBBAAAAAAABAAAABAABBBBBAABBABBABABAABBAAAAAAAABABBABBBAABAAAAABABABAABBABBABBBABBABBBAAABBABAAAABAABAABAAAABBABBBBAAABAAAAABAABBBABAABBBBABABAABBAAAAABBABBAABABABBABABBABABBABBBABABAAAAABBAAAABABBBBBABBAAABAAAABBAAAAABAAAAAAAAAAAABABBBABAAAAABABAABABABBABBBABBAAAAAAABBBAABAABBABAABAAABAABABAAABBBABBABBABBBAAAABBBABAABABABAAAAAAABBAAABAABBBABBBABBABBBBABABBBBBBBABABBABBAABBAAABBAABBAAAAAAAABBAAAABAAAABAABABAAAAABBABABABBBBAABBABAAAABABBBBBAAABABBABAAAABBBAAAABBABABBBBBAAABABABBABAAAABBAABABBBABBAAAABBBBABAABABABBBAAAABAAABBBAABBBAAAABABABBAAABAAAABBABBABAABBBBAAAABAAAAABBAAAAAAABABABBABBBABBAABBABBABBBBABBBAABBABAABBABAABBAABAABABABAABAAABABBBAAAAAAAABABBAABAAABABAABABBBBBBBBAABABBABBBBABBAAAAABAABBAABBABABAAAAABBBBBABBABABBBBBABABBBAABAABAAABAAABAABABBBBBBABBBBBBAAAAAABABBBABAAABAAABAAAABBBBBBABBAABBABBBAAAABBAAABBBBBBAABBBBABBAABBBABBBBABBBBBAABBABAABAAABAABBBBAABBBAAAAABBBBBBBABBBAABBBABAAAABAAABAABBBBAABAAABBBBABAABBBBBBABBABABAABAAABABBAABBBBAAAAABBABBBBBAABBBABABBABBAABBBABBBBAAAAABBBBAABABBAAAABBBBAABBBBAAAAAAAAABBABBAABAAAABBABBBAAAAABBABABAAAABBABBABBBAAAAAAABBBBBBAAABAABBBABAAAABAABAAAABAABBBBAAAABBBABBBBBBBBBABBBBBBBAAABAAAAAAABAAABABBBBBAABBABAABBABBAAABABAAABAAABBABAAABBBABABBAABAABBBABAAABBAABABABBABBBABBABAAABABAAAABBAAAAAABBABBAABAAAABBBBBBBBBABBBBABBAABAAAABBAAAABAABBAAAABBAAAABAABABBBBAABAABBABBAABAABABBBAABBABBABBAABBBBBBABAABAABBABABBAAAABAABBABBBAABABAABBABAABBAABAABABABBBBAAABAAABBBAAABBBAAAAABBBAAABAABABBBBBBAABABABAAABAABBBAABAABAABBBBAAABAAABABAABBBBBBABAABAABABAABAAAAABBABABABAAAABBBBBBAABAAAABABBABAAAABAAAAABABBBBBBBABAABABBBBAAABAABABABBBBAABBAABAABABBBBBAABAABBABABAAAAABBABBAAAAAABBAAAAAAAABBAAABABABABBABBABBABBBABBABBABBBAAAABAAAABAAABABBAABBBAABAABABBBBABABBBAAABBBBABABBAABBBABBBBBABAABAABBAABBBABABABABAABAABBBBAABBBBAAABABBBBBABBBBBBBBAAAAAAAABAABABBBBABABABABBABAABBAABBBABBBAAABAAAAAAABABAABAABAABABBBAAABBBBAABBBBBABAABBABBAABBABBBABAAAAABBBAABAABAAAABBABABBBBABBBABBBBBBBABBBAAAAAABAAAABBBBABABBBABBBBABABABAABABBAABABBABBAAABAABABBBBAAAABABBABAAABAAABAABBBBBBBAAABBAAABABBABBABABABAABBAAAAABBBAAAABBBAAAABBAABBBBAABBABBABABAABAAAAABAAABBAAAAABABAAABBABAAABBBABABAAABAABBBBABBBAABBBBAABBAABBABABAAAABBBBABAABBBBABABABBAABAAABBABBAABABABBBBBBBBAAABBABBBABBBABAAAABABAAAAAAABBABAAAABBBABBBBBBBBAAABAAABABBAABAAAABBABABABABBAAABBBABBBBBBBABBBBABABBBBBBBBBBBBAABBAAABBAABBABBABBABBAABABABBAAABABAABABBABAAABBBBABBBBABBABABBBBBAABBAAAAAAAABABAAABBABABBBBBBAABAAABAABABABABBBAAABBBAAABBBAAABABBBAAAABBABAABABABABABBAABABBABBAABBBBBAABABAABBABBAAAABABAABAABAABBBAAABBAAABBBBAABABBBABBBABAAAAABABBBAAABBBBABBBBBAABBAABABAAABABBBABBABAABBBBBAAAABBBBABABAAAABBBAAABBAABABABBAAAAABBABBBBAABABAAAABAABBBBBBBBBABAABAABBAABABAABBBBBBBBABBBAABBBAABBBABAABAAAABBBAAAABABBAAABABBBBBAABBBABBABABABABBAAABABABBBABABABBBAAAAABAAAAABBBBABABABBBAAABABAAABAAABBBAABAAABBBBBBBABBBBABABABBABBAABBABAABBAABBAABABABBAABAAAABABBBBAABABABBBABBABABBBBAABBAAAAABABABBBAABAABAABABABAAAABAAABAABBBBABAAABBAABBABABBAABAABBBAABBBBAABAAABBAABAAAABABABAABABAABAAAAABABBABAABABBABABAABABBBBBBAAAABAABBBBBBAABBAAABBAABAABBABAAABAABBABBABAAAAAABBBBBBAAAAABBABBBABAAAABABABBBBAAAABAAAAAABABAABABAAAAABAABAAABABBBBBBBBAAABBBABAABABAABBABBBABABABBAABAABBBABBBABAAAAABBAABBAAABAABABBBBBABBBBBAAAABBBAABBABBAABBBBABBAAABBBABAAAAAAABBBBABABAAABBABBAAAAABBBABAABBBBAAAABAABBBABABBAABABAABBAABBBBBBBBBBABABBABBABBAABAAABBABBABBAABAAAAAAAABBBBABAAAABABBAAABBAAAABABABAAAABABABBABBBAAABBAABBBBABABABABBBBBBBBAAABAAAAAAABBBABBBABAABABBABBBAABABAAABAAAABABBAAAAABBBABBBABABBBBBABABBABABABAAABABBBABABBBBBAAABBABAABAABBABABBABAAABAABAABAABABBBBAAABABBAABBBABBBAAABBABBBBAAAAABAABAABAABAAAABABBBBBBBBAABBBAAAABABABAAABABABABAABABAABAAAABAABBBBABABBBBBBBABABAAAAAABABBABBBBBABABABBABAABBAABBBBABBAABABABBABBBABAAABBBAABBBBAAABAABAAAABAABBBBBAABABAAABAABBBAAABBBBBBBAABAABBBAAABAABBAAABBABAAABBABAAABABBBBBBABBABAAAABABABABBBBBBBBABBBBBABBAABABABBAAABABAAABBAAAAABBBBBBBAABCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBCBBCCBBCCCBBCCCCBBCCCCCBBCCCCCCBBCCCCCCCBBBBBBBCBBBBCCBBBBCCCBBBBCCCCBBBBCCCCCBBBBCCCCCCBBBBCCCCCCCBBBBBBBBBBBCBBBBBBCCBBBBBBCCCBBBBBBCCCCBBBBBBCCCCCBBBBBBCCCCCCBBBBBBCCCCCCCBBBBBBBBBBBBBBBCBBBBBBBBCCBBBBBBBBCCCBBBBBBBBCCCCBBBBBBBBCCCCCBBBBBBBBCCCCCCBBBBBBBBCCCCCCCBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBCCBBBBBBBBBBCCCBBBBBBBBBBCCCCBBBBBBBBBBCCCCCBBBBBBBBBBCCCCCCBBBBBBBBBBCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBCCBBBBBBBBBBBBCCCBBBBBBBBBBBBCCCCBBBBBBBBBBBBCCCCCBBBBBBBBBBBBCCCCCCBBBBBBBBBBBBCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBBCCBBBBBBBBBBBBBBCCCBBBBBBBBBBBBBBCCCCBBBBBBBBBBBBBBCCCCCBBBBBBBBBBBBBBCCCCCCBBBBBBBBBBBBBBCCCCCCCBBBBBBBAACACCACCCACCCCACCCCCACCCCCCACCCCCCCABBABCBABCCBABCCCBABCCCCBABCCCCCBABCCCCCCBABCCCCCCCBABBBBABBCBBABBCCBBABBCCCBBABBCCCCBBABBCCCCCBBABBCCCCCCBBABBCCCCCCCBBABBBBBBABBBCBBBABBBCCBBBABBBCCCBBBABBBCCCCBBBABBBCCCCCBBBABBBCCCCCCBBBABBBCCCCCCCBBBABBBBBBBBABBBBCBBBBABBBBCCBBBBABBBBCCCBBBBABBBBCCCCBBBBABBBBCCCCCBBBBABBBBCCCCCCBBBBABBBBCCCCCCCBBBBABBBBBBBBBBABBBBBCBBBBBABBBBBCCBBBBBABBBBBCCCBBBBBABBBBBCCCCBBBBBABBBBBCCCCCBBBBBABBBBBCCCCCCBBBBBABBBBBCCCCCCCBBBBBABBBBBBBBBBBBABBBBBBCBBBBBBABBBBBBCCBBBBBBABBBBBBCCCBBBBBBABBBBBBCCCCBBBBBBABBBBBBCCCCCBBBBBBABBBBBBCCCCCCBBBBBBABBBBBBCCCCCCCBBBBBBABBBBBBBBBBBBBBABBBBBBBCBBBBBBBABBBBBBBCCBBBBBBBABBBBBBBCCCBBBBBBBABBBBBBBCCCCBBBBBBBABBBBBBBCCCCCBBBBBBBABBBBBBBCCCCCCBBBBBBBABBBBBBBCCCCCCCBBBBBBBAAAACAACCAACCCAACCCCAACCCCCAACCCCCCAACCCCCCCAABBAABCBAABCCBAABCCCBAABCCCCBAABCCCCCBAABCCCCCCBAABCCCCCCCBAABBBBAABBCBBAABBCCBBAABBCCCBBAABBCCCCBBAABBCCCCCBBAABBCCCCCCBBAABBCCCCCCCBBAABBBBBBAABBBCBBBAABBBCCBBBAABBBCCCBBBAABBBCCCCBBBAABBBCCCCCBBBAABBBCCCCCCBBBAABBBCCCCCCCBBBAABBBBBBBBAABBBBCBBBBAABBBBCCBBBBAABBBBCCCBBBBAABBBBCCCCBBBBAABBBBCCCCCBBBBAABBBBCCCCCCBBBBAABBBBCCCCCCCBBBBAABBBBBBBBBBAABBBBBCBBBBBAABBBBBCCBBBBBAABBBBBCCCBBBBBAABBBBBCCCCBBBBBAABBBBBCCCCCBBBBBAABBBBBCCCCCCBBBBBAABBBBBCCCCCCCBBBBBAABBBBBBBBBBBBAABBBBBBCBBBBBBAABBBBBBCCBBBBBBAABBBBBBCCCBBBBBBAABBBBBBCCCCBBBBBBAABBBBBBCCCCCBBBBBBAABBBBBBCCCCCCBBBBBBAABBBBBBCCCCCCCBBBBBBAABBBBBBBBBBBBBBAABBBBBBBCBBBBBBBAABBBBBBBCCBBBBBBBAABBBBBBBCCCBBBBBBBAABBBBBBBCCCCBBBBBBBAABBBBBBBCCCCCBBBBBBBAABBBBBBBCCCCCCBBBBBBBAABBBBBBBCCCCCCCBBBBBBBAAAAAACAAACCAAACCCAAACCCCAAACCCCCAAACCCCCCAAACCCCCCCAAABBAAABCBAAABCCBAAABCCCBAAABCCCCBAAABCCCCCBAAABCCCCCCBAAABCCCCCCCBAAABBBBAAABBCBBAAABBCCBBAAABBCCCBBAAABBCCCCBBAAABBCCCCCBBAAABBCCCCCCBBAAABBCCCCCCCBBAAABBBBBBAAABBBCBBBAAABBBCCBBBAAABBBCCCBBBAAABBBCCCCBBBAAABBBCCCCCBBBAAABBBCCCCCCBBBAAABBBCCCCCCCBBBAAABBBBBBBBAAABBBBCBBBBAAABBBBCCBBBBAAABBBBCCCBBBBAAABBBBCCCCBBBBAAABBBBCCCCCBBBBAAABBBBCCCCCCBBBBAAABBBBCCCCCCCBBBBAAABBBBBBBBBBAAABBBBBCBBBBBAAABBBBBCCBBBBBAAABBBBBCCCBBBBBAAABBBBBCCCCBBBBBAAABBBBBCCCCCBBBBBAAABBBBBCCCCCCBBBBBAAABBBBBCCCCCCCBBBBBAAABBBBBBBBBBBBAAABBBBBBCBBBBBBAAABBBBBBCCBBBBBBAAABBBBBBCCCBBBBBBAAABBBBBBCCCCBBBBBBAAABBBBBBCCCCCBBBBBBAAABBBBBBCCCCCCBBBBBBAAABBBBBBCCCCCCCBBBBBBAAABBBBBBBBBBBBBBAAABBBBBBBCBBBBBBBAAABBBBBBBCCBBBBBBBAAABBBBBBBCCCBBBBBBBAAABBBBBBBCCCCBBBBBBBAAABBBBBBBCCCCCBBBBBBBAAABBBBBBBCCCCCCBBBBBBBAAABBBBBBBCCCCCCCBBBBBBBAAAAAAAACAAAACCAAAACCCAAAACCCCAAAACCCCCAAAACCCCCCAAAACCCCCCCAAAABBAAAABCBAAAABCCBAAAABCCCBAAAABCCCCBAAAABCCCCCBAAAABCCCCCCBAAAABCCCCCCCBAAAABBBBAAAABBCBBAAAABBCCBBAAAABBCCCBBAAAABBCCCCBBAAAABBCCCCCBBAAAABBCCCCCCBBAAAABBCCCCCCCBBAAAABBBBBBAAAABBBCBBBAAAABBBCCBBBAAAABBBCCCBBBAAAABBBCCCCBBBAAAABBBCCCCCBBBAAAABBBCCCCCCBBBAAAABBBCCCCCCCBBBAAAABBBBBBBBAAAABBBBCBBBBAAAABBBBCCBBBBAAAABBBBCCCBBBBAAAABBBBCCCCBBBBAAAABBBBCCCCCBBBBAAAABBBBCCCCCCBBBBAAAABBBBCCCCCCCBBBBAAAABBBBBBBBBBAAAABBBBBCBBBBBAAAABBBBBCCBBBBBAAAABBBBBCCCBBBBBAAAABBBBBCCCCBBBBBAAAABBBBBCCCCCBBBBBAAAABBBBBCCCCCCBBBBBAAAABBBBBCCCCCCCBBBBBAAAABBBBBBBBBBBBAAAABBBBBBCBBBBBBAAAABBBBBBCCBBBBBBAAAABBBBBBCCCBBBBBBAAAABBBBBBCCCCBBBBBBAAAABBBBBBCCCCCBBBBBBAAAABBBBBBCCCCCCBBBBBBAAAABBBBBBCCCCCCCBBBBBBAAAABBBBBBBBBBBBBBAAAABBBBBBBCBBBBBBBAAAABBBBBBBCCBBBBBBBAAAABBBBBBBCCCBBBBBBBAAAABBBBBBBCCCCBBBBBBBAAAABBBBBBBCCCCCBBBBBBBAAAABBBBBBBCCCCCCBBBBBBBAAAABBBBBBBCCCCCCCBBBBBBBAAAAAAAAAACAAAAACCAAAAACCCAAAAACCCCAAAAACCCCCAAAAACCCCCCAAAAACCCCCCCAAAAABBAAAAABCBAAAAABCCBAAAAABCCCBAAAAABCCCCBAAAAABCCCCCBAAAAABCCCCCCBAAAAABCCCCCCCBAAAAABBBBAAAAABBCBBAAAAABBCCBBAAAAABBCCCBBAAAAABBCCCCBBAAAAABBCCCCCBBAAAAABBCCCCCCBBAAAAABBCCCCCCCBBAAAAABBBBBBAAAAABBBCBBBAAAAABBBCCBBBAAAAABBBCCCBBBAAAAABBBCCCCBBBAAAAABBBCCCCCBBBAAAAABBBCCCCCCBBBAAAAABBBCCCCCCCBBBAAAAABBBBBBBBAAAAABBBBCBBBBAAAAABBBBCCBBBBAAAAABBBBCCCBBBBAAAAABBBBCCCCBBBBAAAAABBBBCCCCCBBBBAAAAABBBBCCCCCCBBBBAAAAABBBBCCCCCCCBBBBAAAAABBBBBBBBBBAAAAABBBBBCBBBBBAAAAABBBBBCCBBBBBAAAAABBBBBCCCBBBBBAAAAABBBBBCCCCBBBBBAAAAABBBBBCCCCCBBBBBAAAAABBBBBCCCCCCBBBBBAAAAABBBBBCCCCCCCBBBBBAAAAABBBBBBBBBBBBAAAAABBBBBBCBBBBBBAAAAABBBBBBCCBBBBBBAAAAABBBBBBCCCBBBBBBAAAAABBBBBBCCCCBBBBBBAAAAABBBBBBCCCCCBBBBBBAAAAABBBBBBCCCCCCBBBBBBAAAAABBBBBBCCCCCCCBBBBBBAAAAABBBBBBBBBBBBBBAAAAABBBBBBBCBBBBBBBAAAAABBBBBBBCCBBBBBBBAAAAABBBBBBBCCCBBBBBBBAAAAABBBBBBBCCCCBBBBBBBAAAAABBBBBBBCCCCCBBBBBBBAAAAABBBBBBBCCCCCCBBBBBBBAAAAABBBBBBBCCCCCCCBBBBBBBAAAAAAAAAAAACAAAAAACCAAAAAACCCAAAAAACCCCAAAAAACCCCCAAAAAACCCCCCAAAAAACCCCCCCAAAAAABBAAAAAABCBAAAAAABCCBAAAAAABCCCBAAAAAABCCCCBAAAAAABCCCCCBAAAAAABCCCCCCBAAAAAABCCCCCCCBAAAAAABBBBAAAAAABBCBBAAAAAABBCCBBAAAAAABBCCCBBAAAAAABBCCCCBBAAAAAABBCCCCCBBAAAAAABBCCCCCCBBAAAAAABBCCCCCCCBBAAAAAABBBBBBAAAAAABBBCBBBAAAAAABBBCCBBBAAAAAABBBCCCBBBAAAAAABBBCCCCBBBAAAAAABBBCCCCCBBBAAAAAABBBCCCCCCBBBAAAAAABBBCCCCCCCBBBAAAAAABBBBBBBBAAAAAABBBBCBBBBAAAAAABBBBCCBBBBAAAAAABBBBCCCBBBBAAAAAABBBBCCCCBBBBAAAAAABBBBCCCCCBBBBAAAAAABBBBCCCCCCBBBBAAAAAABBBBCCCCCCCBBBBAAAAAABBBBBBBBBBAAAAAABBBBBCBBBBBAAAAAABBBBBCCBBBBBAAAAAABBBBBCCCBBBBBAAAAAABBBBBCCCCBBBBBAAAAAABBBBBCCCCCBBBBBAAAAAABBBBBCCCCCCBBBBBAAAAAABBBBBCCCCCCCBBBBBAAAAAABBBBBBBBBBBBAAAAAABBBBBBCBBBBBBAAAAAABBBBBBCCBBBBBBAAAAAABBBBBBCCCBBBBBBAAAAAABBBBBBCCCCBBBBBBAAAAAABBBBBBCCCCCBBBBBBAAAAAABBBBBBCCCCCCBBBBBBAAAAAABBBBBBCCCCCCCBBBBBBAAAAAABBBBBBBBBBBBBBAAAAAABBBBBBBCBBBBBBBAAAAAABBBBBBBCCBBBBBBBAAAAAABBBBBBBCCCBBBBBBBAAAAAABBBBBBBCCCCBBBBBBBAAAAAABBBBBBBCCCCCBBBBBBBAAAAAABBBBBBBCCCCCCBBBBBBBAAAAAABBBBBBBCCCCCCCBBBBBBBAAAAAAAAAAAAAACAAAAAAACCAAAAAAACCCAAAAAAACCCCAAAAAAACCCCCAAAAAAACCCCCCAAAAAAACCCCCCCAAAAAAABBAAAAAAABCBAAAAAAABCCBAAAAAAABCCCBAAAAAAABCCCCBAAAAAAABCCCCCBAAAAAAABCCCCCCBAAAAAAABCCCCCCCBAAAAAAABBBBAAAAAAABBCBBAAAAAAABBCCBBAAAAAAABBCCCBBAAAAAAABBCCCCBBAAAAAAABBCCCCCBBAAAAAAABBCCCCCCBBAAAAAAABBCCCCCCCBBAAAAAAABBBBBBAAAAAAABBBCBBBAAAAAAABBBCCBBBAAAAAAABBBCCCBBBAAAAAAABBBCCCCBBBAAAAAAABBBCCCCCBBBAAAAAAABBBCCCCCCBBBAAAAAAABBBCCCCCCCBBBAAAAAAABBBBBBBBAAAAAAABBBBCBBBBAAAAAAABBBBCCBBBBAAAAAAABBBBCCCBBBBAAAAAAABBBBCCCCBBBBAAAAAAABBBBCCCCCBBBBAAAAAAABBBBCCCCCCBBBBAAAAAAABBBBCCCCCCCBBBBAAAAAAABBBBBBBBBBAAAAAAABBBBBCBBBBBAAAAAAABBBBBCCBBBBBAAAAAAABBBBBCCCBBBBBAAAAAAABBBBBCCCCBBBBBAAAAAAABBBBBCCCCCBBBBBAAAAAAABBBBBCCCCCCBBBBBAAAAAAABBBBBCCCCCCCBBBBBAAAAAAABBBBBBBBBBBBAAAAAAABBBBBBCBBBBBBAAAAAAABBBBBBCCBBBBBBAAAAAAABBBBBBCCCBBBBBBAAAAAAABBBBBBCCCCBBBBBBAAAAAAABBBBBBCCCCCBBBBBBAAAAAAABBBBBBCCCCCCBBBBBBAAAAAAABBBBBBCCCCCCCBBBBBBAAAAAAABBBBBBBBBBBBBBAAAAAAABBBBBBBCBBBBBBBAAAAAAABBBBBBBCCBBBBBBBAAAAAAABBBBBBBCCCBBBBBBBAAAAAAABBBBBBBCCCCBBBBBBBAAAAAAABBBBBBBCCCCCBBBBBBBAAAAAAABBBBBBBCCCCCCBBBBBBBAAAAAAABBBBBBBCCCCCCCBBBBBBBABBAAABAABABBBAABABBBBBBAABBBBAAABBABBBBAABABBBAAAAABBBBBBBBAAAAAABABBBAAAABAABAABABBBBABABBABBBBBBBAABBBBBBBBBAABBABBBBABBABBABAABBBBBAABAABAAAABBBABBAABABABBAAAAAAABBAABAABAABBBBBBBBABBBBBAAABABBABBBBABBBBAABBABABBAABBBAAABBAAABABABABBABBBABBAAAABABBBAAAABAAAAABBAAABBAAAABBBBBBAAABAABABBAAABAAAAABBBBBBAABAABABBABBABBAABABBBBBBABAABBAABABBABBABBBBABBBBABABBBBAABAAAAABBABBAABABABBBABABBAABABAAAABBABABBBAAAABAAABBABBBABBABBBBABABBBBAABAABAABAAAABABAAABBBBABBABAABBBAABABBABBBABAAAABBBABBABABBABABABABAABBBAABBBBBBAABBAAABBBBBABBAABAABBBBAAABBBBBAABBBBBAABBBBBAABBBBABABBABAAABBABBBAABBAAABABBBABAABAAAAABBAAAAAABABABABABAABAAABBBBABAABABBBABBAABBABAAAAABBABBAAAABBBBBBAAAAABABBABBBAAABBABABAABAABABBBBBAAAAAAAAAABBAABABAABBBBABAAAAAAAABBABABBAABAAABAABBAABAABBAAABBBBBBABBBBABBABABABBAAABABABAAAABBBABAAAABAABAABBABAAAABABAAABBBABBBABBBABAABBBAABBBBAABBBAABBBBBAAABBAAAAABAAAABBAABBBBABBBBAAABBBABBBBAAAABBBAAAABBBAAABAAABBABABAAABBBBAABAAABBBBBABBBAAAABBBBBABBBBBABBABAAABBBBAABAABBAAABBAAABBABABAAABBBBAAABBABAABBAABABBAAAABAABBBAAAABBABAAAABABABAABAAAABBABBBABBBBABABBABABBAAABBAAAAAAAABAABBBABBBBABABAAABABBAABAAABBBBBAABABABBABBABABAABBBBBABAABAABBBAAABBBABAABABBAAAABAAAABBBABBABABBBABBBBAAAABBBBAABBBABBAABABBBBBABBBBABABBAAABAABAAAAABBBAAABAABABBBBBBBBBAABABABBBBBABBBAABAAAABBAAAABABAABBABAAAAAABBAAABAABAAABBBAABAAABAABABABAABABBBBABBBBBBBABBAAABBBABABAAABBBBAAABABBAAAAAABBBABBAABAABAAAABAAABBBBBBAABBBBBABBBAAABBBBAAAABBAAAABBBBBBBBAAAABBABAABAABABABABABABBBABABBAABBBABBBAABABBBBBBBAABBAAAABAAABAABBBABBBBBBBBABAABBBAABABABBABAAABAABABBAABBBBABAABBAAAAABBBABABABABBBBABBABABABBBABAAAABBABBAAAAAAABBBBBBAABAABABBABBBABAABBBABAAAABABBBBBBAABBBBAAABAABAABABAABABBAAABABBBBBAABBBAABAABAABAABABABAABABAABAABABABABAABBBAABAAAAABBABBBABBBAABABABBBBABABABBAABABBBAABAABABABABBBABBBBBAAAAAABBAABBAAAABABAAAAABBABAAAAABAABAAAAABBAAAABABAABAABABBBBABBAABBBABBABABBAABABAABBAAABBBAABBAABABAAABBABBBABBAABBBABAABBBBAABBBBABAAAABAABBAAAAAAABAABAAAAAABAAABBBABABBBBABBAABAAAABBAABAAABBBBBBABBABABBAAABAAABBABBABBBAAAAAABBABAAABAABBAAAABBABBAABAABAAAABAAABBAABBBBBABBABBAAABABAAAAABBBAAABABBBAAABBBAABABBABAAABAABBBBABABAABBBAABAABBABAAABBBBAAAAABBBABAABAABBBABBABAAAAAABBBABAAAAAABBABABAAAABBBBBBABBABAABBBBAABABBBABABAABBBAABABBAABAAABBABAABABBABABABBAABBBAAAABABBAABBBBAAAAABBAAAABBABABBABABBABAABABBBBBABAAABABABBABABBAAABAAAABBBBBAAABBABBBBAABABBBABABAAAAAABBBABBAAABBBBBABBBBBAAAABABBABBBBBAAAABABABBBABBAAAABABBABBBBBBBAAABAAAAABAABAABABBBABBABABBBAAAAAAAABABAAAAABAAABAABABBBBBAABBAAABBBBBBABAAABBABBBAABBBABAAAAABABAABBBABBAAABAABABBAABABBBABAAAABBABBAABAAAABBAAABBBAAAAAABAAAAABABABBBBBBBBBABABAABBABBBBABABBBABAABABABBBBABBABBAABABBBAABBBAAABAABBAABBBAAAAAAABBBBAABAAAABABAABABAABABAAABBAAABABBAABAAAAAABBBABBABBABBBBBAAABBBBAABABBBAABBBBABBBABABBBAAAABAABBAABBAABBAAABAABAAAABAABABBAABABBABBAAAAAAAABBBABBBABBABAABABBAAABAAABAABBBABAAAAABAAABBABBBAABABBABAABABBBAAAABBAABBABBBBBBABABABBAAABBABAABBBBAABBABABABAABBABABBBBBAABABBBABABBABBBBBBABABBAAABBABBBABAAAABBAAABABABBABBBAAABAABAABBBAABBBBAAAAAAAABAAAABBAABAAABAABABBABAABBBAABAABBABBABBAAAAABABABAABABABBBBAABBABBBABAAAAABABBABBAAAABAAABAAABBAAAAAAAAABBBBBAAABBBBBAABABAAAABABABBBBABABBBBBAAABBBBAAAAABABBBBBAAAAABAAABABBBABBAAAAAABBBAABABBABABABABABABABABABAABBABAAAABBBAAAABAABBAABABBAAABAAAAAAABBABBBBBABABBBBABABBAABBBABABBAAAAABABAABAAAABBBAAAABBAABBABAABBABBBBABAAABAAAABABAAAABBBABBAABBABBBAABBAAABBBBBBABBBBBAABBABABABABBAAAABABABBABAAAABBBBBAABAABABBBBBABABABBBABABABBAABAAAABBABAABABAABAAAABABABABBBABBABAAAAABABABAAAABABAABBBBABABBABBABBBBBBBBBBBBAAABAABABAAAABABAAAABABBAABBBBBABAABAAABAABABBABAABABABBBBBAAABABBBBAAABBABAABBBBAAABBABABBAAAABABBABAAABBAAABBAABABAAABBAABAABBBAABABBAAAABBBABAABBAABAAAAABBBBBAABBABBABABBABBAABABAABBAAABABBAAABBABAABBAABBBBAAABAAAABABABAAABAAAABAAAAABAABABABAABABBBBBABBBBBBAAABAAAABBABBBAABBBABBBBBBBAAAABBBBABBBBBABBAABBBBAABABBAAABAAABAABABABBBAAAABAABAAAAAAAABBAAABBABAABBABBBABBAABABABBBBAABBBBABABBAABBBABABABAABABAABBAAAAABBBBBBBABBAAABAABAABBABAABBABAABAABBABBBABABBAAABBAAABAABBABBABABBBBBAAAAABABABABABBABAABBBABABBBBAAABBBAABAABAAAABBAAABABAAAABBAAAAABAABBBABAAAAAAABABABBBBBBBBBBBBBBAABBABBABAABBABAABBAAABBABAAAABABABBBBBAAABBBABBAABBAAABBBABBABBBBBBAABAABAAAAABABBBABBAABBAAAABBAAABAAABABBBAAAAABABBBBABABAABBABBBBBAAABAABAABBBBBAAABBABABBABAAAABABBBBBAAABABAABBBAAABBAABBBBBABBBABBBAAAABBABBABBAAABBBABAABBABBBABBAABABBAABABAAAABBAAABBBBAABBBAAAAAABABABBBAABAABBAAAAABAAABBBAABAABBABBABAABAABBABAABBBBBABBAAAAABABAAABAAAAABAABAABAAAAABAAABBAAAAAABAAAAABAAABBBBAABABAAAAABBBBAAABBBAABABABBBBBBBAAAABBBAAAABBBBBABABABAAABAAABABBBABABBBBBBAABBAABAABBABAAAAAABABBABABAAABAAAAABBBAAAABBABABBAAAABABBBBBAABBBBBAABAABBABBABBBBBBBABABAABBBAAAAAABAAABBBBAAAABBABBBAABBAAABBAABABABBBBBBBABBBBAABAABBAAAABAAABBABABAABBBBAAAAABABBABBBABABBBBAAAAAABBABBAABBBBBAAAAAABABAABAAAABBBBBBABBABABABABBBABABAABBABBBBBABABBABAAABBABABABBAAAABABBBAAAABBABBAAABABAAAAAABBBBAAAABBBBABAAABABBABBAABBAABBBABBAABBABABBBBBBAAABABAABABABBBABAABBAAABBAAABBAAAAABBAABBAABBAAAAAAABABBBBBABABBBAABBABABAAABAABBBAABBABBBBAAAABBABAAABAABBAAAABBABABBBBBAABABAABBBAAAABBAAABBABAAABBABBABBBABAAAABBABABBBABBBAAABAABBABBBBBBABBBABBBBBBBBABAABBBABBAABBABBABBABABAAAAABBBBBABBABBAAAAAABBABBBBABBBAABAABBAAABBBABABAAAAABBBAAABAAAABBAAABAAABAABBAAAABBBABBBABBBAAABBBABBABAABBABBBAABAAABABAAAABBAABABAAAABBBBBBABBABBBBBAAABAABAABBAAAABBBBAABBBBAAABABBBBABBAABBBBAABBBBBABABABBBABAABBBBBBBABAABABABBABAABAAAABBBBAABABBBBBAABBBBBBBBBBBABAAAAABABBAABAABAABAAABBBABBBBABBBBAABBBBAABAABAABAABBAAABBABABBAAAABABABABABBBABAABBBBBBBBAABBABAABBAABBAABAAABBBBAABBABBABABBBBBBBAAAAABBABBABAABAAAAABBAABAAABAAAAAAAABABBBABBBAAAAABABBBAAAABABABBAAABBAABAABAAABABABABAABBABBABBBBBABAAABABAABBBBAABABABBBAAABABABABBAABABBAABAABBBAABBBBABBABAAABBABABAAAAAAABABBAABAABBBBBBAABAABBABBBABABBAABABBABBAAAABABBBBAABBBAABBBABABABAABAABBABAABAAAAABABBAABBBBABAABBBBBBAABBBABBAAAABBBBAABBAABABBBABBABBBBABAABAABBAABABBBABAABBAAAAABBAAAABBAAABBBABAABABBABAABBBABAABBABABBBABBAAABBBABABBBAABABBBAABBABABAAAAABAABABABBABBAABBAAABAABBBAAABBAABABAABBBBABBBAAAAABBBABBABBABBBBBBABBABABABABBBBABAAABAABBAAABBBABBBBBBBAABAAAABBBAABBBBAABABBAABAABABAAAABBABAABBAABAAABAABBABBABABAABBAAAABBAABAABBBAAABAAABBBAABBBAAABBBABAAABBBAAAAAABABAABBBAABBBBABABABBBAAAABBAAABAABAAAAAABABBAAAAAAABABBBBBBBAABAABBBABABABBBBBABAAAAABABBBBBBABAABAABBBABABBABBBBAABAAAAAABBABABBAAAAAABAAABBABABBABAAABABBAAAAAABAAABBABABABAABBAAABABAAABBABBBAABBAABAAABBBBBAAAABBAAABABBABABBAABAAAABABAAABBAABAABBBAABABBABBABBBAABBAAAABABABAAAAABBBBBAAAABAAABAAAAAABABABBBBABAAABBAAAABABBBBBABAAAAABABBABBAABAABBBBABAABABBAAABBABAABBABBBBABAABBBABAAAABABBAAAAAABABAAAABBBAABBBBBABAAABABABAABAABBBAABBBABABBBAABBBABBBBABBBBBABBBBABBBBBAAABAAAAABABAABBBABBBBBBBAAAABBAABBAABBBAABABBBABAAABABABAABBABAAAABBAABAAAAAAABAABBBAABBBBBBBABBABBABBBABABBABAABBAAABBBAAAAABBABABBABABBABAAABABBAABBBBABAAABABAABBABAAABAAAAABBAAAAAAABBBBBABBAAABBBABBBAABABABBAABBBBBBBABAABABBABABABABBBBBBAABABBBBBBBABABBAAAABABABBBBBBAABBAABBABBABABBBBBBBBAAAABAAAABBAAAABBBABABABABBAABAAAABAAAAAABBABAABABAABBABAABBABABAAAABAAABBAAABAABABAAAAAAAAABABABABBABBBAABABBAABABABBBBBABBBBABBABABBAAABABBABBBAAABBBBAABAABBBBABAABBBBBBAAABABAABABAABBAABABAAAAABBABABABBBBABBBBBBABBABABBBBBAAAABAABBBABBBABABABAAABBABABAAABBAAABBABABBBAABAABAABABAAAABABBBBABBABAABAAABBBAAAAABBBBBBAAAAAABBBABBBBAABBABABBABAABBBABAAAAAABBAABBAABABAABBBABBAAABAAABAABBAAAAAAABBBBAAAAABBAAABABABABBAAAABBABABAABABABAAAAAABABBBBBABBAABABAABAAABBABBAABABAAAABAABABABBAABBBABBABABAABBAAABABBBABBABBBBBBBABBABBAABBABBAABAABBABABBBBBAAABBABABABABABAAAABBBBABABABABABBAABBABAABAABBABBABABBAABABBABABABBBAAAAABBAABBBBAAABBBAAAABABAABBBAAAABBABAAAAABBABBAABAAABBABAABAABABAAABAABBBBBBBBBBBABBBABAABBABAAABABAABBBAAABAABBBABBAAAAAAABBBBABABBABAAAABAAAABBABBABABBBBAAAAAAAABAABAAABBBABBBABBAABBBAABBBBBABABAABAABBAAAABABBBABBBABBBABABAAABBBBBBABABABBBBBABABBBAABBABBABABABBBAABABABABAABAABBBABAAABBBBAAABBBBABBBABAAABABBBAABAAAABBBAAABABABAABBBBAAAAAAABBABAAABBAAAABAAAABBABAABAABAABABAABAAAABBBBABABAABABBABABBAAABAABAAABBBBBBBBBABAABBBBBBABABBABAAABBABBBABBBBBBBBAAAABAAAABAAABBBABABABBAABBAABBBABAABBABBAABAABBBBBBABAAAAAABBBBBAABBBABBAAAABBAABBAAAABBBABBAAAABAABABBAABBBBABBABBAABBAAAABBBBBAABAAABABABBAABABABAAAAABBABBAAAABBABABBBBBBBBABABAAAAAABABBAAABBAABAAABBBBBBAAABBBBBABBBBAAABBAAABAABBBBAABBAABAABABBAAAABABABBBBBBAAABABAAAABBBBBBBAAABBBABBBAAABABBBBBBBABBABBAABBAABBAAABBAABBBBBABAAAABABBAAAABBBBAABABABABABBAAAAAABBABBBAAAABBBAAABAABBABBBAAABBBBBAABBBAABABBAAAAABBBABABABBBBBBABABABBAABAABAABABBABABBABAAAABBBABABBABBBBBBBBAAAABBABBAABABABBAAABAAABBAABABBAAAAAAAAAABBABABBBBBABBBBBBAABABAABBAAAAAAABABAABBABABAABABBAABBAAAAAABAABABAAABAABABBBBBBABBBBBAABBAAABABBBBBAAAAABBABBBBBBBABBABBAABABABBAABAABBBAABABAAABAABBBABBABAAABBABABABBABABBAABAAABBBABBAAABBBABAABBBBAABBBABAAABAABABBABBAAABBBBABAABABBABAAAAAAABBABABAAABABBBABAAABAAABBBAAABBAAABAABABBBABBBBAABBAABABBBBABBAABAAABAAABBBAAAABBABABAABAAAAABAABBABBBAAABAABBBABAABBBBBBBBBAABBABABBABBBBBBBABBABAABAAABBABBBBBAAAABBABBBBBABBABBBBBBAAABAAAABABBBBBBAAAAAABBAAAAABBAAABABABBABBABABABAAAAABAAABABBBABABBABABAABABAAAAAAABBBABBABBABBBBAAABAAABAAAABBABAABBABAAABBBBBAABBAABBAAAABBBAAABABBABBBABABBAAABBBBAAABBBAAABABAABBBBAAAAABBAAABABABAABBBAABBBABBBBBBABAAAAAABBBAABBAAAABBBAAAABABBBAAAABABBABBAABBBBBBBBBBABABAAABABAAAABABBBBBBAABAABBBBBABAAABBBBABABABABBABBBABABAABBBAAAABABBAAAAABBBBAAABBABAABABABABAABBABBBAABBABBBABBBBBBBBABBBBAAABAAAABBBBBAABBABAAABBBBBBAAAAABBAAAABBBAAAAAAAAABBBABBABBBAABAAAABAABBBABAAABAAAABAAAABBBABABABBBBAABAAAABAABABBABAAABBABAAAABBBBAABABBBBAAAAAAABABABBAAABBAAAAABABABAAABBBABABABBBAABAAABBBBBAABAABBBBABABAABAABAABABBBBAABBBBBBABAAAABBAABABBABABBAABBAAABAABBBBAAABBAAABBBAABAAAAAAABBBBBABBBABAAABBBBAABBBABBAAAAAAAABAAABAABAAABBBAAABBBAAAABABBBAABBBABBAAAAAAAAABAAABBBBAABBABAAAAAAAABABBBBBAAABBBAAAAAAABABBABBABBBBABABABBBABABAABAAABBABBABBBBAABBBBBBBAAABBBABAAABBBBBBAABAABBABABAAAABABABAAABBAAAAAAABBAAABBABAABBBBBBAAABAAABBAAABBBABABBAAAAAABAAABBAAABABBBBAABBBABBAABBABAAABBABAABAAAABBBAAAABABBBBABBABAAAABAABAAAABABBBBABBBABBABABBAABBABAABAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBABABABBAABBAABBBABBABBBBBBAAABAAAAAABBBAAAAABAAABAAAABBBABBBAABBBBBBAABABAAAAABAABBABAABBABABAAAABAABBABAABABBAABAAAAABAABABAAAAABABABABAAAAABABBBABBBAAAAABAAABBBBAAABABABBAABAAABBAAAAABABABBBBAAABABBBAAAAAAABAABABBAAAAAAABBABAABBABABAAAABBBBBAAABABBBAABABAAABBBAABBAAABBAABAAABBBBAAABAABABABAAAAABABBBAABBBBBBBBBBBABBBABBAABBAABBBABABABBABABBAABBBBBABBBABABBABBAAAAAAAABAABBBBABBABBBBABABABABBBBBBBBBBABABBBABBABBAAABBBBAABBBBABABAABBABBBAABBBBABBAABBBBBBBABBBBABBBBBBAABABABBABBABBBAAABBBAABAABBBAAAAABABAABAAAABBABAAAAABABABABAABAAAABAABBBAAAABBAAAABAAABBABBBAABBABABAAABABBABBBAAABABAABBBAAABAAAABAABAAAABAAAABAAABAABBAAAAABAABABAAAABBBABBBAAABABAABBBBBBAABAAABAABBAAABAAABBBBABABBBABBBAABBAABAAAABABBBAABBBAABBBAABAABABBBAAAABBAAAAAABABBBAABBABABBAABAAAABAAAAAAABAAABBBBBBAAABABAAABBABAAAAABBBBAAABBBBAAAAAAABBABABBAABBABBAABAABBBBAABBABBABBABBAABBABBBAAABAABAABBABABBBBBBAABBBBBABBBBBBBBABABABABABBABBABABBBBAABABBBABBBAAABAABBBABAABAABABABBAABBBBBABBBBABAABAABBBAABAABBBBBAAAAABABAABAABAABBABAABBBBBAAABBABAAABABBABAAAABBBBABAABABBAABBAABAAABABABAAABABABAABBBBABBABAABBAAAAABAAAABABBAABBBAAAABBBAAABBABAABBBBBABBABABBAAABAABABABAABAABABAAABBBABAABBBAABBABAAABBBABAABBBAAAAABBABABABAAAAAABBBABAABBABBBAABAABABAAABBAAABABAAABBBAABAABBABBABBAAABBBBBBBBABABABAABAAAAABABBAABBBABABBABBBBBABABBBBABAAAAABBAABABAABBABAABBABAAABABABBBBAAABABBBBBABABBAABBABBAABAABAAAAAABBABBBBABAAABBABBBAAABBBBBBABBBBABAABAAAAABABBBBBAABBABBABAAAABBBBABBAABAABBABAABABBBBAABABABBBAABABAAABAABABBBBABABABABAABBBAABAAABAABABBBBAAAABBABBABBAABAABBAAABBBBABAABABBBAABBAAABBBBAAABBBBBBAAABBAABBABABBABBAABABABAAAAABAAAAABBBBAAABBABABBAABBAAAABBAABBABBBBBBBBAAAABBBBABBABBABBBBABBBBBAAAAABAAAABBBBABBBAAABABBBBBBBABBBBABAAAAABBAAABAABAAABAAABABABBABABBABBBBABBBBBAABBBAAAABBBAAAAABAAAABBBABBBAAABABAAABAABAAABABBABAABBBAAABBABBBAABBABABABBABABAAABBBBABABAABBBBAABABBBAAAABBBABBABAAAAAAAABBAAABAAABABBBABBBABBBBBBBABAABAABBAAABBBAABAABABBBBBBBAABABBABBBABBBAABBBBBAAAAAAAAABABBBBBBABABBBAAAABBABBAABABBABAAAAAABBABAABAABBBBABAAABABABABABBAABAAAAAAABAAABBBBBBBABBBBABBBABBBAABBAABBBBBBBBABBABABBAAABABBAABBBBAABBABAABBBBBBBABBBBBBABBAAAABBBAAAAAABAAAABBBBAABABAAAAABABBBABBBAABAAAAABAAAAAABAAAAABBBBBAABAAAAAABAABBAAAABABAABABBAAAAABBABAAABBABBBBABAABBAABBBBABABAAAAABABABABBBBBBBBABAAABBAABBAAAAABABBBBABBBAAABBABAABBABABBABBBBBAABABBABAAABABBBABBBBABBAABABBABABAAAABABBABBBAAABBABABABBAAABBBABAABAAABAABAAAABAAAABBABAAAABABABAABABBABAAAAABABBBABAABBAABAABAABBBAABAABBAAABABBBABABBBABBAAAAAABAAAAABAABBBABAABBABBABBABBBABBABBBABBBAABBAABABBABABABABABAABAAAAAABAABBAAAABBBABAABBBAAABABABABABAABBBBBBAABBABAABAABBBBBAABABBAAAAABAAAAAABBBAAAABBBAABAABBBBABABBBABAABABBBBAAABABAAAAAABAABABBBBBBABBBBAAAABBBAAAABBBAAAAAAABBAABAABAAAAAAAAABBBBBABAABABBBABBABBBABABAAAABAAABBBAAABBBAAABABBBBAABBAABABBBBBBBABBAABBBAAAAAAAAABABBBABABBAABBBBAABBAABBABAAAABABBBAABABBAAABBABABBAAABBAAAABABAAABBBAABBBAABBBBAABBABBAABBABAABBAABBBBABBABBAAAAAABAAABBBBABABBABBBAABAAABBBABABBAABBBAABAAAABBBABAAAAAAAABABABABABBABAABABABAAAABBABBBABBAAAAAAABBABABBAABABABAABABABBBBABAABBBBAAABBBABBBBBAABABABBABBBAAAABABBABABAABBBBBABABBABBBAAABBBAABBABABBBBABABBBABBABAABBABBAABABABAABAAABAABBBABBBAABBAABBBAABAABAABAABBAAAAAABABBABBAAABBBAABAABAABBABBBBBABBABBBABABAABBBBABBBABBAAAAABABBAAABBBABBBBBABBABABBBAABABAAAAAAABAABABAAABAABBAABABAABABAAAABABABBABBBAABBAABABABBBBAAABBABAAAABAABBBBBAABABBAAABBAABABBBABBABBAABBABAAABABBABBAAAABABBBAAABAAABBABBAAABBBBAAABBABAABBBBAABBBABBBABBABABBABBBBAAAABBBABBABAABABBAAAAABABBBAAABBBBABAAAAAABBBBBABBAABABBBAABABBBABABBABABBABAABBAABABBBBBBAAAABABBBBAABBABABBBBBBBAAABBABABAAABAABAAABBBBBBBAABAABABBABAAABBBAABAAABBAAAAAAABABABBBABBAABBABBAABAAAABAABBAAABBBAAAAAAABBAABAAAAABBAAABBAABABAAABBBBAAAAABABAABBBBBAAAAAABBBABBABABAABABAAAAAABBBBBBAABBBAAAABBABBBBAAABABAAAAABBBBABAAAABBBAABABAABBBAAABAABBABBAAABABABBBAABABBAAAABABAABABAABAABAABABAABBBABABBABABBBBAAABBAABAABBBAABABBBBBBBAAAABBABBBAAABAABABABBABBAABBBAAAABBBABABAABAAAABBABBBAAAABBABAABAABAABBABBAAAABAABAAAABABAAABAAABBAABBBABABABBBBBBAABABBABAAAABABAAABABAABBAABBBAABBBBABAAAABBAABBBABBBAAABABBABABAABAABBBABAABBBAABAAAABBBAAABBABBABAABBABAABAABAABBAAAAAABBABABAAABAABABAAABABABAABBAAAAAAABABABAAAAAABAABBBBBBAAAAABBABBAAAABAAAABBAAAABAAAABABBBAABAABBBBBBABBBBBABBBAAAAABBABABBAABAAABAAAAABAABAAABBBABBABABAAAABABAABBBABABBBBAAABABABABABAABABAAAAAABBAABBABABBBBBBBABBBABBBBABABABBABBBAABAABBBAABABABAAAAABBBBBAAAABBBBABBBABAABBBAAABBBBBBAABBBBAABBBAABBABAAAABBBBAAAAABABABBBABAABAABABABBBABBAABABAABBBAAAAABABBABBABBABAAAABBBBAABABABBBBAAABBBBAAABBBABBABBBBABABAAAABABBABAAAAABAAAABBAABABABBAABAAABABABAABABABAABBABBBAAABBBABBBBAABABBAABBAAAABAABAABBBAAAAABBABABABAABBAABABAAAABBABBABAABABBBABBABBBAAABBAAAAAAAAABBAABBBBBBBABABABBAABBAAAAABBBAAAABBBBABBABAAAABABBABBABAAABBBBBAAABAAAABBBBBBAAABBBABAABBBBABBAABBBABBBBBAABBAAABBBBAAABABAABBBBAABBAABAAABBBBABBBAAABBBAABAAAABAAAABAABAABAABABABABBABAAABAABBBABBABBAAAAAABAABBAABAABABBBABABAABAAABBABBABABBBBBBABBABBBBABABABABBBBABABBABBBBABABABABBABAAAAABAABBBBBABBBABABBBAABAABBBBAABABABBBABBBABBBBAABABABABBABBBABBAAABAAABBBBABABBBAAABAAABAAABAABABBBABAAABAAAABBAABABABBBBBBBAABABAABAAAAABBAABBAAAABBBABBAAAAAAABBBBBABBAABBBABAABABBBBBBBAAAAABAAAABABAAAAAAAAABBBBAAABAABABAAAABAABBBBBABABBAABABAAABAABBAAABAABAABABAAABABBAABABAAAABABAABBBBBABBBBAABAABBAAAABAABABBBBAAABBBBBAAAAAAAABBBBBABAAABBAAAAABBABBABBAAAABBAAABABAAABBABBAAAABABABBABBAABBAAAAAABABAABBAABBAAAAABBBAABBAABABAABBBBBBBABBAABBBBBAABBAAAAAAAAAAAABBBBABAAABAAABBABBABBBBABBBAAABAABAAABABBBBAABAAAABBBBAAABAAABBBBBBBAABBAABBBBBABBAAAABBBAABBABBBABAAABAAABABBABABABABAABAAAAAABABBAABABAABBBAABBABAABBBBABBABBAABBABAABBBBABBAABBABAAAABABBAAAAABAABBBBBAABABBBAAAABBBBBBBABAAABBBABAABBBABBBBAABBAAABBAABBBABABABAAAABBAAAAABBAAABABBABAAABBBBABABBBAABABAAABABABBBAAABABBAAABBABBAAAAABBAAAAAABBBBABBBAABAABBBAABABABABBABBAABBABBBBAABBBBABAABAAAAABBABBBBAAABAAAABABABABBBAAABAABAAAAABAAABBABAAABABABABABBBAABAAABAAAABABBABBABAABBABBABAABBABABABABABAABAAABBABBAABBBBAABAABABBABBBBBBABBBAAABBABABBABABBBBAABABAAABAAABBBBBBBBBBBABABABAABBABABABBAAAAAABBBAABABBBAAAAABAAAABBBAAAABBBAABBBAAAABAABBBABAABABBAABABBAABAAAAAABAABABAABBAAABAABAABAABBBABBAABBBBAAAABBBBABABBBBBAAABBABAABBBBBABBAABBAABBAAABBAABBAAABBABBBAAABBBBBABBAAAAABBABBABBABAAABAABABAAABABAAAABBAABBAABBBBAAAABBBBBBAABBBAAAABBBBBBABAAAAAABABABBBABAABAABABBBBAABAAABABABABBAAAAABBAABBBBBAABBBABABAAAAABBAAABABAABBBBBBAAAAABBABABBBBAABABAAABBBBBABAABBBABBBABAABAABAAABAABBBABAABABBBBABABBAAABAABBBAAABAABBABBBBABAABABABBABABAABBBBBBAABAAAABBAAAAABBABABBABABABBABAAABAAAAABBABABBBBBBBBBAAABBAAAAAABBABBABAABBABBBABBABABBAABBABBBBABBBBBABABAABAABABABBBBABBBABAABBBBABBABABBABAABBBAABBBABAABABBABAAAABBABABAAABAAAABBAAABAAAAABBBAABABBAAABBABBAAABABABAAABBBBBABAAAABABBBBBBBAABABABABBABAABABBAABBBBABBBBBBBAABAABAABABBABBAAAABAABAABBBBAABAABBABBABABBAABABABBBBABBBABBBBBBBAAAABAABBBABBABABABBABBBBAABBBBBABBABAABBBBAABABBABBBABBBBABAABABAABAAABABABBBABAABBBAAAAAABBABBBBABBBAAABBBAAAAABABABBABBBAAAABABAABBBAAAABABAAAABAABABAAABAAAABBBAABABAAABBABBBABBBABBBAAABBABABABBAABABBBBBABABBBABBAABAABAABABABAABAAABBBBBAABBBAAAAAABBAABABBBABABBABBBAAABBAABAAABBBBAABBABBBBABBBABABBBABAAAABBBAABBBBABBABAAAABABAAABBBAABABAAAABBAAABBBABBAABBAABABBBBBBAAABAAAABABBBABBAABAABAABAABBAABBABABABBAAAABAAABAAABAAABBBBAAABBABBAAABBBABABABABABAAAAAAAAABBBAABAAABBBABAAAAAABABBAABABAAABAABABBABABAABBAABBBABAAAAABAABBBAAABABBABBBABABABABABABBBABABAAAAABAABABBAABABAAAAABAAABAABABBBAAABBABABBBBABBBBBAABBBAAABBBAABAAABAABABBBABBAABBBABBABAABBAABAABBBBABBAABABABBAAAAAAABAAABBABABAABBBABBBABBBABBAAAAAABBAAAAABBABBABBBBABABBBAAABAAABBABAAAABBAAAABBAABABABBABBBAABABBABBABBBABABABABAABBBAABBBBBBABBAABABBBBBBABBAAAABAABBBBBAAABABAAABBABBABABBABABABBAABABBABBBABABAABAAAABABBBAABBBABBABBBBABBABBBBBBABBBBBABBBAABBABBBBABBABBABAABBBBABBBABBAAABBBABABBBABAABBABBAAABBAABAABBBBAABABBABABBBBABBBABBABBABBAABABAAABABBBBABAAABABAAAABBABBBBABABAAAAABABABABBBAAAAABBAAABAABAABABBBAAABAAABBABBBBAAABABAABABAAABABABBBBAABAAAAAAAAABBAABABABAAABAABAAAABBBAABBAAAABBBAABAAABABBBBBBBAABABABBABABAABAABABBABABBAABBABABABABAABBABAAABBBABABAABBAABABABBAAAAAABBABBBAABBBBBABBBBABBBAABBAABABABAABABAAAABABBBAAAAAABBBABBBBBAABABABAAAABABABBABAAABBABBABBBBBAAABABBBABAABBBBBBAAAAAAABBBBBAABAAAABBBAAABABAAABBBABABABBBABBABAAAABAAABBBAAAAABAAAAAABAABBBABAAAABBAABBBABABABBAAABBBAAAABBBABABAABABBBBABBAAAABAAAABAAABBAAABBBABABBBABBBBBAABAABAAAAAABABBAABBBABABBBBABBABBBBAABAAAAABAAABABBBAABBBAAABAABBAABAAABAABBABBBBABAABBBABAABABBAABABAAABBABABBABAAABAAABAABBBBABBAABABAAAAABAAABBAABBAAAABBABABABAABAABABAAAABBABAAAAAABABBABBABABBAABBBBABBBBBAAAAABAABBBAAABBBBBABBAABABABBABBAABABBBBBBBBAAAAAAAAABAAAABBABABBBAABABBAABBABABBAABBABAABBABABABABABABBAABAAABABBAABBABBABABABBBBAAAAABBBAAAABAAAABBBBBBABBBBABAAABBABBBABABBBABBAAABBBBABBBAAAAAABBAAABABBABBBAAAABAAABABBBABAABABBBABABBBAABBBBBABAAAAAAABBBBABABAABBABBABBABBBBABBBBAAAABAAAABBBABAABBAABBAAAABAABABABBBAAAAABBBBBBABBAABBAAABBBAABBBBAAABABBBBBABABABAABAABBABBABBBBABBAABBAAAABAABBBBBBBAAAAABBAAABABBBABAAAAAAABBAAABABAAABAAABBBBABAABBBAABBAAABABBAAABBAABAAAAABBABABABBABAABBBBAAABBAAABAAAAAABABBBABAABAABAAABBBABBAAABAAABBBAABAAABAABBBBABBAABABABAAABABABBBBBAAAAAAAABBAAAAABBBAABAABABBAAABAABBBBAAABBBAAAABAAAABABBBBBABBABAABBBBABBBBAAABABBABAAAAAAAABBBAAAABABBABAABBBBBABAABBBAABABBAAAABAAAAABBBABBBBABAAABBBAAABBBAAAABBBBBABAABABABBBBAAAAABABBABBABBAABAABBBBAAABABBABABABBABBAAABAAAABABAABAABABABBAABBABABBAAABBBAABABBBAABBAAABABBBABABABAAABBBABABBABABABBBAABBAAABABBBBBABABABBABAAAABBBBBBBAAABAAABBBAABBAABBABAABABBBBBAAABBBAAAABAABAABAAABBABBABBBBABBAAAABABAAABBBBBAABBAABBABAABBAAAABBBAAABBBAAABAAABABBBABAAABAABBBABABABAABBBABBAABAABABBABABBABBBAAAABBABBBAABAABAABAABBABBABBBAABBBAAABAAABABBABAABBABABBAABABABBBBAAABBBAAABBBBBABAABABAAABBAAABAAABBBAAABABAABBAAAABBBBBAABAABABBBAAABBAABBBBABAAAAABAABBBBABBABBAAABAABAABAAAABABBBABAABAABABBBBABAAABAAABBBBBBBBBBABBAAABBBAAABBBABAABABAAABBABBBBBAAAABBABAABABBBABBABAABBABBBABBABABAABAABBAABBABBAABBABAABBABAABBAAAAABBAABAABBBABABBBBBABAABBAAABABBAAAABABAABABBBABAABAABABABAAAABBBAABAABAAABAAABBBABBAAABBBAABBAABBBAAAAAABBBAABBAABBBAAABBABBBAAABAAABAABAABBBAAAABABABAABAABABBBABAABABAAAABBABAAABBAABABBBBBABABBBAABAABBAAAAABBAABABBAABABBAABBABBAABBAABAABABABBABBBABBAABABBABBBABAABABBAAAABBBBBABBAAABABAABABBBAAABBBAAABBABBBBBBBBBBAAABAAABABBBBABAABAABABBBABAAAABAABAABAAABBABBABBBBAABAAAAABABBBBAABBAAABBBABAABAABBBBBAAAABBAABABAAABBBAAABAAABBAAABABAABABBBBBAAABBBAAABBBBABABAABBABABBAABABBABAAABAAABBBAABBBABBABBAABAABAABAABBBABBAAAABBBABBABABBABAABAABBABBBAABABABABBBAABAAABABBBABAAABAAABBBAAABBBAAAABBAABABBAABBAABBBBBAAABABAAAABBABBBBABBABBAAABAABAABAAAABBBAAABBBBBABAABABBAABBAABBBAAABAAABBBBBBBAAAABABBABABABBBBBABAAABBAABBBABABABBABABBBAAABABABABBBABAAABBAABBBABAABBBAAABBABABBAABBABABAABAABABAAAABAAABBABBABABABBABAAABBBBAABAABBABBABBABAAAAABBBBABABAABABBBBBAAAABBBAAABBBAAABABBBBABBBAAAAABAAAABBABAABBBAABABBBBBAABABBABAAAABBBAAAAAAAABABBABAAABBBBABBBBAABABBABBBBBABAAAABAAAABBBAAABBBBAABAAABBABAABAABBBAAAAABBAAAAAAAABBBBBABABAAABABABAABBABBBBAABAAABAABBBAAABAAABBABBBAAABAABAABABBBABAAAAAABAAABBAAABBBBAABABBABABABBAAAAABAABBAAABBABAAABBAABBBAABABBBBAAABAAABABAAABBAAAAAAABABBBABAAABBAAAAABBBBBBBAABAAAABBAABBABBBBABBABBAABAABABABABBBBBABAAABBBBAABBBAAABBAABBABBBBBBAAAAABBBABABAABAAAABBAABBAABABBBAAAABAAAABBBBABBBBABBABBABBAABABABBBBAAAAAAABABBBBBAABBBABABBBABAABABBBABAAABAAAABBBABBABAAABBAAAAAABBBABBBBAAABBABBBABABBBABBAAABABBBBABBBBBBAAAABAAAABBBAAAAABBBBABABABBABBAABBABAAABAABBABABABABABABBAABABBAABBABABBAABBABAABBBABABBAAAABAAAAAAAAABBBBBBBBABAABBABBABABAABBABBBBBAAABBBAABAAAAABBBBBABBBBAABBABABBABBABAAAAAABABBAAAABABAABAABABABABBAAAABBAABBAAABAAAAABABAABBABBBBAABAAABAAABABBABABBAAABABAABBABAABABBBAABABBBBABBAABAAABAABBAABAAABBBAABBBABAAABAAAAABAABBBBABBABBBBABABBBAABBABAAAAAABAABAABBBBBABBBABABBBAAABBAAABAAAABAAAABBABBBBABAABABABBBAAAABBBAAABBABABABBBAABBAAAABABBBAABAAAAAABAAAAABBBAAABAAAABABBABBBABABABBBAAABABAAABBBAAAABAABBBBBAAAAAAABBBBBBAABABBBABAAABBBBBABBABBAAABABBABABAAAABABABAABBBBBABBBAAAAAABBBABAAAABABAABABABAABBAABBBABBBBABBBBBAABBBABBAAAAAABBABABAABBAABABABBBAAABABBAABABABABABBAABBABABBABAABAABABABBABABAABBBBBBBABAAABAABBBAAAABBAABBBAAAABAABAAABABABAABBAAAAAAAAABAABBBBABABAAABABAABABAAABBBBABBAAABAAABBBABAABAABAAABBAAAAABBBABABABAAAAABABABBBBABBAAAABABAAABABBBBABAAABABAABBABBABBABBBABBBBABABBABAABBBBAABAABBAAABBABBAABABBBABABBBAAABBABBBABBBBAABABBABBABBBBABBAABBBABBBBBABBBBBBABBABBBBABBABBBAABBBABAAAABAABABABBBABBABAABBABABABBABABBABBAAABABAAABBBBBAABAAAABBABBBBBBABAABBABBBBBBAABBBAABABABABABBBABBABBABAABBBABBABABAABBAAAABBAAAABABBAAABAAABBBABABBBBABBABBAAAAABBAAAAAABBABBBABBBABBBAABABABBAAABAAAAAAABBABABAABBABBBBAABAABBAABABBABBBAABBABBBABAABAAABAABBBAAABBBAABBBBBABBBBABABBAAABBBABAABAAABAAAAABABAABBABAABAAAAABABABBBABABABABABABBBABBABAAABBBAABAAAAABABBBAABBAABABABBABAABAAABABAABBABAAAAAABABBBAAABAABBBAAAAAAAAABABABABABABBBAAABBABBAAABBBBAAABAAABAAABAAAABBABABABBAABBAABAABAABAABBABBBABAAAABAAABBBBBBABAABBAABBABBBAAABBAAAABABAABBBAAABABAAAABABBABBBBAABBBAAAABABBBABABBBABBBBABBAABBBBAAABAABBAAABBBABBABABBBABAABBAAAAAABBBAABBBBBAAABAABABABAABAABAABBABBBABABBBBBABAABBABABABBAAABBBABBBABBBABBAAABABAABBBAAAABAAABABAABAAAABABAAAABBBAABABAAAABBBABBABABAAAAABBBAAABBBABBBBABBAAAAAABBBAABABBBABABAAABAABABAABABBBBABBBABBABAABBBBAABABBABBBBBAABBBBABBABABABBABBBAABAAAABBBBBBBABBBABBBBABABAABBABABBABBAABAABBBBAABAABAAAABBABBABAABAABAABBBBBBBABBBBAABBABAABABBABABABAABBBBBBBABAAAABABBBBBAAABABABAAABBABBAAABBABAABBBAAAAABAAABBAAAABAAABABABBAAAABABBABAABABBBAABBBAABABBABABBABBBBAABABBBABBBBABABAABAABABABBBBBABBBBABBAABBABABBABBBABBAABABBABBAAAAAABBAAABBBBBBBBBABABBAAAAABAAABABBABABABBABABBAAAAABBAAAABAABBBBBBAABABABBABABAABABBBBABBAABAAABBBAABAAABBABABBBBABAABABBBAABAAABAABAABABBBABBBAABABBBBBAAABABAABBBBABABBAAAAABBBBBBAABABAAABBAAAAABABABBBAABBBBBAABBAAAAABBABABABAAABAABBBBABAABAABABBBABABAAAAAABABBBBBBAAAABBBAABBBBBBAAAABBBBAABBAABBAAAABABAAABABAABAAABABBABBABBAAAAABBABBBBBAAABBBABBAAABBAABBAAABBAABBAABBABBBBBAABABBAAABBBBBABABBBBAAAABBBBAABBABBBAABAABAABAAABBAABABAABAAAAAABAABBABAABBABAABABBBAABAAAABBBAABBBAAAABBBAAAABAAAAABBBABAABBBAAAAAABBABABABBAABABABABBBBBBBBBBBAAABAAABABAABBBBABABBABABBAAABBBABBBBBBABBABAABAABBBBAABBABBAAABAABABABABABABBAABABBABBAABABBABBABAAAABAAABAABBBABABABABAAABABBAAABAAAAABAABAAABBBABABABAAAABAAABBBBABBAAAAABAABABBBBAABBBBABBAABBABBABABABAABBBAABAABBBABBBBAAAAAABBAAAAABBABBAAABBABAAABBBABABAAABABAABBBABABBBBAAABABBABAAABBAAAAABBAAAABABABABBBAABBAAABBAABBBBABBBAABABBBAAABABBBBBBBAAAABBBABAABBBBBAABAAAAABBABAAAABABBAABBABBBBAABABBAABBABBABBBBAABABBAABBBAABABAABBABAAAAAABAABABABABABBABAAABAAABABBBABBAABBBAAAABBABBBBBAABBAABBBBBBBAAABAAABBBBAAAABAABBBBABAAABAABAAABBBABBBBABBABBAAABAAABABBBBAAAAAAAAAAAABBAABBBBBAABBABBBBBBBAABABAABBAABBBAAAAABBAABBAABABAAAAAABBAABBABBABABAAAABBABBAAABABAAABBAAAABBABBABBAAAAABBAAABABBBBBAAAAAAAABBBBBAAABBBBABAABAAAABBAABAABBBBABBBBBAABABAAAABABAABBABAAABABAABAABAAABBAABAAABABAABBABABBBBBAABAAAABABAABAAABBBBAAAAAAAAABABAAAABAAAAABBBBBBBABAABABBBAABBABBBBBAAAAAAABBABBBAAAABBAABBAAAAABAABABAABBBBBBBABABAABBAAAABAAABABBBABAABAAABAAABAAABBBABABBBBAAABAAABBABBBABBABABABAABBBBABBBABBBABABAABBBBAABAABBBABABBBABBBBBAABAAAAABABBABABABABBBBABBABABBBBABABABABBBBABBABBBBBBABABBABBAAABAABABABBBABAABAABBAABAAAAAABBABBABBBAABAAABABBABABABAABAABAABAAAABAAAABAABBBAAABBBABBBBAAABAABBAABBBBAABABAAABBBBAAABBAABBBBBABBBAABBABBBBAABABBBAAABBBBBBAAAABAAABBBBBAAABABBABBABAAAABABBABBBBAAAABBBAAAAABBAABBABABABBBBBBBAABBAAAAAAAAABBAAABBBABBABBBABAABABBABBAAAABABAABBAABABABABBAAAAABBBAABAABAAAABBAABBABAABBBBABBBAAABBBABBAABABABAABABABAAABAABBABABAABBAAAABAAAAABABBABAAAABABABBBBABBABBBAAABBBBAAABBBBABABAABBBBAAAABABBABBABBABAAAAABBBAABABAABBABBBABABAABAABABBBABABAAAAABBBBAAAABABBAABBBAABBBBAABBBBBBAAABBBAABABBBABBBBAAAABBBBBAAAAABABABAABBBAABAABBBABBABABABBBBABBBABBBBBBBABABBAABBAAAAAABABAABABABABABAAABBBBABABBBAABABAAAABABABBABBBAAABAABAAAAABAAABAABBABABBAAAAABBBABBBBBABBBBBBAABAABBBABAAAABAAAABBAAAABAAAABBABBAAAAABBBBBBAABAAAAAABABABAAAAAAABBAABABABAAABABAABAAABABABBAAAAAABBAABAABAABABBAABABBABBAAABBBAAAABAABBBAABABBBAABAABABABBABAAABBBABBBAABBAAAABABBBBAABBBAABBAABABAAABABAAAABABBABAABBBBBBABABABBBAABBAAABAAABABAAAABAABAAAABBABBAABAABAABABBAAAABBBABBAAAABAABABABBBAAAABBBAABBABBABABAABAAABBBABBAAAABBBBBBBABAABBBAABAABBAAABBBBABABBABABBBAABABAABAABAABABAABABAAAABBABAABBBABABAAABBABBAABAAABBBAABABAABBBAAAABABBBBAAAAABABAAABBBBABBAAAABBBAABBBBBBAAAAAABABAABABABBABBBAAAAAABBBBBAABABAAAAABBBBAAABABAABBAAABBAAAAABAABBAAAAAAABBBAAABBAABAAAABAABBABBAABBABBBABABAAAAAAABBAAABAABBBAAABABBABAABAABBBBBBBAAABAABAAABABABBAAABBBBBBBABABBAABBBBABAAAABBBBBBABAABBAABABBABABBABABBBABAABBBABAABBABBBBBAAAAAABABBBBAAABBBABAAAAABBABAABABBABBBAAAABBBBABBABABBABBBABBBAABBBBAABABBAAABBBBAAABBABBAAABAAABBBABAAAABBABBABAAABABBAABBABBABBBABAABBAAABBABAABBBBBAABAAAABABBAAABBBBABABAABBAABBBABBABABAAAABABAABABAABBAABAAABABAABAAAAAAABABAABBBABABBABBBBBABBBAAABBABAAAAABBABBBABBBBAABABABBBABBABBBBBABBAABAABAABBBAAABBABBABAAAAAABBAABAABAABAABBBAABBAABBBABBBAABAAABAABABABAABBABBAABABBABBBABABBBBABABBAABBBAAABBBABBABABBBBBAABABABBABAAAABBBABBABABAABBBBBABBBAAABBBBAABABBBBABABAABABABAABBABABBAAAAAAABBABBBABBAAAABABABAABABBABABABABAAAAAAAABABBBAAAABAABBBAABBABABBBAAABAABBBABBABABBBBAAABAAAAAABBABBABBBBAABBAABABBAABBABBAABBBBAABBBAABBBAAABABAAAABBAAABBABABBAAABBABAABBBABAAAABABBAABBAABBBBAABBABABBBABAAAAAAAAABBBAABBABBBBBBBABAABBAABBBBABAAABBBAAABBBAAABAAAABABABBBABBABBBABAABABBBBBAAAAAAAAABAABAABBAAAAAAABBBAAAABBBAAAABBBBABBBBBBABAABAAAAAABABAAABBBBABAABABBBABABBBBAABAABBBAAAABBBAAAAAABAAAAABBABAABBBBBAABAABABBAABBBBBBAABABABABABAAABBBAABABBBAAAABBAABAAAAAABAABABABABABABBABAABBAABBBABBBABBABBBABBABBABBAABABBBAABAAAAABAAAAAABBABBBABABBBABAAABBAABAABBBAABAABAABBAABABBBABAAAAABABBABAABABABAAAABABBAAAABAAAABAABAAABAABABBBAAABBABABABBAAABBBABBABAAAABABABBABAABBABBBBABBBABAAABABBABAABBBBBABBABABBAABABBAAABBBABBBBABAAAAABBAABBAAABABBBBBBBBABABABAAAAABABABBBBAABBAABABBBBABBAAABABBAAAAABBABAABABAAAABBAABAAAAAABAABBBBBAAAAABAAAAAABAAAAABAABBBABBBABAAAAABABAABBBBAAAABAAAAAABBBAAAABBABBBBBBABBBBBBBAABABBAABBBBAABBABAAABBABABBABBBBBBBBAABBAABBBABBBABBBBABBBBBBBAAABAAAAAAABAABBABABABABAAABABBBBAABAABABBAAAAAABABBABAABBABBAAAABBBABABBBBBBABAAAAAAAAABBBBBAABBBABBBABBABAABBBBBBBABAABAABBBAAABBAABAABABBBBBBBABBBABBBABAAABAAABBAAAAAAAABABBABBBAAAABBBABAABBBBAABABABBBBAAABABABBABABABBAABBBABBAAABBBAABABBABAAABAABAAABABAAABBBABBBAAAABAAAAABBBAAAABBBAABBBBBABBBBABBABABBABABAAABAAABAABAAABBAAAAABABBBBABBBBBBBABAAABBBABBBBAAAABAAAAABBBBBABBBBABBABBABBBBAAAABBBBBBBBABBAABBAAAABBAABBABABBAAABBBBAAAAABAAAAABABABAABBABBABABBAABBAAABBBBBBAAABBBBAAABBAABBBABAABABBBBAAABBAABAABBABBABBAAAABBBBABAABAAABAABBBAABABABABABBBBABAABAAABABAABBBABABAABBBBABAABABBAABAABBABBBBAAAABABBABBAABBBBBABAAAAABAABABBBBABBBBBBAAABBBABBAAABABBBBABBAAAAAABAABAABBABBAABBABABBBBBABAAABBBBABABAAABABBAABABBAABABAABBAAAAABABBBBABABBBBBABBABABBBAABBABAAAAABAABABABABBBBBBBBAAABBABBABBAABAABBBAAABABAAABBAAABABAABAABBBABBAABABBBAAAAAABABABABBAAAAABBBAABABBBAAABABBAABBBAABABBBAAABABAABAABABABAABAAABBABABBABBBBBAABABBAAABBBAAAABBBAABBABAAAABAAAAABBAABABBABBBBAABABABAAABABABAAABAABBAABBABAABABBBBAAAABABBABAAABABBAAABBBBBAABABBAABAABAABABAAAAABBBBBAABAABBBAABAABABBBBABBBBBAABBABABAABAABABBBAABAAABBBABBBABAABBBBABABBABBABABABABABBBBBBBBABBBBBAABBBBBBABABBAABAABAAABBBABBAABBABBABBABBAABBBBAABAABBABBAABBABABBAAAAAAABBBBAAABBBBAAAAABABBAAABABAAABBBBBBAAABAAAAAAABAAAABAABBABABBAABBBABAAAAAABBAAAABBBABAABAABBBAABBBAABBBABAAAABAABBAABBBABBBABABBBBAAABAAABBAABAAABAABBBBBBAABABAAABBBABBBAAAABABAABAAAAABBAABAAABAAAABAAAABAABAAAABAAABBBAABABAAABBBABBABAAABABABBAABBBABBAAABAAAABBAAAABBBAABAAAABAABABABABAAAAABABBAAAABAABABAAAAABBBAABAABBBAAABBBABBABBABABAABBBBBBABBBBABBBBBBBAABBABBBBAABBBABBAABABABBBBAABBBBAAABBABBABBBABABBBBBBBBBBABABABABBBBABBABBBBAABAAAAAAAABBABBABABBBABBBBBAABBABABBABABABBBAABBAABBABBBABBBBBBBBBBBAABBBABAAAAABABABAABAAABBBBAAABAABBAAABBAABBBAAABABAABBBABAAABBBBBAAAABABABBAABABBAAAAAAABBABAABAAAAAAABBBABAAABBBBABABAAAAABBAAABAABBABABAAABBBBAAABAAAAABBBABBBABAAAAABABABABAAAAABABAABAAAAABAABBABAABABBAABAAAABABABBAABABBAABAAAAABABAABBBBBBAABBBABBBAAAABAAABAAAAABBBAAAAAABAAABBBBBBABBABBBAABBAABBABABABBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAABAABABBAABBABABBABBBABBBBABAAAABAABAAAABABBABBBBABAAAABBBAAAABAABABBAAABABBAABBABBBAABBBBABAAABBAAABAAAAAABBABABBBAAABBAAABAAABBBBBBAABABBAAABBAAAAAAABBAAABABABAAAABABABBAABAABBBBBBAAABABBBAAABBBBBBBAABBBBABBABBAAABAABABABBBABABABBBBABBABBABAAAAAAABBBAAABBBBBABAAAAAAAABABBAABBBBAAABAAAAAAAAABBABBBAABBBABAAAABBBAAABBBAAABAABAAABAAAAAAAABBABBBAABBBBAAABABBBABBBBBAAAAAAABAABBBAAABBAAABBBBAABAAABBAABBABABBABAABBAAAABABBBBBBAABBBBABAABAABAABABABBBBAABAABBBBBAAABAABBBABABABBBAAABABABAAAAABBAAABBABABAAAAAAABBBBABAABBBBAAAABABBAAABABBABAABAAAABAABBBBABABABBBAAAABAAAABAAABABBBAABAAAABAABBBABBABBBAAAAAAAAABBBAAAABBAAAAABBBBBBAAABABBAABBBBBAAAABAAABBBBABBBBBBBBABBBABBAABBBABBAABABABABAABABBAAABBBBAAAAABBABAAAABBBAABABABBBABBABABABABBBBAAABABBBBBAABAABBBBBBABAAAABABAAABABABBBBBBBBBBAABBABBABAAAABBBABAAAABBBAAAABBAABBBAAAAAABABBBBBBABBBAABBBAABABABAAABBAAAAABBBBAABABAAABBBAAABBBBAAABBABABBBABBABAAABBBAAAABBAABBAABBBBBAAABABBAABABBAAAABAAABAAABBBBABBABBABBBAAAAAAABABAABABABBABABBBABAAABAAAAABABABABBABBABABAAABBAAAAABBAAAAAABBBBBBABAAAABAAABBBBBBABBABBBBBABBAAAABBBBBABBAAABAABABBABBBBBBBABBABABBAABBBBBBBBBAABABBBAABAAABBBABBAABAAAAABAABABABBAAAABBBAAABAAABAABBABBBBABAABBAABBBBABBBABAABAAABBAAABBBAAABAAABABBBABAAABABABBAAAAAAABABBABAABABBBBAAABBABBABAABAAABABBBAABBBBAABABBBAAABBABBBAAABAABBABABBABABABBAAABABBABBBAABAAABABAABBBAABAABBABABAABBABBABBBBBBBABBAAAAABBBBBABAAABBAABBBBBABBBBBBABAABAAABABAABAAAAAABBAABBABAABABABBAABABAAAAAAABBAABABAABBBBBBABBBBBABABBAAAAAAAAAABBABAABBAAABAAABBABABAABBABBAAAABBBBBBBBABBABABBBAAAABABBABABBABAABAABAABBABABABBBBBBABABABBBAAAAABBABAABBBAABBBBBAAABBBABBAABAAABBBAAAABBBABBAAAAAABBABABABABAABBBBAAAABBABAAAABABBBBBAABBAAABBAABBAABBABBABBBBBBBABAAABBBABBBAAABBBBBBBAAAABABAAABBBBBBABABAAAABBABAABAABBAABBBBAABAAABBAAABBBBABBBBBAAABBBBBBAAABAABBAAABBABAAAAAABABABBBBBBBBABABBAAAABBABBAAAAABABABAABBABABAAABAABBBBBAAAABBAABBABBABBBBAABBABAABAAAABBABBBAAAABBAABBAAAABBABBBAABBBBBAAAAAABABBBBBBAABAABBABBAABABBBAABBAABBABABABBBAAABAAAABAAAABBBBBBBBABBBABBAAABABBABABBBBBBAABABBBBBBBBBAAABAABAAABBABABBABAABABABBBBAAAABAABABAABAABAABABBAAAABAAAABBAAABABBAAAAAAABBBBAABABABAAABBBAAAABAABBBABAAABABBBABBBBAAABBBBAAABABBBAABAABABABABAABBBABABABBABBAABBBABABBBBBABABABBBBBBAAABABABBBABBBABBBABAAAABBAABAABABABBBBBAABBBAABBABBBABBBAAABAABAAAAAAAABBBBABABBABBAAAABAAAABABBABABBBBAAAAAAABBABBBAABAAABBBAABABAAABABBAABABBBABBBBBBBBBBBAABAAABABAABAABABBAAABAABBABBAAAAABABBAAAABBBAABABAAAABBBAAABBBBAABBAAAAABBBABABABBABAABBABABBABBAABAABABBAABBABABABABABBBBAAAABABABABABABBAAABBBBBABABBAABAABBABBAABBABBABBBBBBBABBABBBABAAABBAABABABBABBBAABBABABAABAAAABABAABBABBAAABAABABAABBABBBBBABAAAAAABABABAABABABBAAAABBABABABAAABBAAAAABBBBAAAAAAABBAABAAABAAABBABBBAABABAABBAABBAAAAAABABBBAABABBABABBAABBBBABBBAAAAAABBBBBBAAAAABBBAAABAABABBABBBBABAAAABABAABAABAABBBABABBAAABBAAABABABBAAABABABABBBABBBAABAAAABBBBBABABBABBBBBBABBBBABABABBAAAAABABAABBAABABAABABAAABBBBBBAABABBBBAABAABBBBAAABBBABBABAAABBABABBABBBBABBBBBABABAABBABAABBBABBABABABAAAAAAAAABABAABAAABBAAABAAAABABABBAABABBAABABAABABBAAAAAABAAAABAABBABABABABBBAAAABBAAAABAAAABBBBBBBBABABBABBAABBAABBBBBBABABAAAABBABABBBBBBBABAABBBBBBABABABABBABAABABBBBBBBAABBABABAABBBABBBAAABBABBBBBAAAAAAABBAAAAABAAABABBAABABAAABABBBBAABBABAAABABBABABBABABBAAAAABBBAAABBAABABBABABBBABBABBABBBBBBBAABBBAABAAAAAAABAABBAAAABABBAABABABAAABABBBABAABBBAABBAABBAAAABBBBBBBABBBAABABAAAAABAAABBBBBABBBBABBBBBABBBBABBBAABBBABABBBAABBBAABAABABABAAABABBBBBAABBBAAAABABAAAAAABBABAAAABABBBAABABBBBABBAABABBAAABBABAABABBBBAABAABBABBABAAAAABABBBBBABAAAABBAAABABBBBABABAAAAAABAAABAAAABBBBBAAAAABABABAAAABBAABBBABBABBABAABBBAABAABBAAABABAAAABAABBABABBABAAABBAAAABBBBBAAABAABBAABBBABBAAABABAAABBAABABABABBAAABAAAAAABBABAAABABBABABBAAABAAAAAABBABABBAAAAAABAABBBBABBABABBBAABAABABBBBBBABAAAAABABBBBBABABABBBAABAABBBBBBBABAAAAAAABBABAAAAAABAABAAABBAAAABBBABABABBBBAABBBAABABAAAAAABBBAAABABBBAAABBBAABBBAAABAAABBBAABAABBAAAABBAABABABBABBAABAAABAABBAABABBAAAABABAABAABBABAABBBBAABBBAAAABAABBBBBBBABBBAAABBAABAAABABBBBABABABABBABBBBBBABBABBABBBAAAAABBBABBBBAABABAABBAAABBBAABAAABBAABBABBABABAABAAAAABABABBAABBBABAABBBABABBBAAABBABBBABABBAABABBBAABABBABAABABBBAAABBAAAABBAAAAABBAABABBBABAABBAABAABABBBBABBABBBABAABBAABBBBAAAABBABBBAABBBBBBAABABBBBAABBABAAAAABAABABBAABAABABABABBBAABBBAABBBBABAAAABBABBABAABBABABBBABBAABAABBBBBBAABAABBABAAAAAAABABABBAAABABBABBBBAABBBAABAABBABAABBABABABAAABBBABABAABBBBAABABAAABABBBBBABBABBAABABABABAAABAABAABBAAABBABABAAAABBBABAAAAABBBABBBABAAAAAAAABAAABAABBAAAAABAABABBABBAAAAABBBBBBBABABBABBAABBBBAAABAABBAABBAABABBAABBBBBBBBAABABBBABABABABAAAABBABABBAAABBAABAABAABAABBBBAABBBBABBBBABBBAAABAABAABAABBABAAAAABABBBBBBBBBBBAABBBBBABAABBBBAAAABAABABBABABAABABBBBBBBAABABBBABABABBBBBAABBBBAABBABBBBABAAABBBBAABBBBAAAABBAABAABAAABBBBBABBABBBBBBAAAABABAABBAAAABABAAABAABBBABBAABABBABBBAAABBBABBBABBBAAAABBAABAAABAAABBAAAABAAABBBAAAAABABABBBAAABBAABAABBBABBBBABBAAAAAABBABBABBBBBAAAAABABABBABBABBAABBABBBAABABBBBBBBBABBBABBBBBBABBAABAAABBBABBBABABBAAAABABBBABBABBAAABABBAAABBAAAABBBAABABAABBBBBABABBAAAABBAABAAABABBAAAABBBBABBAABBBAABAAABABABBAABBBABABBBBBABAAAAAAABBAABBAABBAAAAABBAAABBAAABBAABABBBABABAABABAAABBBBBBABABBAABBABBBAABBAABBABBABAAABABBBBAAAABBBBAAAAAABABAAABBABBAAAABBBABAAAABBABABABBAAABABBABABBBBBABBAABABABBBABABABABBABBBBBBAAAABAABABAAAAAABBBBBAABBABBAAAAAABBBBABABBBABBABAAAAABBBBAABABABBAAABAAAABBAABAABBBBABBBBBBBABABAABBAAABBAABBBABBAAAABBBBAAABAAAAAABBBAABABABBBBBBBABBABBAABAABBBBBAABBBBBABAAAABBABABBAAAABBBAAAAABAAABABABBABAAAAAABABBAABAABBAABBBBBBABABBBABAAABAAABABABABBBBBAAAABBBAAAABBBBBBBABABAABBBAAABBBBAAAAABABAABBBBAAABAAAAABAAAAAABBAAABAAAAABAABAABAAAAABAAABABAAAAABBABBBBBAABABBAABAABABBABBAABAABBBAAABAAAAABBAABAABBBABABAAAAAABBBAABBBBAAABBAAAABABAABBABAABBABBBABBAABABBBAAABBABBABBAAAABBBABBBABBBBBAABBAAABBBAABABAAABBBBBABAAAABABBABABBAAABBBBBAABAABAAABBBBBABBAABABABBBBABAAAAABBBABAAABAAABBAAAABBAABBABBBABAAAAABAABAABBBBBBABBABBBAAABBAABBABBBAAABBBBBABABAAAABABBAAABBAABABBAABABBABBAABBBBBBBBBBBBBBABABAAAAAAABABBBAABAAAAABBAAAABABAAABBAAAABAABAABBBAAABBBBABABBBAABABBABABABABAAAAABBBBBABABBABBAABAAABBAAABBABABBBABBAABAABABBAABABBAABAABAAABBABBBBBBBAAAAABBAABABAABABABABBBAABBABABBBBAABBBBABABAABBABBBABBAABABBAAABBAAAAAAAABAABAAAABBBABABAABAAABAAABBABAABBBBAABBABBBBBABBBBAAAABBBBBBBABBBAABBBABBAAAABAAABBBBBBABBBBBABAABABABAABAAAAABAAAABAAABABABAAAABAAABBBBAABBAABABBAAABBABAAABBAABABAABBABBABABBABBAABBBBBAAAAABAABBAABABBBAAAABBABAABBBAABAABBAAABABAABBAAABBAAABABBABAAAABBABABBAAABBBBAABABBAAABBBBABAAABBBBBABABAABABBABAABAAABAABABBBBBAABBABAAAABABAAAABABAABAAABBBBBBBBBBBBABBABBABABBBBAABABAAAABABABAAAAABABBABBBABABABAAAABAABABAABABBAAAABAABBABABABBBABABABBBBBABAABAABBBBBAAAABABBABABAAAABBABABABABBAABBBBBABBBBBBAAABBAABBBABBAABBABBBAAAABABAAAABAAABABBBBABBAABABBAABBAAAABBBAAAABAABABAAAAABBABABBBAABBABABBBBABABBBBBABBAAAAAAABAAABBABAABBAABAAAABBBAAAABABBAABABABABABABABABABABBABAABBBAAAAAABBABBBABAAABAAAAABBBBBABAAAAABBBBAAABBBBBABABBBBABABAAAABABAABBBBBAAABBBBBAAAAAAAAABBAAABAAABAAAABBABBABAAAAABABBBABBAABBBBABABAABABABAAAAABBABBABBAABAABBBAABABBABAABAAABAABBAAAABAAAAAAAABBBBAABBBAABAABAAABBBABBABABAAABBAAAABABBBABBAAABBABABBBBBBABBABABBBABAABBBBBABABBAABABABABBAABBBBAABABBAAABBABABABBBBBBABBAABBAAAABBBABAABABBABAABBBABBAAABAAAAABABBBAABAAABAAABBABAABABBABBBABBBAAAAAAAABBABBABAABBABAABAAAABAABAAABBAABBAABBAABAAAABBBABABBBABBBBAABBBABAABBBBAAABBBBBABBABBABBBAAAAAABAABBABAAABBAAABABAABABAABABAAAABAABBBBAAAAAAABBBAABBAABAAABBBAABBBABAABBABBABBBBABABAABABBBABABBBBABBAABABABBBBBBBBBABABAAAAABAAAAAABBBAAABBAAAABAABBABBAAAABABBBABAABBABAABAAABBABBBAABABAAAAABABBBAABBBABBAAABABBBBBBAAABBAABBBBBABAABAAABAAAAABABAAAAAAAABBBABABBABBBABAABAABAAAAABAAABBBBBBBABBABAAAABBABBBABABAAAABBBBBABBABAAAABBBBBABBBBBAAABBABBBAAAAAABABABBBABAABBBBABBAAABBBBBAAAABAAABBABABBABABAAABABBBBBABAABABBABABBABABBAAAABBAAAAABBBBAABBABAAAABBBAABBABABABBABAABABBAAABAABBABAABBBAABABABBBABAABBBBAABABBABBBBBBAAAABABABBAAAAAABABBBAAAAAABABBABBBAABAABABBBAAAAABBBBAAABABBAABAABBBAABABABBBBAABAAABABBABAABBBAAABBBABAAABBBAAAAABABAAABBABBABBBBBAABBAAABAAAABAABAABBABBAAAABBAABAAABABBAAAAAABBBABBABBAAABAAABBABABBABBBBBBAAABAABBAAAABAABBABBBBABABBBAAABAAAAAABAABAAAAAAABBAABAAAABABBBBAABBBBAABABBBAABBABBBABBAAABABAABBAABBBAAABBAABABAABBABABBABBBAABBABBBBABAABAABABAAAABBAAAAABAABAAAAABABBAAAAABABAAAABBAABBAAAAAABBBBBABBBABABABAABAABBBABAABBABABABBBBABABAABBBABBBABBAAAAABAABBBAABABABABAABAABABAABABABAABAABAABAABBBAABBBBBABAAABBABAABABAABAABAAABBBBAABBBBBBABAAAABABBBAABABBBABBABAABAABBBBBBAAAAAAABBABBAAAABABBBABABABBABBBBABABABABBBAAAAABBAABABBBBAABBABAABAAABABBABABAABBBAABABBBBBBBBABBBAABAAABAAAABBAABBBBBBBABAABBBABBBAABBABABBBABABABABABAABAABABBAAAABBBBBBBBAAAABBAAAABBBBAAABBBABBBBBAABBBBBBAAABAAAABAABAABBABBBAAAAAABBABAAABBBBAAABABABBBAAABBABBBBBBBABBBBABAABABABAABAAABAABBBAAABAABAAABBAAAAAABABBAABABAAAABBAAAABAABBBABBBBBABABAABBBBBBBBBABAABAAABBBAAAAABAABAAABBABABBBBABBBBBABAABBABBBAABBBBAAAABBBBABBBABABBABBBAAAABAAAABBABAABABBBAAABBBAABAABABBBBBAABABABBABBABABAABBBBBAAABAABBABAAABABABBBBABBBAABAAAAAAAABBAAABBABABBABABBBBABBBABBAAAABAABABABAAAABABBAAAABBBAABAAAABBABAABBAABABBAAABBBBAAABABABBAAABBAAABBAABAABBBBAAABABBABBBBBABBBBBAAAABBBABBBBBAAABAABBBBAAABABABBAAABAAABBBAAAABBBAAAABBBBABBBAAABBBBABBBBAABBAAAABAAAAABBAAABBBBBAABBBAABBBBAABBBAABABBBABBBABBBAAABABAAAABABBAABAABAAAABABBBAAAABABABAAABBABABABBABBBBABBBBBBAAABBAABAABBAABAAABAABBABABBAAAAAAAABABBBBAABABAABBAAAAAAAAAABBBBBABAABAABABABBAAABBBABBABAAAAABBBBBBAAAABBABBAAAAABABBAABBABBBABAABABBBBAAABAABABABABABAAAAAABBAAAAABAABABBBABAAABBAABBBABBAAABABBABABBBBAABBBBBAABBBBBAABBBBBAAABBBBAABAABBABBBBBAAABBAABBBBBBAABBBAABABABABABBABABBABBBAAAABABBBABBABAABBBAABABBABBBBAAABABAAAABAABAABAABBBBABABBBBABBABBBABBAAABAAAABBBABABBAAAABABAABBABABBBABABAABBABBAAAAABAABBBBABABBBBABBBBABBABBABAABBAABABBBBBBABAABBABBABBABAABAABBBBBBAAAAABAAABBABAABAAABBBBBBAAAABBAAABBAAAAABAAAABBBABAAAABBABBBABBABABABAAABBAAABBBAABBABABBAABBBBABBBBABBABAAABBBBBABBBBBBBBAABAABAABBAAAAAAABBABABAABBABBBAAAABAABAABBBBBAABABBABBABBBBABBAABBBBBBBBBAABBBBBBBABBABABBBBABAABAABAAAABBBABAAAAAABBBBBBBBAAAAABBBABAABBBBABBAAABBBBAABBBBBBABAABBBABAABAAABBABBBBBBBCCCCCCCBBBBBBBAAAAAAABBBBBBBCCCCCCBBBBBBBAAAAAAABBBBBBBCCCCCBBBBBBBAAAAAAABBBBBBBCCCCBBBBBBBAAAAAAABBBBBBBCCCBBBBBBBAAAAAAABBBBBBBCCBBBBBBBAAAAAAABBBBBBBCBBBBBBBAAAAAAABBBBBBBBBBBBBBAAAAAAABBBBBBCCCCCCCBBBBBBAAAAAAABBBBBBCCCCCCBBBBBBAAAAAAABBBBBBCCCCCBBBBBBAAAAAAABBBBBBCCCCBBBBBBAAAAAAABBBBBBCCCBBBBBBAAAAAAABBBBBBCCBBBBBBAAAAAAABBBBBBCBBBBBBAAAAAAABBBBBBBBBBBBAAAAAAABBBBBCCCCCCCBBBBBAAAAAAABBBBBCCCCCCBBBBBAAAAAAABBBBBCCCCCBBBBBAAAAAAABBBBBCCCCBBBBBAAAAAAABBBBBCCCBBBBBAAAAAAABBBBBCCBBBBBAAAAAAABBBBBCBBBBBAAAAAAABBBBBBBBBBAAAAAAABBBBCCCCCCCBBBBAAAAAAABBBBCCCCCCBBBBAAAAAAABBBBCCCCCBBBBAAAAAAABBBBCCCCBBBBAAAAAAABBBBCCCBBBBAAAAAAABBBBCCBBBBAAAAAAABBBBCBBBBAAAAAAABBBBBBBBAAAAAAABBBCCCCCCCBBBAAAAAAABBBCCCCCCBBBAAAAAAABBBCCCCCBBBAAAAAAABBBCCCCBBBAAAAAAABBBCCCBBBAAAAAAABBBCCBBBAAAAAAABBBCBBBAAAAAAABBBBBBAAAAAAABBCCCCCCCBBAAAAAAABBCCCCCCBBAAAAAAABBCCCCCBBAAAAAAABBCCCCBBAAAAAAABBCCCBBAAAAAAABBCCBBAAAAAAABBCBBAAAAAAABBBBAAAAAAABCCCCCCCBAAAAAAABCCCCCCBAAAAAAABCCCCCBAAAAAAABCCCCBAAAAAAABCCCBAAAAAAABCCBAAAAAAABCBAAAAAAABBAAAAAAACCCCCCCAAAAAAACCCCCCAAAAAAACCCCCAAAAAAACCCCAAAAAAACCCAAAAAAACCAAAAAAACAAAAAAAAAAAAAABBBBBBBCCCCCCCBBBBBBBAAAAAABBBBBBBCCCCCCBBBBBBBAAAAAABBBBBBBCCCCCBBBBBBBAAAAAABBBBBBBCCCCBBBBBBBAAAAAABBBBBBBCCCBBBBBBBAAAAAABBBBBBBCCBBBBBBBAAAAAABBBBBBBCBBBBBBBAAAAAABBBBBBBBBBBBBBAAAAAABBBBBBCCCCCCCBBBBBBAAAAAABBBBBBCCCCCCBBBBBBAAAAAABBBBBBCCCCCBBBBBBAAAAAABBBBBBCCCCBBBBBBAAAAAABBBBBBCCCBBBBBBAAAAAABBBBBBCCBBBBBBAAAAAABBBBBBCBBBBBBAAAAAABBBBBBBBBBBBAAAAAABBBBBCCCCCCCBBBBBAAAAAABBBBBCCCCCCBBBBBAAAAAABBBBBCCCCCBBBBBAAAAAABBBBBCCCCBBBBBAAAAAABBBBBCCCBBBBBAAAAAABBBBBCCBBBBBAAAAAABBBBBCBBBBBAAAAAABBBBBBBBBBAAAAAABBBBCCCCCCCBBBBAAAAAABBBBCCCCCCBBBBAAAAAABBBBCCCCCBBBBAAAAAABBBBCCCCBBBBAAAAAABBBBCCCBBBBAAAAAABBBBCCBBBBAAAAAABBBBCBBBBAAAAAABBBBBBBBAAAAAABBBCCCCCCCBBBAAAAAABBBCCCCCCBBBAAAAAABBBCCCCCBBBAAAAAABBBCCCCBBBAAAAAABBBCCCBBBAAAAAABBBCCBBBAAAAAABBBCBBBAAAAAABBBBBBAAAAAABBCCCCCCCBBAAAAAABBCCCCCCBBAAAAAABBCCCCCBBAAAAAABBCCCCBBAAAAAABBCCCBBAAAAAABBCCBBAAAAAABBCBBAAAAAABBBBAAAAAABCCCCCCCBAAAAAABCCCCCCBAAAAAABCCCCCBAAAAAABCCCCBAAAAAABCCCBAAAAAABCCBAAAAAABCBAAAAAABBAAAAAACCCCCCCAAAAAACCCCCCAAAAAACCCCCAAAAAACCCCAAAAAACCCAAAAAACCAAAAAACAAAAAAAAAAAABBBBBBBCCCCCCCBBBBBBBAAAAABBBBBBBCCCCCCBBBBBBBAAAAABBBBBBBCCCCCBBBBBBBAAAAABBBBBBBCCCCBBBBBBBAAAAABBBBBBBCCCBBBBBBBAAAAABBBBBBBCCBBBBBBBAAAAABBBBBBBCBBBBBBBAAAAABBBBBBBBBBBBBBAAAAABBBBBBCCCCCCCBBBBBBAAAAABBBBBBCCCCCCBBBBBBAAAAABBBBBBCCCCCBBBBBBAAAAABBBBBBCCCCBBBBBBAAAAABBBBBBCCCBBBBBBAAAAABBBBBBCCBBBBBBAAAAABBBBBBCBBBBBBAAAAABBBBBBBBBBBBAAAAABBBBBCCCCCCCBBBBBAAAAABBBBBCCCCCCBBBBBAAAAABBBBBCCCCCBBBBBAAAAABBBBBCCCCBBBBBAAAAABBBBBCCCBBBBBAAAAABBBBBCCBBBBBAAAAABBBBBCBBBBBAAAAABBBBBBBBBBAAAAABBBBCCCCCCCBBBBAAAAABBBBCCCCCCBBBBAAAAABBBBCCCCCBBBBAAAAABBBBCCCCBBBBAAAAABBBBCCCBBBBAAAAABBBBCCBBBBAAAAABBBBCBBBBAAAAABBBBBBBBAAAAABBBCCCCCCCBBBAAAAABBBCCCCCCBBBAAAAABBBCCCCCBBBAAAAABBBCCCCBBBAAAAABBBCCCBBBAAAAABBBCCBBBAAAAABBBCBBBAAAAABBBBBBAAAAABBCCCCCCCBBAAAAABBCCCCCCBBAAAAABBCCCCCBBAAAAABBCCCCBBAAAAABBCCCBBAAAAABBCCBBAAAAABBCBBAAAAABBBBAAAAABCCCCCCCBAAAAABCCCCCCBAAAAABCCCCCBAAAAABCCCCBAAAAABCCCBAAAAABCCBAAAAABCBAAAAABBAAAAACCCCCCCAAAAACCCCCCAAAAACCCCCAAAAACCCCAAAAACCCAAAAACCAAAAACAAAAAAAAAABBBBBBBCCCCCCCBBBBBBBAAAABBBBBBBCCCCCCBBBBBBBAAAABBBBBBBCCCCCBBBBBBBAAAABBBBBBBCCCCBBBBBBBAAAABBBBBBBCCCBBBBBBBAAAABBBBBBBCCBBBBBBBAAAABBBBBBBCBBBBBBBAAAABBBBBBBBBBBBBBAAAABBBBBBCCCCCCCBBBBBBAAAABBBBBBCCCCCCBBBBBBAAAABBBBBBCCCCCBBBBBBAAAABBBBBBCCCCBBBBBBAAAABBBBBBCCCBBBBBBAAAABBBBBBCCBBBBBBAAAABBBBBBCBBBBBBAAAABBBBBBBBBBBBAAAABBBBBCCCCCCCBBBBBAAAABBBBBCCCCCCBBBBBAAAABBBBBCCCCCBBBBBAAAABBBBBCCCCBBBBBAAAABBBBBCCCBBBBBAAAABBBBBCCBBBBBAAAABBBBBCBBBBBAAAABBBBBBBBBBAAAABBBBCCCCCCCBBBBAAAABBBBCCCCCCBBBBAAAABBBBCCCCCBBBBAAAABBBBCCCCBBBBAAAABBBBCCCBBBBAAAABBBBCCBBBBAAAABBBBCBBBBAAAABBBBBBBBAAAABBBCCCCCCCBBBAAAABBBCCCCCCBBBAAAABBBCCCCCBBBAAAABBBCCCCBBBAAAABBBCCCBBBAAAABBBCCBBBAAAABBBCBBBAAAABBBBBBAAAABBCCCCCCCBBAAAABBCCCCCCBBAAAABBCCCCCBBAAAABBCCCCBBAAAABBCCCBBAAAABBCCBBAAAABBCBBAAAABBBBAAAABCCCCCCCBAAAABCCCCCCBAAAABCCCCCBAAAABCCCCBAAAABCCCBAAAABCCBAAAABCBAAAABBAAAACCCCCCCAAAACCCCCCAAAACCCCCAAAACCCCAAAACCCAAAACCAAAACAAAAAAAABBBBBBBCCCCCCCBBBBBBBAAABBBBBBBCCCCCCBBBBBBBAAABBBBBBBCCCCCBBBBBBBAAABBBBBBBCCCCBBBBBBBAAABBBBBBBCCCBBBBBBBAAABBBBBBBCCBBBBBBBAAABBBBBBBCBBBBBBBAAABBBBBBBBBBBBBBAAABBBBBBCCCCCCCBBBBBBAAABBBBBBCCCCCCBBBBBBAAABBBBBBCCCCCBBBBBBAAABBBBBBCCCCBBBBBBAAABBBBBBCCCBBBBBBAAABBBBBBCCBBBBBBAAABBBBBBCBBBBBBAAABBBBBBBBBBBBAAABBBBBCCCCCCCBBBBBAAABBBBBCCCCCCBBBBBAAABBBBBCCCCCBBBBBAAABBBBBCCCCBBBBBAAABBBBBCCCBBBBBAAABBBBBCCBBBBBAAABBBBBCBBBBBAAABBBBBBBBBBAAABBBBCCCCCCCBBBBAAABBBBCCCCCCBBBBAAABBBBCCCCCBBBBAAABBBBCCCCBBBBAAABBBBCCCBBBBAAABBBBCCBBBBAAABBBBCBBBBAAABBBBBBBBAAABBBCCCCCCCBBBAAABBBCCCCCCBBBAAABBBCCCCCBBBAAABBBCCCCBBBAAABBBCCCBBBAAABBBCCBBBAAABBBCBBBAAABBBBBBAAABBCCCCCCCBBAAABBCCCCCCBBAAABBCCCCCBBAAABBCCCCBBAAABBCCCBBAAABBCCBBAAABBCBBAAABBBBAAABCCCCCCCBAAABCCCCCCBAAABCCCCCBAAABCCCCBAAABCCCBAAABCCBAAABCBAAABBAAACCCCCCCAAACCCCCCAAACCCCCAAACCCCAAACCCAAACCAAACAAAAAABBBBBBBCCCCCCCBBBBBBBAABBBBBBBCCCCCCBBBBBBBAABBBBBBBCCCCCBBBBBBBAABBBBBBBCCCCBBBBBBBAABBBBBBBCCCBBBBBBBAABBBBBBBCCBBBBBBBAABBBBBBBCBBBBBBBAABBBBBBBBBBBBBBAABBBBBBCCCCCCCBBBBBBAABBBBBBCCCCCCBBBBBBAABBBBBBCCCCCBBBBBBAABBBBBBCCCCBBBBBBAABBBBBBCCCBBBBBBAABBBBBBCCBBBBBBAABBBBBBCBBBBBBAABBBBBBBBBBBBAABBBBBCCCCCCCBBBBBAABBBBBCCCCCCBBBBBAABBBBBCCCCCBBBBBAABBBBBCCCCBBBBBAABBBBBCCCBBBBBAABBBBBCCBBBBBAABBBBBCBBBBBAABBBBBBBBBBAABBBBCCCCCCCBBBBAABBBBCCCCCCBBBBAABBBBCCCCCBBBBAABBBBCCCCBBBBAABBBBCCCBBBBAABBBBCCBBBBAABBBBCBBBBAABBBBBBBBAABBBCCCCCCCBBBAABBBCCCCCCBBBAABBBCCCCCBBBAABBBCCCCBBBAABBBCCCBBBAABBBCCBBBAABBBCBBBAABBBBBBAABBCCCCCCCBBAABBCCCCCCBBAABBCCCCCBBAABBCCCCBBAABBCCCBBAABBCCBBAABBCBBAABBBBAABCCCCCCCBAABCCCCCCBAABCCCCCBAABCCCCBAABCCCBAABCCBAABCBAABBAACCCCCCCAACCCCCCAACCCCCAACCCCAACCCAACCAACAAAABBBBBBBCCCCCCCBBBBBBBABBBBBBBCCCCCCBBBBBBBABBBBBBBCCCCCBBBBBBBABBBBBBBCCCCBBBBBBBABBBBBBBCCCBBBBBBBABBBBBBBCCBBBBBBBABBBBBBBCBBBBBBBABBBBBBBBBBBBBBABBBBBBCCCCCCCBBBBBBABBBBBBCCCCCCBBBBBBABBBBBBCCCCCBBBBBBABBBBBBCCCCBBBBBBABBBBBBCCCBBBBBBABBBBBBCCBBBBBBABBBBBBCBBBBBBABBBBBBBBBBBBABBBBBCCCCCCCBBBBBABBBBBCCCCCCBBBBBABBBBBCCCCCBBBBBABBBBBCCCCBBBBBABBBBBCCCBBBBBABBBBBCCBBBBBABBBBBCBBBBBABBBBBBBBBBABBBBCCCCCCCBBBBABBBBCCCCCCBBBBABBBBCCCCCBBBBABBBBCCCCBBBBABBBBCCCBBBBABBBBCCBBBBABBBBCBBBBABBBBBBBBABBBCCCCCCCBBBABBBCCCCCCBBBABBBCCCCCBBBABBBCCCCBBBABBBCCCBBBABBBCCBBBABBBCBBBABBBBBBABBCCCCCCCBBABBCCCCCCBBABBCCCCCBBABBCCCCBBABBCCCBBABBCCBBABBCBBABBBBABCCCCCCCBABCCCCCCBABCCCCCBABCCCCBABCCCBABCCBABCBABBACCCCCCCACCCCCCACCCCCACCCCACCCACCACAABBBBBBBCCCCCCCBBBBBBBBBBBBBBCCCCCCBBBBBBBBBBBBBBCCCCCBBBBBBBBBBBBBBCCCCBBBBBBBBBBBBBBCCCBBBBBBBBBBBBBBCCBBBBBBBBBBBBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCBBBBBBBBBBBBCCCCCCBBBBBBBBBBBBCCCCCBBBBBBBBBBBBCCCCBBBBBBBBBBBBCCCBBBBBBBBBBBBCCBBBBBBBBBBBBCBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCBBBBBBBBBBCCCCCCBBBBBBBBBBCCCCCBBBBBBBBBBCCCCBBBBBBBBBBCCCBBBBBBBBBBCCBBBBBBBBBBCBBBBBBBBBBBBBBBBBBBCCCCCCCBBBBBBBBCCCCCCBBBBBBBBCCCCCBBBBBBBBCCCCBBBBBBBBCCCBBBBBBBBCCBBBBBBBBCBBBBBBBBBBBBBBBCCCCCCCBBBBBBCCCCCCBBBBBBCCCCCBBBBBBCCCCBBBBBBCCCBBBBBBCCBBBBBBCBBBBBBBBBBBCCCCCCCBBBBCCCCCCBBBBCCCCCBBBBCCCCBBBBCCCBBBBCCBBBBCBBBBBBBCCCCCCCBBCCCCCCBBCCCCCBBCCCCBBCCCBBCCBBCBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCBAABBBBBBBAAAAABBAAABABAAABBABABAABBABBBBBABBBBBBBBABABABAAAABABBABBBBBBABAAABABBAAABABBAAABBAABAAABBBAABAABBBBBBBAAABBBAABAAABABAABBBBBAABAAAABAABAAABBBBAABBBAAABABBBABBABABAABBABBBBAABBAABABBABABABBBBBABBABAAAAAABABABBBBBBBABABBBBAABAAAABAABABAABABABABAAABABABAAAABBBAABBBBBBBBABAAAABAABAABAABAAAAABBBBABBAAABBBABBBAABBABAAABBBBABAABAABAABAAABABBABABBAABAABABBAAABBBBBABABBBABAAABABABABBABABBBBBABABBBABBBAAAAABBABAAAABAAABABAABBBABBABAABABBBABBBAAAAAAABAAABBBBBBBBABABABABBBBAABBAAABBBABBABABAAAABABABAAAABBAAABBABAAAABABBBBAAAAAAAABAABBABBABBAAABAABBABBABBABABBBBBBBBBBAABBAABABAABBABABBBAABAAAABBBBAABABBBAAAAABBABBAAABABABBBBAAAAAAABABBBAAABBABBBBAABBABBAABBBAAAABBBBBABBBBBABAABAAABBAABBAAAAABABBBABBBAABAABBABABABBBABBAABABAABABBBAAABBBBBBBBABAAABAABAAAAABABAABABAAAAAABAAAABBBBABABAAAABABBBABBAAAAABBBBBBAAAAAABABBABBAABAAABABBAABAABBAAABBAABBBBBBAABAAAABBBBBBABAABABABBABAABABBABAAAAABAABABAABABABAAAABAABBAAABAABBBBAABBBAABAABBABABBAABBAAABABBBBAABAAABAAAABABABAABAABAABBBABABAAAAABBAABBBBABABBABBBABABAABBBBABAAAABAABBABABAABBAABBAABABBAABBABBABABABBBBABBBBBBBAAABAABBBAAABAAABABAAABBBABABABBBBAAAAABAAAAABBBABABABBBABABAAABBABABABABBABBBAABBBBBABAAABBABAAAABBBAAAABAABABBBAABBBAABBBABBBBBBBBAABABAABBAABAABABBBBBBBBBAABAAAABABAABBBBABBAAAAABBABABAABBAAABBBAAAABABABBBBAAAABBBBBAABABBABBBABAAABABAABBAABBBBBABBBBAAABBBABAAAAABABBBABBBABAABBBBAAABBAAABBBAABAABAABABAAAABBABBAABABAABBBBBAABBABBABAABBABABABABAABABBAAAABBBABAAABBBAAABBBAAABBBABABABAABAAABAABBBBBBABABBAAABABAAAAAAAABBAABBBBBABABBABBBBABBBBAAABABBABAABABAAABBABABAABBABBABBABBAABBAAABBAABBBBBBBBBBBBABABBBBABBBBBBBABBBAAABBABABABABBAAAABAABBABAAABAAABBBBBBBBABBBAAAABABBAAAAAAABABAAAABABBBABBBABBAAABBBBBBBBABABAABBABBAAABAABBABABABBBBAABABBBBAAAABABABBAABBAABBBBAABBBABBBBAABAAABABABBBAAABABBAAABABAAAAABBAAABAAAAABAABABABBABBAABBBBAABBAAAABBBAAAABBBAAAAABBAABABABABBABBABAAABBAAABBBBBBBAABAAABAAABABBABAAAABBBBABAABAAABBABBABAABBABAABABABABBBBABBBABABBBBAAAABAAAAAABBBABBBBBBBABBBABBBBABABBAAAABAABAABBBAAAAABABBBABBAABBABBAABABBBBBAABBBBAAABBBABAABAABAABABAAAAAAABAAABBBABBBAABBAABABBABABABABBBBABAABAAAAAAAABBBBBBBBABBBBBABAAABBBBAABBBBAABAABABABABABBBAABBAABAABABBBBBABBBAABBABABBBBAAABBBABABBBBABAABAABBBAABBABAAABAAAABAAAABBBABBABBABBBABBABBABBABABABAAABBAAAAAAAABBAAAAAABBABBAAAAABABABBAABAABBBBBABAABAABBAABBBBABABAABAAABBBBABAABABBBBBBBABAAAAABAAAABABBABAAAABAABBBBBBAAAABABABABBAAAAABAABABAABAABABBBBBBAABABAAABAAABBBBAABAABAABBBAABAAABABABAABBBBBBABAABAAABBBAAAAABBBAAABBBAAABAAABBBBABABAABAABBAABABBAABABAABBBABBAABAAAABBABABBAABAABABBBBBBAABBABBABBAABBBABAABAABBABBAABAABBBBABAABAAAABBAAAABBAABAAAABBAAAABAABBABBBBABBBBBBBBBAAAABAABBABBAAAAAABBAAAABABAAABABBABBBABBABABAABBAAABABBBAABAABBABABBBAAABABBAAABAAABABAAABBABBAABABBAABBBBBABAAABAAAAAAABAAABBBBBBBABBBBBBBBBABBBAAAABBBBAABAAAABAABAAAABABBBAABAAABBBBBBAAAAAAABBBABBABBAAAABABABBAAAAABBBABBAAAABAABBABBAAAAAAAAABBBBAABBBBAAAABBABAABBBBAAAAABBBBABBBAABBABBABABBBAABBBBBABBAAAAABBBBAABBABAAABAABABABBABBBBBBAABABBBBAAABAABBBBAABAAABAAAABABBBAABBBABBBBBBBAAAAABBBAABBBBAABAAABAABABBAABBBBBABBBBABBBAABBABBBBAABBBBBBAAABBAAAABBBABBAABBABBBBBBAAAABAAABAAABABBBABAAAAAABBBBBBABBBBBBABAABAAABAAABAABAABBBABABBBBBABABBABBBBBAAAAABABABBAABBAABAAAAABBABBBBABBABAABBBBBBBBABAABABAAABAABBABAAAAAAAABBBABAAABAABABABAABAABBAABABBAABABBAABBBABBBBABBABBAABBABBBABBABABAAAAAAABBAAAAABAAAABBBBAABABBABBAAAABAAABBABABAAAABBBAABBBAAABAAAABBBABABAABABBBBAAAABBABBBABAABBAAAABABBABABAAABBBBBABABBAAAABBBAAAABABBABAAABBBBBABAAAABABBAABBBBABABABBAAAAABABAABAAAABAAAABBAAAAAAAABBAABBAAABBAABBABBABABBBBBBBABABBBBABBABBBABBBAABAAABBAAAAAAABABABAABABBBAAAABBBABBABBABBBAAABABAABAAABAABABBAABAABBBAAAAAAABBABBBABBABABAABABAAAAABABBBABAAAAAAAAAAAABAAAAABBAAAABAAABBABBBBBABAAAABBAAAAABABABBBABBABABBABABBABABAABBABBAAAAABBAABABABBBBAABABBBAABAAAAABAAABBBBABBAAAABAABAABAAAABABBAAABBBABBABBBABBABBAABABABAAAAABAABBBABBABAAAAAAAABBAABABABBABBAABBBBBAABAAAABAAAAAAABBBAAAABBAAAABBABAABBBAAAABBAABBBABBBABBAABBABBBBBBBBABBBBAAAABABABBABABBBBABABABABBBBAABBABABBAABBBBBBABBABAABABABABAAABABBBAABABABABAABAABABBBBBAAABAAAAABAAABABABABBBBBBBBBABABBABBAAAAAABABBAABBABABBABBBAABAABBBABABBBBAAABAABAABBABBBABBBBBBBBABAAABBBBAABAABBAAABAABAABBABBBBBBBBAABABABABABABBABBABABBAAABBBBBBBBBABBAAAAAAABAAAABAAABABBABAABBAABBAABBBBBBBBBBAAABAABAAAAAAAABABBAABAABBAABBBBBBBAAAABABAAAAABBBBABAAABAABBBBBBBAAAABBBAAABAABBAABABABBABAABAAABAABABBAAABBBABABABBABAAABBBAAABABBAAAABBBAAAAABBBBBBAAABBAAAAAAABABBBBBBBBBBAABABAAAAABABAAABABBBAAAABBAAABBAABABAAABAABBBBBBAAABBBBBAABBAABABABBBBABBAAABAABABBABAABAABABAAAAABAABBBBBABABBAAAABBBABBBBBBAABBAAAABAABABAAAAAAAAAABAABAABABBBBAAAAAAABBAABABABABBAABBABBABAAAAAABABBBBABBAAABBBBABBBBABBAAAAAAABBABBABAAAAAAAAAAABABBBBABBBBABBABBAABBBBBAAABAABBAABAABBBABABBAAABABABBAABBAABBBBBBBABAABAABBAABBBAABBABABABBBAABBBAABBBBBABBBAAAAABAAABAABABBBBABAAABAABABAABABBBBBBBBAAAABBBBAABABBABAABABBBAABBABBBBABABBBBBBABABAABAAABAAABAAABABAAABAAABAABAABBABBBABABABBBBBBBABBBABAAABBABABBBAABAABABBBAABAAABABBBAAAAABAABABBAABABBABBBABBBAAAABAAAAAAAABBBBBAAAAABABBBAABABBABBABAABAAAABBBABBBBAABABBABBBBBAAABBABBABBBAABBAABBBABBBAABBBBBBAABBBBABAAABABABBBBABBABBABBAABAABABBBABABBBBBABBABAABABBBABAABABBBAAABBAAAAAAAABAABBBAABBABABAAAAAAABAABBABAAAABABAAAABBABAAABBAAAABBBAABAABBAAABAAABBABABBBAABAAAAABAABBBBABABBAAAAABAABAABABABAABAAABBAABAAABBBAAAAABBAAAABAABAAAAABBBBAAAAABAAABAAABBBAABAAABBBABABBBABBABBABBABBBBAAAAABAAAAABBBBBBABBABAABBBBABBAAAAABABBAABAAABBBBBBAAABBBBAABBBABABBABABAABBBBABBBBBAAABAAAAAAAABBBBBBABBAABABBABABBBABBBBBBABAAAAABABABBBBAAAABBBAAABBABABBBBAAAABAABABABABBBBABBABAABBAABABABAABBABABAABBAABBAABAABABBBBABBBABBBABAABBABABAABAAABBBBABAABAABABBAABBBABBABABABABABBAABBAAAAAABABBBABBBBBAABABBAABBBBBBBBAAABABBABAABBAABABABABABBBBAAABAABAAABBABAAABBAABAABBABAAABAAABBBAAABABBAABBAABBAAAAAABABAAABABABBABAAABBBBABAAABABABABBAABBAAAABAAABABBBBBBABAAABBABABAAABBABBABAAAABBABAAAAABBAAABABBABBAAABABABABBAAABAAABABAAAAABABAABBAABABBBAAAAABBBBABABABAABBBBAABBBBABAABABBBBBBABAAAABBAABBABABAABBBABBAABBBABBABBBBBAAABAAABBBAABBBBBBBBBBBBBABABBAAAABAABBBBABAABABAABBBABBBAABBABABABBAAABBABAABBABBABBBABAABABBAAABBAABBABABBBBBBBBABBBAAABABAAAAABAAAABABAABABBBABABBBBBABBBBABAABAABABAAAABBAABABAAABBABBABAABBAAAAABBBBBBBABBABBABAABBBAABABBABBAAAAABABBBABAABABAABAABABBAABBABBBAABAABBABABABBABABAAAAABBBAAABBAAAAAABBBAAAABBBBABBAAAAAAABBBBABABAABAABBABBAAAAABAABBAAAABBAAABABBBABAABABBAABBBABBAAAAABABBBABABBAAAAAABBAABBAABBABABBABBBBBABBBABBBABBBBABBBAAAAAAABAABBBABBBAABABBBBAABBAAAAAABBAAABBBBBBBBBAAAAABBABABBABAABBABBBAAABABABBBABAAAABABABABBBBABBBABBBAAABBAABBABBBABABAABABBAAABBBBBAABBAABBABABBBAAAABABAABBBBAAAAAAAAAAAABBABBBBAAAABAABAABABBBABABBBAABBAABABBABAABBBABBBAABBBABBAABABBBABABBABBBAAABBBBBAAABABAABABBABABBBBAABABAABAABABAABBBBAAAAABAAABBBBAAABABBABBBBAABAABAAABBBABAAAABBBBAAAABAAAAABAABBABABAAABAABBBBAABBABAABAAAABABBAAAAAABAAABBBAAABAAAABBABBBAAABAABAABBABBAAABBABBAAAABABAABAAAAABABBAAABBBABAABAABAABABBBAABABBAAAABABAABBABBBABBABABBBBAABAAAABABAABBABABABABABBAAABBBBABAABBABBABABBBABBBBBBBAABABABBAAAABBABAAAAABBBAAABBBAAABBBBAABBABBBAABABBBAABBBBBABAABBABBBBBABAABABAAABBBBAAABBBBBBAABAAABBBABABAABBBABABBABABAAABBBBBABABBAABBABBBABBBBAAABAAAABABBBABBBBBBBAABBABBBBBABBBBBBAAABBABABBABAABABAABBAAAABBBBAABBAAAABBAAAABAABBAAABBAAAABBAABBABBAABBBBAABBBBBBBBBABBAAAABBBBAABBABBBABBABBAAAABBBBABABBBBBBABABBABBABBBABBBBABAABAABBBABBABAABAAAAAABBBABAABAABAABBABABAABAAAABAAABBBBAAABAABAAABAABBAAAABBBBAABBAAAAABBABBBABBAAABABBBAAAAABAAABABAABABBBABABBBAAABAABBABBBABAAABABBBBBABABAAABBABBBBABABBAABAABABBAABBAAABBBBBAABBABABBBABBBBBABBAABAAABAABABBABBBABAABBABBABABABAABABABBAAAAABBAABAAAAAAAAAABABBBBAAABABBAAABABAAAABBBBABBAAAABABABBBABBABAABBAABBBABBABBBBBBABBBBBABAAAABBAABAAAAAABAABAABAAABBBABBAAAAAABBAABAAAAABAAAABBAABBBBBBBAAAAAAABAAABBABBBAABAABAAAABBABBBABBAABABBAABBBAABBABABBAABAABBABBAABABABABAABBAABBAAABBAAABBABBABAABBBABBAABABBABBBBABBABAAABAABABAABAAAAAABBAABBAABBAAAAAABABAAAABABAAABABBAABAAAABBBABABBABBBAAAABABAAAABAAABBBBAABABBAAAAAAABABABBABBABABBABBAABABBBBAABABABBBAAAABBAAAAAABABBABAABBBAAAAABAABBABABBAAABBBABBBABAABABBBBBABBABBBBAABABAABBAABABABABBABBAABBABAABBBBBBAAABBAABAAAABAABBAABABABAABABAABAAAAABBBABAAAABBBAABAAABBBBAABAAABAAAAABAAAABABAABAABABBABBBABBABAAABBBABABAABABAABABABABAABBAABBBBAABBBAAABABBBABBAAAAAABAABBAAABBAAAAABAABBAAABBBAABABBABBABBBABABBBABBBBABAABBBABAAABAABBABAAABABBBABBBBABAAAABAAAAABAAAABABBABABBBBABBBBABABBBBABAAABBAABBAABBABBBABABBBBABBBBBAAABBABBABAABBABAAAABBAAAABBAABABAABBBBAABBBABBBABABABABAAAAAAABABABBABBBAAABABAAAAABAABBABAAAAAAABAAAABBAABAAAAAAAABAAAABAAAAAABAAABAAABAABBBBBBABBABAABABABBABBABAABABABAABABABAABBBBBAABBAABABBABBABBBBBABAAAAAABBAABABABBABBBBBABABBABAABBABABBBBBBBAABBBABAAAAABBABBAABABABBBABABAABBABAAABBBABAAAAABAAAAABAABBABBBAAAAABAABABBBBAABABABBABAAAABABBABAAABAABAABAABBAAAABABAAAAAAAAABBAABAABAABAAAAAAAABBABAAAABBBBABBBBBAAAAAAABAAABAABBABABBAABAAAABAABBBAAABBAAABAABBBBABAAABBAAABBBBBBBBABABABAABAABBAAABAAABABABBAAAAAAAAAAAABBBAAABBBBAAABBAAABBABABBBAAAAAABAABBBBABAABAAABBAAABAAABBAABABBBBABBABAAAAABBABBBBABAAAABBBBAAABBBBBABAABABAAABBBABAAABBABAABABABBAABBAABAAABABABAAABABBAABABBAAAAABAABBAAAABABAABABBBBBBAAABBAABABBAABABBBABBBBBABAABBABAAAABBBABAAAAAAABAAAAAAAAABBBAABBABBBAAAAABBAABBBABBABAABAABAAABAAABBABAAABBBABAABBAAAABBABAABAABBBBBBABBBBAABABABABAAAAAAAAAAABABBBABABABBABBBAABABBAABAABBAAAABABAAAABABBAAABAAAAAAABBBABAABAAABAAAAAAABBABBBAAAAABBABABBAABAAABAAABABBBAABBABBBAAAAAAABBABAAAABABAABABBBBAABABABBABBAAABAAAABAABABBAAAAAAABBABBBBABBAABBBAAAAAABBBBABBBBAAABBABABBBABAAABBBAAAAAAAAAABBBAABBAABABAABABBBABAAABAABAAAABBBAAABBBABBAAAAAABAAABABAABBABAAAAAAABBABAAABABAAABBABAAAABABAABBAABABAABBABAAAABAABBABBBBBBBBBABBBBBBABBAABABAABBBAABABABABBAAAABAAAAABBAAAAABABBBBBABABBBAAABAAABBBBBBABBBBAABBAABAABABBABBAABBBAABABBABABBAAABBBBAABABBBBBABBAABABABBBABBBBBABBBBAAAABAAABBAAAABBBBABABABAAAAAABBBBABBBBAABBABBBAABBBBAAABABABBABBABABABAAAABAABAAABAABAAAABAAABABABABABBABABAAABABBAAABABBAABABAAAABBBABBABAAAABBBBBBBABABAABBABBAABABABBBABBBBBAAABAABBBBBBBBABABBBBBAABBBAAAABAAAABABABBAAAAAAABABABBABBABABABBBBBBAAABBBBAABBBABBABBBA
出力例 2
7849362028247