#include <iostream>
#include <fstream>
using namespace std;
int arb[60000];
int x,total;
void adauga(int stanga,int dreapta,int loc,int val,int careelemnt)
{
int mijloc;
int maxim=-1;
if (stanga==dreapta)
{
arb[loc]+=val;
return;
}
else
{
mijloc=(stanga+dreapta)/2;
if (careelemnt<=mijloc){adauga(stanga,mijloc,loc*2,val,careelemnt);}
else{adauga(mijloc+1,dreapta,loc*2+1,val,careelemnt);}
arb[loc]=arb[loc*2]+arb[loc*2+1];
}
}
void daraspuns(int loc,int a,int b,int x,int y)
{
int mijloc=(a+b)/2;
int maxim=-9999999;
if (a>=x&&b<=y)
{
total+= arb[loc];
}
else
{
if (x<=mijloc)
{
daraspuns(loc*2,a,mijloc,x,y);
}
if (y>mijloc)
{
daraspuns(loc*2+1,mijloc+1,b,x,y);
}
}
}
int main()
{
ifstream in("datorii.in");
ofstream out("datorii.out");
int i,n,m,y,p;
in>>n;
in>>m;
for (i=1;i<=n;i++)
{
in>>x;
adauga(1,n,1,x,i);
}
for (i=1;i<=m;i++)
{
in>>p;
if (p==0)
{
in>>y;
in>>x;
adauga(1,n,1,-x,y);
}
else
{
total=0;
in>>x;
in>>y;
daraspuns(1,1,n,x,y);
out<<total<<"\n";
}
}
}