#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,q,a[100005],sum1[100005],sum2[1000005];
int lowbit(int x)
{
return x & -x;
}
void add(int x,int k,int t)
{
if(x>n)return;
sum1[x]+=k;
sum2[x]+=t*k;
add(x+lowbit(x),k,t);
}
int check(int x,int t,int s)
{
if(x==0)return s;
return check(x-lowbit(x),t,s+t*sum1[x]-sum2[x]);
}
main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i];
add(i,a[i]-a[i-1],i-1);
}
for(int i=1;i<=q;i++)
{
int f;
cin>>f;
if(f==1)
{
int l,r,x;
cin>>l>>r>>x;
add(l,x,l-1);
add(r+1,-x,r);
}
else
{
int l,r;
cin>>l>>r;
cout<<check(r,r,0)-check(l-1,l-1,0)<<'\n';
}
}
return 0;
}
//http://czoj.com.cn/p/P1320