AT_abc298_d [ABC298D] Writing a Numeral

题目描述

有一个字符串 $S$,初始时 $S=1$。 现在给出 $Q$ 个如下形式的操作,请按顺序依次处理: - `1 x` :在 $S$ 的末尾添加数字 $x$。 - `2` :删除 $S$ 的首位数字。 - `3` :将 $S$ 视为一个十进制整数,输出其除以 $998244353$ 的余数。

输入格式

输入以如下格式从标准输入读入。 > $Q$ > $\mathrm{query}_1$ > $\vdots$ > $\mathrm{query}_Q$ 其中 $\mathrm{query}_i$ 表示第 $i$ 个操作,格式如下之一: > $1\ x$ > $2$ > $3$

输出格式

设第 $3$ 种操作的个数为 $q$,请输出 $q$ 行。第 $i$ 行输出第 $i$ 个 $3$ 型操作的结果。

说明/提示

## 限制条件 - $1 \leq Q \leq 6 \times 10^5$ - 对于第 $1$ 型操作,$x \in \{1,2,3,4,5,6,7,8,9\}$ - 第 $2$ 型操作仅在 $S$ 长度至少为 $2$ 时出现 - 至少存在一个 $3$ 型操作 ## 样例解释 1 对于第 $1$ 个操作,$S$ 为 `1`,所以输出 $1$(即 $1$ 除以 $998244353$ 的余数)。 对于第 $2$ 个操作,$S$ 变为 `12`。 对于第 $3$ 个操作,$S$ 为 `12`,所以输出 $12$(即 $12$ 除以 $998244353$ 的余数)。 ## 样例解释 3 请注意,输出的值应为对 $998244353$ 取余的结果。 由 ChatGPT 4.1 翻译