#include<fstream>
using namespace std;
fstream f,g;
void inserare(int A[],int nod, int st, int dr, int a, int b, int x)
{
int mij;
if ((a<=st)&&(dr<=b))
{ A[nod]+=x;}
else
{
mij=(st+dr)/2;
if (a<=mij) inserare(A,2*nod,st,mij,a,b,x);
if (mij+1<=b) inserare(A,2*nod+1,mij+1,dr,a,b,x);
A[nod]+=x;
}
}
int raspuns(int A[],int nod, int st, int dr, int a, int b)
{
int t=0,mij;
if ((a<=st)&&(dr<=b))
return A[nod];
else
{
mij=(st+dr)/2;
if (a<=mij) t+=raspuns(A,2*nod,st,mij,a,b);
if (mij+1<=b) t+=raspuns(A,2*nod+1,mij+1,dr,a,b);
return t;
}
}
int main()
{
int A[33000],N,K=16384,M,i,j,x,y,z;
f.open("datorii.in",ios::in);
g.open("datorii.out",ios::out);
f>>N>>M;
for (i=1;i<=2*K;i++) A[i]=0;
for (i=1;i<=N;i++)
{
f>>x;
inserare(A,1,1,K,i,i,x);
}
for (i=1;i<=M;i++)
{
f>>x>>y>>z;
if (x==0)
{
inserare(A,1,1,K,y,y,-z);
}
else
{
g<<raspuns(A,1,1,K,y,z)<<endl;
}
}
g.close();
f.close();
return 0;
}