描述
给定一个长度为n的序列,初始值为1,2,3,......,n,编号为1到n
维护这个序列,可以进行单点修改,区间加法,区间求和
输入
第一行,一个整数n,表示序列的长度
第二行,一个整数q,表示操作次数
接下来的q行,每行若干个整数
若第一个整数为1,则后面接2个整数x,y,表示将序列的第x个数修改为y
若第一个整数为2,则后面接3个整数l,r,s,表示将序列的第l个到第r个数都加上s(即区间[l,r]都加上s)
若第一个整数为3,则后面接2个整数l,r,表示求当前序列的子区间[l,r]的所有数的和
输出
对于每个询问输出一行,一个整数,表示所求区间的和
输入样例
输出样例
数据范围和限制
对于50%的数据:n≤100000
对于100%的数据:1≤n≤109,1≤q≤200000,1≤l≤r≤n,1≤x≤n,1≤y≤109,1≤s≤10000
时间限制1s,空间限制256M