3427 - 无聊的数列

维护一个数列 a_i,支持两种操作:

  • 1 l r K D:给出一个长度等于 r-l+1 的等差数列,首项为 K,公差为 D,并将它对应加到 [l,r] 范围中的每一个数上。即:令 $a_l=al+K,a{l+1}=a_{l+1}+K+D\ldots a_r=a_r+K+(r-l) \times D$。

  • 2 p:询问序列的第 p 个数的值 a_p

输入

第一行两个整数数 n,m 表示数列长度和操作个数。

第二行 n 个整数,第 i 个数表示 a_i

接下来的 m 行,每行先输入一个整数 opt

opt=1 则再输入四个整数 l\ r\ K\ D

opt=2 则再输入一个整数 p

输出

对于每个询问,一行一个整数表示答案。

样例

输入

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

输出

6

提示

数据规模与约定

对于 100\% 数据,0\le n,m \le 10^5,-200\le a_i,K,D\le 200, 1 \leq l \leq r \leq n, 1 \leq p \leq n

时间限制 1 秒
内存限制 512 MB
讨论 统计
上一题 下一题