#include<bits/stdc++.h>
using namespace std;
int n,f,sum,id[200005];
long long m[200005],g[200005];
int main(){
scanf("%d%d",&n,&f);
sum=sqrt(n);
for(int i=1;i<=n;i++){
scanf("%lld",&m[i]);
id[i]=(i-1)/sum+1;
}
for(int i=1;i<=f;i++){
int x;
scanf("%d",&x);
if(x==1){
int l,r;
long long k;
scanf("%d%d %lld",&l,&r,&k);
int start=id[l],end=id[r];
for(int i=l;i<=min(r,start*sum);i++)m[i]+=k;
if(start!=end)for(int i=end*sum-sum+1;i<=r;i++)m[i]+=k;
for(int i=start+1;i<=end-1;i++)g[i]+=k;
}
else if(x==2){
long long k;
scanf("%lld",&k);
m[1]+=k;
}
else if(x==3){
long long k;
scanf("%lld",&k);
m[1]-=k;
}
else if(x==4){
int l,r;
long long cnt=0;
scanf("%d%d",&l,&r);
for(int j=l;j<=r;j++)cnt+=m[j]+g[id[j]];
printf("%lld\n",cnt);
}
else printf("%lld\n",m[1]);
}
return 0;
}