競プロキャンプ2026関東
コンテスト日時
2026/06/07 (Su) 09:15 - 11:15

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
提出
C++23 (g++ 12.2.0)