众所周知,Lambda是一名可爱的猫娘魔法少女,她会很多很多的法术。
Lambda生成了一个长度为 nnn 的序列。
因为只有一个序列不够她练习,所以在接下来的 mmm 秒里,她要么会思考一个问题,要么会再念出一段咒语。
询问有一种:
咒语有两种:
第一种咒语:将区间 [l,r][l,r][l,r] 中所有的 xxx 更改为 yyy。
第二种咒语:将区间 [l,r][l,r][l,r] 上所有的数加上 xxx。
虽然Lambda擅长魔法,但她并不擅长计算,于是就只好向你请教询问,你需要回答Lambda的每一个询问,否则魔法少女生气的后果是很严重的。
第一行两个数 n,mn,mn,m,表示序列长度和时间。
第二行 nnn 个数,给出Lambda生成的序列 aaa。
接下来 mmm 行,每行的第一个数 opopop 表示类型:
对于每个询问,你需要在单独的一行输出这个询问的答案。
3 5 1 4 5 0 1 2 1 1 2 3 4 1 0 1 2 1 2 1 3 4 0 1 3 5
1 2 2
对于所有数据 1≤n,m,ai,y≤105,1≤l≤r≤n,0≤∣x∣≤1051\le n,m,a_i,y\leq10^5,1\leq l\leq r\leq n, 0\le|x|\le10^51≤n,m,ai,y≤105,1≤l≤r≤n,0≤∣x∣≤105。并且保证任何时候 1≤ai≤1051\leq a_i\leq 10^51≤ai≤105。