#abc299f. [abc299_f]Square Subsequence

[abc299_f]Square Subsequence

問題文

英小文字のみからなる文字列 SS が与えられます。 下記の条件を満たす空でない文字列 TT の個数を 998244353998244353 で割ったあまりを出力してください。

TT22 つ連結して得られる文字列 TTTT が、SS に(連続とは限らない)部分列として含まれる。

制約

  • SS は英小文字のみからなる長さ 11 以上 100100 以下の文字列

入力

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

SS

出力

答えを出力せよ。


入力例 1

ababbaba

出力例 1

8

問題文中の条件を満たす文字列 TT は、aaaabababbababbb88 個です。


入力例 2

zzz

出力例 2

1

問題文中の条件を満たす文字列 TT は、z のみです。 S=S1S2S3=S = S_1S_2S_3 = zzz から、文字列 zz を部分列として得る方法は、 S1S2=S_1S_2 = zzS1S3=S_1S_3 = zzS2S3=S_2S_3 = zz33 通りありますが、文字列 z は答えに 11 回だけ寄与することに注意してください。


入力例 3

ppppqqppqqqpqpqppqpqqqqpppqppq

出力例 3

580