#abc298d. [abc298_d]Writing a Numeral

[abc298_d]Writing a Numeral

問題文

文字列 SS があり、初め S=S= 1 です。
以下の形式のクエリが QQ 個与えられるので順に処理してください。

  • 1 x : SS の末尾に数字 xx を追加する
  • 2 : SS の先頭の数字を削除する
  • 3 : SS を十進数表記の数とみなした値を 998244353998244353 で割った余りを出力する

制約

  • 1leqQleq6times1051 \\leq Q \\leq 6 \\times 10^5
  • 11 番目の形式のクエリについて、xin1,2,3,4,5,6,7,8,9x \\in \\{1,2,3,4,5,6,7,8,9\\}
  • 22 番目の形式のクエリは SS22 文字以上の時にのみ与えられる
  • 33 番目の形式のクエリが 11 個以上存在する

入力

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

QQ mathrmquery1\\mathrm{query}_1 vdots\\vdots mathrmqueryQ\\mathrm{query}_Q

ただし mathrmqueryi\\mathrm{query}_iii 番目のクエリを表し、以下のいずれかの形式である。

11 xx 22 33

出力

33 番目の形式のクエリの個数を qq として、qq 行出力せよ。ii (1leqileqq)(1 \\leq i \\leq q) 行目には ii 番目の 33 番目の形式のクエリに対する出力をせよ。


入力例 1

3
3
1 2
3

出力例 1

1
12

11 番目のクエリにおいて、SS1 なので ( 11998244353998244353 で割った余りに等しい) 11 を出力します。
22 番目のクエリにおいて、SS12 になります。
33 番目のクエリにおいて、SS12 なので ( 1212998244353998244353 で割った余りに等しい) 1212 を出力します。


入力例 2

3
1 5
2
3

出力例 2

5

入力例 3

11
1 9
1 9
1 8
1 2
1 4
1 4
1 3
1 5
1 3
2
3

出力例 3

0

出力されるべき値は 998244353998244353 で割った余りであることに注意してください。