#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const long long cst=15005;
long long v[cst],arb[4*cst];
void build(long long nod,long long i1,long long i2)
{
if(i1==i2)
arb[nod]=v[i1];
else
{
long long mij=(i1+i2)/2;
build(2*nod,i1,mij);
build(2*nod+1,mij+1,i2);
arb[nod]=arb[2*nod]+arb[2*nod+1];
}
}
void mod(long long nod,long long i1,long long i2,long long i,long long a)
{
if(i1==i2)
arb[nod]-=a;
else
{
long long mij=(i1+i2)/2;
if(i<=mij)
mod(2*nod,i1,mij,i,a);
else
mod(2*nod+1,mij+1,i2,i,a);
arb[nod]=arb[nod*2]+arb[nod*2+1];
}
}
long long calc(long long nod,long long i1,long long i2,long long a,long long b)
{
if(i1>=a&&b>=i2)
return arb[nod];
else
{
long long mij=(i1+i2)/2;
if(b<=mij)
return calc(2*nod,i1,mij,a,b);
else if(a>=mij+1)
return calc(2*nod+1,mij+1,i2,a,b);
return calc(2*nod,i1,mij,a,b)+calc(2*nod+1,mij,i2,a,b);
}
}
int main()
{
long long n,k;
fin>>n>>k;
for(long long i=1; i<=n; i++)
{
fin>>v[i];
}
build(1,1,n);
for(long long i=1; i<=n; i++)
{
long long c,a,b;
fin>>c>>a>>b;
if(!c)
mod(1,1,n,a,b);
else
fout<<calc(1,1,n,a,b)<<'\n';
}
return 0;
}