AT_abc456_c [ABC456C] Not Adjacent

Description

`a`, `b`, `c` からなる文字列 $ S $ が与えられます。 $ S $ の空でない**部分文字列**であって、同じ文字が隣り合わないものの個数を $ 998244353 $ で割った余りを求めてください。 ただし、 $ 2 $ つの部分文字列が文字列として一致しても、取り出す位置が異なるならば区別するものとします。 部分文字列とは $ S $ の**部分文字列**とは、 $ S $ の先頭から $ 0 $ 文字以上、末尾から $ 0 $ 文字以上削除して得られる文字列のことをいいます。 例えば、`ab` は `abc` の部分文字列ですが、`ac` は `abc` の部分文字列ではありません。

Input Format

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

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 同じ文字が隣合わない部分文字列は以下の $ 6 $ 個です。 - `a` ( $ S $ の $ 1 $ 文字目から $ 1 $ 文字目まで) - `b` ( $ S $ の $ 2 $ 文字目から $ 2 $ 文字目まで) - `b` ( $ S $ の $ 3 $ 文字目から $ 3 $ 文字目まで) - `c` ( $ S $ の $ 4 $ 文字目から $ 4 $ 文字目まで) - `ab` ( $ S $ の $ 1 $ 文字目から $ 2 $ 文字目まで) - `bc` ( $ S $ の $ 3 $ 文字目から $ 4 $ 文字目まで) $ 2 $ 番目と $ 3 $ 番目のもののように、文字列として一致しても、取り出す位置が異なるならば区別することに注意してください。 ### Constraints - $ S $ は `a`, `b`, `c` からなる長さ $ 1 $ 以上 $ 3 \times 10^5 $ 以下の文字列