#1352. 前前缀和

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Rhodoks

题目描述

对于一个数组 AA,其前缀和每一个元素的前缀和(Prefix Sum)定义为:Si=k=1iAiS_i=\sum_{k=1}^{i}A_i

可以发现,对于一个新数组,依次加入每个位置的前缀和 SiS_i,也可以构成一个与 AA 大小相等的数组 SS

前前缀和(Pre-prefix Sum) 则把 SS 数组作为原数组再进行前缀和操作,记再次求得前缀和第 ii 个是 SSiSS_i

给定一个长度为 nn 的数组 AA,有如下两种操作:

  • 1 i x 表示把 AiA_i 的值改为 xx
  • 2 i 表示查询 SSiSS_i

输入格式

第一行给出两个整数 n,mn,m。分别表示序列长度和操作个数;

接下来一行 nn 个数,即给定的数组 A1,A2,...,AnA_1,A_2,...,A_n

接下来 mm 行,每行对应一个操作,格式见题目描述。

输出格式

对于每个询问操作,输出一行,表示所询问的 SSiSS_i 的值。

样例

样例输入

5 3
1 2 3 4 5
2 5
1 3 2
2 5

样例输出

35
32

数据范围与提示

1n,m1051\le n,m \le 10^5

在任意时刻 0Ai1050\le A_i\le 10^5