#include<cstdio>
#define dim 150009
//using namespace std;
int tip,mij,x,n,m,a[dim],A,B;
void schimba(long nod,long st,long dr,long poz,long val)
{
if(st==dr)
a[nod]=+val;
else
{
mij=(st+dr)/2;
if(poz<=mij)
schimba(2*nod,st,mij,poz,val);
else
schimba(2*nod+1,mij+1,dr,poz,val);
a[nod]=a[2*nod]+a[2*nod+1];
}
}
void citire()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
schimba(1,1,n,i,x);
}
}
void detsum(long nod,long st,long dr,long A,long B)
{
if(A<=st&&dr<=B)
{
x+=a[nod];
return;
}
if(st<dr)
{
mij=(st+dr)/2;
if(A<=mij)
detsum(2*nod,st,mij,A,B);
if(B>mij)
detsum(2*nod+1,mij+1,dr,A,B);
}
}
int main()
{
citire();
for(int i=1;i<=m;i++)
{
scanf("&d&d&d",&tip,&A,&B);
if(!tip)
schimba(1,1,n,A,-B);
}
for(int i=1;i<=m;++i)
{
scanf("%d%d%d",&tip,&A,&B);
if(!tip)
schimba(1,1,n,A,-B);
else
{
x=0;
detsum(1,1,n,A,B);
printf("%d ",x);
}
}
}