#P9141. 队列操作复合(Queue Operate All Composite)

队列操作复合(Queue Operate All Composite)

队列操作复合(Queue Operate All Composite)

问题描述

初始时有一个空的线性函数序列 f=() f = ()
处理 Q Q 个查询:

  • 0 a b:在序列末尾添加线性函数 f(x)=ax+b f(x) = a x + b
  • 1:删除 ff 开头的元素。
  • 2 x:若序列为空,输出 x;否则设 f=(f0,f1,,fr1) f = (f_0, f_1, \dots, f_{r-1}) ,输出:
  • $$f_{r-1}(f_{r-2}(\cdots f_0(x)\cdots)) \bmod 998244353.$$

约束条件

  • 1Q5×105 1 \leq Q \leq 5\times 10^5
  • 1a<998244353 1 \leq a < 998244353
  • 0b,x<998244353 0 \leq b, x < 998244353
  • 序列 f f 在查询 1 时非空。

输入

QQ
Query₀
Query₁
:
QueryQ1_{Q-1}

其中每条查询为:

  • 0 a b
  • 1
  • 2 x

输出

对每个类型 1 或 2 的查询,输出一行:复合结果 mod998244353 \bmod 998244353

6
0 4 5
2 3
0 2 1
2 2
1
2 3
17
27
7
1
2 1333
1333