【题目描述】
给定一个长度为 N 的线性函数序列 f0,f1,...,fN−1。对所有 i,fi(x)=aix+bi。处理 Q 个查询如下:
0 $l$ $r$ $c$ $d$:对每个 i=l,l+1,…,r−1,令 fi←cx+d。
1 $l$ $r$ $x$:输出 fr−1(fr−2(...fl(x)))mod998244353。
【输入】
输入按以下格式给出:
文本
$N$ $Q$
$a _ 0$ $b _ 0$
$a _ 1$ $b _ 1$
:
$a _ {N - 1}$ $b _ {N - 1}$
$\textrm{Query} _ 0$
$\textrm{Query} _ 1$
:
$\textrm{Query} _ {Q - 1}$
【输出】
对每个 1 $l$ $r$ $x$ 查询,输出一行一个整数,表示该查询的答案。
【输入样例】
文本
5 7
1 2
3 4
5 6
7 8
9 10
1 0 5 11
1 2 4 12
0 1 2 13 14
1 0 4 15
1 2 5 16
0 0 5 10 1
1 0 5 1
【输出样例】
文本
14005
470
8275
5500
111111
【数据范围】
- 1≤N,Q≤500000
- 1≤ai,c<998244353
- 0≤bi,d,x<998244353
- 0≤l<r≤N
【来源】
Library Checker(yosupo06) range_set_range_composite