U240586 简单题

题目描述

给定n个数,你需要对它们进行m次操作。 操作分为三种,格式如下: $1\space x\space c$三个整数,表示将第$x$个数赋值为$c$。 $2\space l\space r\space k\space b$五个整数,表示将区间$\lbrack l,r\rbrack$内的每个数分别加上$k\times x +b \lparen0\leq x\leq r-l \rparen$。 $3\space l\space r$三个整数,输出$\lbrack l,r\rbrack$的和$mod \space 998244353$后的值。

输入格式

第一行两个整数,分别表示$n,m$,第二行$n$个整数,表示这$n$个数的初始值,之后$m$行,每行一次操作。

输出格式

对于每个操作$3$,输出一行整数,对998244353取模。

说明/提示

**对于30%的数据:** $1 \leq n,m \leq 10^3 $ $0 \leq c,k,b \leq 10^3$ $1\leq l \leq r \leq n$ **对于70%的数据:** $1 \leq n,m \leq 5\times 10^4 $ $0 \leq c,k,b \leq 10^8$ $1\leq l \leq r \leq n$ **对于100%的数据:** $1 \leq n,m \leq 5\times 10^5 $ $0 \leq c,k,b \leq 10^8$ $1\leq l \leq r \leq n$