AT_abc299_f [ABC299F] Square Subsequence

Description

[problemUrl]: https://atcoder.jp/contests/abc299/tasks/abc299_f 英小文字のみからなる文字列 $ S $ が与えられます。 下記の条件を満たす空でない文字列 $ T $ の個数を $ 998244353 $ で割ったあまりを出力してください。 > $ T $ を $ 2 $ つ連結して得られる文字列 $ TT $ が、$ S $ に(連続とは限らない)部分列として含まれる。

Input Format

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

Output Format

答えを出力せよ。

Explanation/Hint

### 制約 - $ S $ は英小文字のみからなる長さ $ 1 $ 以上 $ 100 $ 以下の文字列 ### Sample Explanation 1 問題文中の条件を満たす文字列 $ T $ は、`a` 、`aa` 、`ab` 、`aba` 、`b` 、`ba` 、`bab` 、`bb` の $ 8 $ 個です。 ### Sample Explanation 2 問題文中の条件を満たす文字列 $ T $ は、`z` のみです。 $ S\ =\ S_1S_2S_3\ = $ `zzz` から、文字列 `zz` を部分列として得る方法は、 $ S_1S_2\ = $ `zz` 、$ S_1S_3\ = $ `zz` 、$ S_2S_3\ = $ `zz` の $ 3 $ 通りありますが、文字列 `z` は答えに $ 1 $ 回だけ寄与することに注意してください。