【题目描述】
给定一个大小为 N 的整数序列 a0,a1,…,aN−1。初始时对所有 i 都有 ai=0。
请依次处理 Q 个查询:
0 $l$ $r$ $b$ $c$:对每个 i=l,l+1,…,r−1,执行 ai←b×ai+c。
1 $l$ $r$:输出 ∑i=lr−1aimod998244353。
【输入】
文本
$N$ $Q$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$
【输出】
对每个 1 $l$ $r$ 查询,输出一行一个整数,表示 ∑i=lr−1aimod998244353。
【输入样例】
文本
1000000000 6
0 0 100 10 1
1 10 90
1 0 1000000000
0 50 10000 10 1
1 10 90
1 0 1000000000
【输出样例】
【数据范围】
- 1≤N≤1000000000
- 1≤Q≤100000
- 0≤l<r≤N
- 1≤b<998244353
- 0≤c<998244353
【来源】
Library Checker(yosupo06) range_affine_range_sum_large_array