题号:NC25674
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld
题目描述
给一个长度为 n 的序列

,你需要支持以下两种操作:
操作 1:L R X Y,对所有

赋值
%5Ctimes%20Y%2BX))
,其中 L, R, X, Y 均为整数,且有
操作 2:x,询问

的值,这里 x 是整数,且有

。
输入描述:
第一行包含两个整数
,分别表示序列长度为以及操作次数,
第二行是 n 个整数
)
接下来 q 行,每行第一个数字表示操作类型,接下来输入对应题面描述。
输出描述:
对于每个操作 2,输出对应查询的结果。
示例1
输入
复制
5 5
0 0 0 0 0
2 1
1 1 5 2 -1
2 5
1 1 2 -1 2
2 1