P25813 [AtCoder] Cumulative Cumulative Cumulative Sum
提高
题目描述

Problem Statement

You are given N, Q, and $A=(A_1,\ldots,A_N)$.
Process Q queries, each of which is of one of the following two kinds:

  • 1 x v: update A_x to v.
  • 2 x: let $B_i=\sum_{j=1}^{i}A_j, C_i=\sum_{j=1}^{i}B_j$, and $D_i=\sum_{j=1}^{i}C_j$. Print D_x modulo 998244353.

Input

Input is given from Standard Input in the following format, where ${\rm query}_i$ denotes the i-th query to be processed:
N Q
$A_1 A_2 \ldots A_N$
${\rm query}_1$
${\rm query}_2$
$\vdots$
${\rm query}_Q$

Each query is given in one of the following two formats:
1 x v

2 x

Output

Print the answer to the queries, with newlines in between.

Constraints

  • $1 \leq N \leq 2\times10^5$
  • $1 \leq Q \leq 2\times10^5$
  • $0 \leq A_i \leq 10^9$
  • $1 \leq x \leq N$
  • $0 \leq v \leq 10^9$
  • All values in input are integers.

Sample Input 1

3 3
1 2 3
2 3
1 2 0
2 3

Sample Output 1

15
9

When the 1-st query is given, A=(1,2,3), so B=(1,3,6), C=(1,4,10), and D=(1,5,15); thus, D_3=15.
When the 3-rd query is given, A=(1,0,3), so B=(1,1,4), C=(1,2,6), and D=(1,3,9); thus, D_3=9.

Sample Input 2

2 1
998244353 998244353
2 1

Sample Output 2

0

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 3 1 2 3 2 3 1 2 0 2 3
样例输出
15 9