'U', 'M', 'G' の三種類の文字からなる文字列 T に対し、1, 2, ..., |T| 文字目をそれぞれ T_1, T_2, ..., T_{|T|} と表すことにしたとき、以下の条件を満たす (i, j, k) の組の個数を、文字列 T の “UMG 数”と呼ぶことにします:
さて、'U', 'M', 'G', '?' の四種類の文字からなる文字列 S が与えられます。S の '?' をそれぞれ 'U', 'M', 'G' のいずれかに置き換えてできる文字列は、'?' の個数を N として 3^{N} 通り考えられますが、それぞれの文字列の UMG 数について総和をとったものを 998244353 で割ったあまりを求めてください。
S
答えを表す整数を一行に出力してください。998244353 で割ったあまりを出力することに注意してください。
?MG?
3
最初の '?' が 'U' でない場合には UMG 数は 0 になります。最初の '?' を 'U' としたとき、
UMGU
の UMG 数は 1UMGM
の UMG 数は 1UMGG
の UMG 数は 1となり、合計値は 3 になります。
UUMMGGGUMG
4
?????G????U???M??????G?????M????G???U??????M???G??
648330088
998244353 で割ったあまりを答えてください。