【题目描述】
给定一个长度为 N 的整数序列 a0,a1,…,aN−1。请处理 Q 个查询:
0 $l$ $r$ $b$ $c$:对于每个 i=l,l+1,…,r−1,令 ai←b×ai+c。
1 $i$:输出 aimod998244353。
【输入】
文本
$N$ $Q$
$a_0$ $a_1$ ... $a_{N - 1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$
【输出】
对每个 1 $i$ 查询,输出一行一个整数,表示 aimod998244353。
【输入样例】
文本
5 12
1 2 3 4 5
0 2 4 100 101
1 0
1 1
1 2
1 3
1 4
0 1 3 102 103
1 0
1 1
1 2
1 3
1 4
【输出样例】
文本
1
2
401
501
5
1
307
41005
501
5
【数据范围】
- 1≤N,Q≤500000
- 0≤ai,c<998244353
- 1≤b<998244353
- 0≤l<r≤N
- 0≤i<N
【来源】
Library Checker(yosupo06) range_affine_point_get