#aBC298D. [ABC298D] Writing a Numeral

[ABC298D] Writing a Numeral

AT_abc298_d [ABC298D] Writing a Numeral

题目描述

有一个字符串 SS,初始时 S=1S=1
现在给出 QQ 个如下形式的操作,请按顺序依次处理:

  • 1 x :在 SS 的末尾添加数字 xx
  • 2 :删除 SS 的首位数字。
  • 3 :将 SS 视为一个十进制整数,输出其除以 998244353998244353 的余数。

输入格式

输入以如下格式从标准输入读入。

QQ
query1\mathrm{query}_1
\vdots
queryQ\mathrm{query}_Q

其中 queryi\mathrm{query}_i 表示第 ii 个操作,格式如下之一:

1 x1\ x

22

33

输出格式

设第 33 种操作的个数为 qq,请输出 qq 行。第 ii 行输出第 ii33 型操作的结果。

输入输出样例 #1

输入 #1

3
3
1 2
3

输出 #1

1
12

输入输出样例 #2

输入 #2

3
1 5
2
3

输出 #2

5

输入输出样例 #3

输入 #3

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

输出 #3

0

说明/提示

限制条件

  • 1Q6×1051 \leq Q \leq 6 \times 10^5
  • 对于第 11 型操作,x{1,2,3,4,5,6,7,8,9}x \in \{1,2,3,4,5,6,7,8,9\}
  • 22 型操作仅在 SS 长度至少为 22 时出现
  • 至少存在一个 33 型操作

样例解释 1

对于第 11 个操作,SS1,所以输出 11(即 11 除以 998244353998244353 的余数)。
对于第 22 个操作,SS 变为 12
对于第 33 个操作,SS12,所以输出 1212(即 1212 除以 998244353998244353 的余数)。

样例解释 3

请注意,输出的值应为对 998244353998244353 取余的结果。

由 ChatGPT 4.1 翻译