K - kitaku 2
Flavor
2
s
1024
MB
600
点
問題文
英小文字からなる文字列 $S$ が与えられます。 $S$ に対して以下の操作を任意の回数行ったとき、操作後の文字列としてあり得るものの種類数を $998244353$ で割った余りを求めてください。
- $S$ に含まれる連続するとは限らない部分文字列
ki
を $1$ つ選び、以下のいずれかを行うk
をO
(大文字) に置き換え、i
を削除するi
をO
(大文字) に置き換え、k
を削除する
ただし、操作の方法が異なっていても操作後の文字列が同じ場合は $1$ 種類と数えます。(ただし、o
(小文字)と O
(大文字) は区別されます)
連続するとは限らない部分文字列の定義については J: kitaku を参照してください。
制約
- $S$ は英小文字からなる文字列
- $1\le|S|\le1000$
入力
入力は以下の形式で標準入力から与えられる。
$S$
出力
答えを $1$ 行で出力せよ。
入力例 1
kinki
出力例 1
6
任意の回数の操作で、kinki
, kinO
, inkO
, Oink
, Onki
, OnO
を得ることができます。
操作は1回も行わなくても構いません。
入力例 2
kkioii
出力例 2
13
入力例 3
kankeinaikinisurunayarudake
出力例 3
121
入力例 4
sakkiikinoiikakiwoikkinikakikondeukiukikibunmouikkaikuitaina
出力例 4
401422434