【题目描述】
给定一个长度为 N 的线性函数序列 f0,f1,...,fN−1。初始时,对于所有 i,有 fi(x)=x。依次处理 Q 个查询:
0 $p$ $c$ $d:令 fp←cx+d。
1 $l$ $r$ $x$:输出 fr−1(fr−2(...fl(x)))mod998244353。
【输入】
文本
$N$ $Q$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$
【输出】
对于每个类型为 1 的查询,输出一行其计算结果。
【输入样例】
文本
1000000000 6
0 100 2 3
0 10000 4 5
1 99 100 10
1 1 1000000000 1
0 1000000 6 7
1 1 1000000000 1
【输出样例】
【数据范围】
- 1≤N≤1000000000
- 1≤Q≤500000
- 1≤c<998244353
- 0≤d,x<998244353
- 0≤p<N
- 0≤l<r≤N
【来源】
Library Checker(yosupo06) point_set_range_composite_large_array