#SDNU1665. 区间查询+单点修改Ⅰ

区间查询+单点修改Ⅰ

Description

给出 n 个整数a[1],a[2],...,a[n] .

q 次操作,共有两种操作:

11 ll rr 查询 i=lra[i]{\textstyle \sum_{i=l}^{r}}a[i].

22 pp ww a[p]a[p]+wa[p]\longleftarrow a[p]+w

Format

Input

第一行有两个正整数 nn qqnn 表示数组长度, qq 表示操作次数.

第二行有 nn 个整数 a[1],a[2],...,a[n]a[1],a[2],...,a[n].

接下来 qq 行,每行有三个整数,第一个是 opop 表示操作类型

op=1op=1 再输入 l,rl,r 表示查询 i=lra[i]{\textstyle \sum_{i=l}^{r}}a[i].

op=2op = 2 再输入 p,wp,w 表示令 a[p]a[p]+wa[p]\longleftarrow a[p]+w

op{1,2}op\in \left \{1, 2 \right \} 1n,a[i],q,w1051\le n,a[i],q,w\le 10^{5} 1lrn1\le l\le r\le n , 1pn1\le p \le n

Output

对于每次查询操作输出一个整数表示 i=lra[i]{\textstyle \sum_{i=l}^{r}}a[i].

Samples

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