#agc046d. [agc046_d]Secret Passage

[agc046_d]Secret Passage

問題文

01 のみからなる文字列 SS が与えられます。以下の操作を 00 回以上任意の回数繰り返してできる可能性のある文字列の個数を 998244353998244353 で割った余りを求めてください。

  • SS の先頭 22 文字を取り除き、そのうち片方を捨て、もう片方を SS の任意の位置に挿入する。この操作は、SS22 文字以上からなるときのみ実行できる。

制約

  • 1leqSleq3001 \\leq |S| \\leq 300
  • SS01 のみからなる

入力

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

SS

出力

操作を 00 回以上任意の回数繰り返してできる可能性のある文字列の個数を 998244353998244353 で割った余りを出力せよ。


入力例 1

0001

出力例 1

8

0001, 001, 010, 00, 01, 10, 0, 188 つが条件を満たします。


入力例 2

110001

出力例 2

24

入力例 3

11101111011111000000000110000001111100011111000000001111111110000000111111111

出力例 3

697354558