__Princess__ @ 2024-11-04 22:50:05
#include<bits/stdc++.h>
using namespace std;
const int N=5010;
int lt=0,rt=5000;
int T[4*N],n,m;
void tree_insert(int pos,int l,int r,int data,int a)
{
// T[pos]=max(T[pos],pos);
if(a==1)T[pos]+=data;
// T[pos]++;
if(l==data && data==r)return;
int mid=(l+r)/2;
if(data<=mid)
{
tree_insert(2*pos,l,mid,data,a);
}
else
{
tree_insert(2*pos+1,mid+1,r,data,a);
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>T[i];
}
for(int j=1;j<=m;j++)
{
int a;
cin>>a>>lt>>rt;
if(a==1)
{
int k;
cin>>k;
tree_insert(lt,lt,rt,k,a);
}
if(a==2)
{
int cnt=0;
for(int i=lt;i<=rt;i++)
{
cnt+=T[i];
}
cout<<cnt;
}
}
}