#include <stdio.h>
#define DIM 15005
int aib[2*DIM+1];
int n,m,sum;
void update (int nod,int st,int dr,int poz,int nr);
void query (int nod,int st,int dr,int in,int sf);
int main ()
{
freopen ("datorii.in","r",stdin);
freopen ("datorii.out","w",stdout);
int i,nr,a,b;
scanf ("%d%d",&n,&m);
for (i=1; i<=n; ++i)
{
scanf ("%d",&nr);
update (1,1,n,i,nr);
}
for (i=1; i<=m; ++i)
{
scanf ("%d%d%d",&nr,&a,&b);
if (!nr)
update (1,1,n,a,-b);
else
{
sum=0;
query (1,1,n,a,b);
printf ("%d\n",sum);
}
}
return 0;
}
void update (int nod,int st,int dr,int poz,int nr)
{
if (st==dr)
aib[nod]+=nr;
else
{
int mij=(st+dr)/2;
if (poz<=mij)
update (2*nod,st,mij,poz,nr);
else
update (2*nod+1,mij+1,dr,poz,nr);
aib[nod]=aib[2*nod]+aib[2*nod+1];
}
}
void query (int nod,int st,int dr,int in,int sf)
{
if (st>=in && dr<=sf)
sum+=aib[nod];
else
{
int mij=(st+dr)/2;
if (in<=mij)
query (2*nod,st,mij,in,sf);
if (sf>mij)
query (2*nod+1,mij+1,dr,in,sf);
}
}