#include <fstream>
using namespace std;
int n,t,x,v[15001],a[60001],s,a1,b1;
ifstream in("datorii.in");
ofstream out("datorii.out");
void mod(int n,int p,int u,int x,int poz)
{
int m;
if(p==u)
{
a[n]+=poz;
return ;
}
m=(p+u)>>1;
if(x<=m)
mod(n*2,p,m,x,poz);
else
mod(n*2+1,m+1,u,x,poz);
a[n]=a[n*2]+a[n*2+1];
}
void query(int nod,int p,int u,int x,int y)
{
int m;
if(x<=p && y>=u)
{
s+=a[nod];
return;
}
m=(p+u)>>1;
if(x<=m)
query(nod*2,p,m,x,y);
if(m<y)
query(nod*2+1,m+1,u,x,y);
}
void rez()
{
in>>n>>t;
for(int i=1;i<=n;++i)
{
in>>x;
mod(1,1,n,i,x);
}
for(int i=1;i<=t;++i)
{
in>>x;
if(!x)
{
in>>a1>>b1;
mod(1,1,n,a1,-b1);
continue;
}
in>>a1>>b1;
s=0;
query(1,1,n,a1,b1);
out<<s<<"\n";
}
}
int main()
{
rez();
return 0;
}