#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
#define nmax 15001
long long A[4*nmax],v[nmax];
void create(int nod,int l,int r)
{
if(l==r)
{
A[nod] = v[l];
return;
}
create(nod*2,l,(l+r)/2);
create(nod*2+1,(l+r)/2+1,r);
A[nod]=A[nod*2]+A[nod*2+1];
}
void modif(int nod,int l ,int r,int i ,int val)
{
if(i<l||i>r) return;
if(l==r) {A[nod]-=val;return;}
modif(nod*2,l,(l+r)/2,i,val);
modif(nod*2+1,(l+r)/2+1,r,i,val);
A[nod]=A[nod*2]+A[nod*2+1];
}
int suma(int nod,int l,int r,int i,int j)
{
if(r<i||l>j)
return 0;
if(i<=l&&r<=j) return A[nod];
return suma(nod*2,l,(l+r)/2,i,j)+suma(nod*2+1,(l+r)/2+1,r,i,j);
}
int main()
{
int n,m,i,j,l,r,tip,x,y;
f>>n>>m;
for(i=1;i<=n;i++)
f>>v[i];
create(1,1,n);
for(i=1;i<=m;i++)
{
f>>tip>>x>>y;
if(tip==0)
{
modif(1,1,n,x,y);
}
else
{
g<<suma(1,1,n,x,y)<<'\n';
}
}
f.close();
g.close();
}