#abc256f. [abc256_f]Cumulative Cumulative Cumulative Sum

[abc256_f]Cumulative Cumulative Cumulative Sum

题目描述

给定 NNQQA=(A1,ldots,AN)A=(A_1,\\ldots,A_N)
处理 QQ 个查询,其中每个查询属于以下两种之一:

  • 1 x v:将 AxA_x 更新为 vv
  • 2 x:令 Bi=sumj=1iAjB_i=\\sum_{j=1}^{i}A_jCi=sumj=1iBjC_i=\\sum_{j=1}^{i}B_jDi=sumj=1iCjD_i=\\sum_{j=1}^{i}C_j。以模 998244353998244353 的形式打印 DxD_x

约束条件

  • 1leqNleq2times1051 \\leq N \\leq 2\\times10^5
  • 1leqQleq2times1051 \\leq Q \\leq 2\\times10^5
  • 0leqAileq1090 \\leq A_i \\leq 10^9
  • 1leqxleqN1 \\leq x \\leq N
  • 0leqvleq1090 \\leq v \\leq 10^9
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出,其中 rmqueryi{\\rm query}_i 表示要处理的第 ii 个查询:

NN QQ A1A_1 A2A_2 ldots\\ldots ANA_N rmquery1{\\rm query}_1 rmquery2{\\rm query}_2 vdots\\vdots rmqueryQ{\\rm query}_Q

每个查询有以下两种格式之一:

11 xx vv 22 xx

输出

打印查询的答案,每行之间用换行符分隔。


示例输入1

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

示例输出1

15
9

给定第一个查询时,A=(1,2,3)A=(1,2,3),因此 B=(1,3,6)B=(1,3,6)C=(1,4,10)C=(1,4,10)D=(1,5,15)D=(1,5,15);因此 D3=15D_3=15

给定第三个查询时,A=(1,0,3)A=(1,0,3),因此 B=(1,1,4)B=(1,1,4)C=(1,2,6)C=(1,2,6)D=(1,3,9)D=(1,3,9);因此 D3=9D_3=9


示例输入2

2 1
998244353 998244353
2 1

示例输出2

0