【题目描述】
有一个初始为空的线性函数序列 f=()。请处理 Q 个查询。
0 $a$ $b$:在序列 f 的末尾添加一个线性函数 λx.ax+b。
1:删除序列 f 开头的线性函数。
2 $x$:设 f=(fl,…,fr−1),输出 fr−1(fr−2(…(fl(x))…))mod998244353。如果 f=(),则输出 x。
【输入】
文本
$Q$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$
【输出】
对每个 2 $x$ 查询,在一行输出一个整数,表示该查询的答案。
【输入样例】
文本
6
0 4 5
2 3
0 2 1
2 2
1
2 3
【输出样例】
【输入样例2】
【输出样例2】
【数据范围】
- 1≤Q≤500,000
- 1≤a<998244353
- 0≤b,x<998244353
- 当查询 1 到来时,序列 f 不为空。
【来源】
Library Checker(yosupo06) queue_operate_all_composite