//#include <iostream>
#include <fstream>
#define nmax 15001
using namespace std;
FILE *f=fopen("datorii.in","rt");
FILE *g=fopen("datorii.out","wt");
int i,n,m,q,a,b,poz,x;
int v[nmax],arb[1<<15];
void gen(int nod,int st,int dr){
if(dr<=poz&&poz<=st){ // am ajuns la intervalul element
arb[nod]=x;
return;
}
int m=(st+dr)>>1;
if(poz<=m) gen(nod<<1,st,m);
else gen((nod<<1)+1,m+1,dr);
arb[nod]=arb[nod<<1]+arb[(nod<<1)+1];
}
int interogare(int nod,int st,int dr){
if(st>=a && dr<=b) return arb[nod];
int x1,x2;
x1=x2=0;
int m=(st+dr)>>1;
if(a<=m) x1=interogare(nod<<1,st,m);
if(b>m) x2=interogare((nod<<1)+1,m+1,dr);
x1+=x2;
return x1;
}
int main()
{
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;++i){
fscanf(f,"%d",&x);
v[i]=x;
poz=i;
gen(1,1,n);
}
for(i=1;i<=m;++i){
fscanf(f,"%d%d%d",&q,&a,&b);
if(q==0){ // achit
poz=a;
v[a]-=b;
x=v[a];
gen(1,1,n);
}
else{ // interogare
fprintf(g,"%d\n",interogare(1,1,n));
}
}
return 0;
}