Problem6607--AtCoder Library Practice Contest —— K - Range Affine Range Sum

6607: AtCoder Library Practice Contest —— K - Range Affine Range Sum

[Creator : ]
Time Limit : 3.000 sec  Memory Limit : 256 MiB

Description

You are given an array $a_0, a_1, ..., a_{N-1}$ of length $N$. Process $Q$ queries of the following types.
  • 0 l r b c: For each $i = l, l+1, \dots, {r - 1}$, set $a_i \gets b \times a_i + c$.
  • 1 l r: Print $\sum_{i = l}^{r - 1} a_i \bmod 998244353$.

Input

Input is given from Standard Input in the following format:
$N\ Q$
$a_0\ a_1\ ...\ a_{N - 1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
$\vdots$
$\textrm{Query}_{Q - 1}$

Output

For each query of the latter type, print the answer.

Constraints

$1≤N,Q≤500000$
$0 \leq a_i, c < 998244353$
$1 \leq b < 998244353$
$0 \leq l < r \leq N$
All values in Input are integer.

Sample 1 Input

5 7
1 2 3 4 5
1 0 5
0 2 4 100 101
1 0 3
0 1 3 102 103
1 2 5
0 2 5 104 105
1 0 5

Sample 1 Output

15
404
41511
4317767

Source/Category