#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int arb[60005];
int n,m;
void act(int a,int b,int nod,int poz,int val)
{
if (a==b)
{
arb[nod]+=val;
}
else
{
int mij=(a+b)/2;
if (poz<=mij)
{
act(a,mij,nod*2,poz,val);
}
else
{
act(mij+1,b,nod*2+1,poz,val);
}
arb[nod]=arb[nod*2+1]+arb[nod*2];
}
}
int intrb(int a,int b,int nod,int qa,int qb)
{
int r1=0,r2=0;
if (qa<=a&&qb>=b)
{
return arb[nod];
}
int mij=(a+b)/2;
if (qa<=mij)
{
r1=intrb(a,mij,nod*2,qa,qb);
}
if (qb>mij)
{
r2=intrb(mij+1,b,nod*2+1,qa,qb);
}
return r1+r2;
}
int i,x,y,z;
int main()
{
f>>n>>m;
for (i=1;i<=n;i++)
{
f>>x;
act(1,n,1,i,x);
}
for (i=1;i<=m;i++)
{
f>>x>>y>>z;
if (x==0)
{
act(1,n,1,y,-z);
}
else
{
g<<intrb(1,n,1,y,z)<<'\n';
}
}
return 0;
}