#include <fstream>
using namespace std;
FILE *f=fopen("datorii.in","rt");
ofstream g("datorii.out");
int i,n,m,q,a,b,poz,x;
int arb[1<<15];
void gen(int nod,int st,int dr,bool c){
if(dr<=poz&&poz<=st){ // am ajuns la intervalul element
if(c) arb[nod]-=x;
else arb[nod]=x;
return;
}
int m=(st+dr)>>1;
if(poz<=m) gen(nod<<1,st,m,c);
else gen((nod<<1)+1,m+1,dr,c);
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=0,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);
poz=i;
gen(1,1,n,false);
}
for(i=1;i<=m;++i){
fscanf(f,"%d%d%d",&q,&a,&b);
if(q==0){ // achit
poz=a;
x=b;
gen(1,1,n,true);
}
else // interogare
g << interogare(1,1,n) << '\n';//fprintf(g,"%d\n",interogare(1,1,n));
}
return 0;
}