#58. 区间修改,单点查询

区间修改,单点查询

问题描述

给定一个长度为 nn 的序列 aa,你需要进行 mm 次操作,每次操作为以下两种之一:

  • 1 l r x:将 alra_{l\sim r} 的所有数字增加 xx
  • 2 idx:输出当前 aidxa_{idx} 的值。

输入格式

第一行输入两个正整数 n,mn,m(1n,m2×105)(1\le n,m\le 2\times 10^5)

第二行输入 nn 个正整数 aia_i(1ai104)(1\le a_i\le 10^4)

接下来 mm 行,每行输入代表一种操作。

  • 1 l r x:将 alra_{l\sim r} 的所有数字增加 xx
  • 2 idx:输出当前 aidxa_{idx} 的值。

(1lrn,1x103,1idxn)(1\le l\le r\le n,1\le x\le 10^3,1\le idx\le n)

输出格式

对于每次操作 22,输出对应的答案。

样例输入

3 2
1 2 3
1 1 3 1
2 2

样例输出

3