atcoder#AGC026C. [AGC026C] String Coloring

[AGC026C] String Coloring

配点 : 600600

問題文

長さ 2N2N の,英小文字のみからなる文字列 SS が与えられます。

SS の各文字を赤色か青色かに塗り分ける方法は 22N2^{2N} 通りありますが,このうち以下の条件を満たす塗り分け方は何通りですか?

  • 赤色に塗られた文字を左から右に読んだ文字列と,青色に塗られた文字を右から左に読んだ文字列が一致する

制約

  • 1N181 \leq N \leq 18
  • SS の長さは 2N2N である
  • SS は英小文字のみからなる

入力

入力は以下の形式で標準入力から与えられる。

NN

SS

出力

条件を満たす塗り分け方の個数を出力せよ。

4
cabaacba
4

以下の 44 通りの塗り分け方が存在します。

  • cabaacba
  • cabaacba
  • cabaacba
  • cabaacba
11
mippiisssisssiipsspiim
504
4
abcdefgh
0
18
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
9075135300

答えは32bit整数型で表せないこともあります。