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