文本编辑器2
题号:NC285798
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

今天又是无聊的一天,小灰灰打算在文本编辑器中写一些数字,具体来说小灰灰会连续进行 q 次操作,每次操作为以下四种情况之一:

- 添加一个数字字符 x 到当前光标位置,并将光标移动到这个数字后方
- 删去光标前方的一个数字(此操作保证光标前方存在至少一个数字)
- 将光标移动到前一个数字后方(此操作保证光标前方存在至少一个数字)
- 将光标移动到后一个数字后方(此操作保证光标后方存在至少一个数字)

小蓝觉得小灰灰闲的令人发指,所以她打算来刁难小灰灰,她将会提出 m 个问题,第 i 个问题小灰灰需要告诉她从当前文本中第 pos_i 个数字字符开始连续的 len_i 个数字字符组成的大数是多少,由于这个数可能特别长,所以你只需要输出其模 998244353 之后的结果即可。

注意小蓝也非常无聊,所以她会看着小灰灰操作,并时不时的提问,这意味着操作和询问是交替进行的。

输入描述:

第一行输入两个空格分隔的整数,分别代表 qm

接下来 q + m 行,第 i 行的输入为以下五种情况之一:
- 输入 `Q pos len` 代表一次询问
- 输入 `I x` 代表执行一次操作一
- 输入 `D` 代表执行一次操作二
- 输入 `F` 代表执行一次操作三
- 输入 `B` 代表执行一次操作四

保证:
1\le q \le 10^6
1\le m \le 2\times 10^5
0 \le x \le 9

输出描述:

对于每次询问操作,输出一行一个整数代表答案。
示例1

输入

复制
7 3
I 5
F
I 9
Q 1 2
I 0
Q 2 1
B
I 0
D
Q 1 3

输出

复制
95
0
905

说明

整数序列和光标的变化如下:
5|
|5
9|5
Q 1 2
90|5
Q 2 1
905|
9050|
905|
Q 1 3