//#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("datorii.in");
ofstream cout ("datorii.out");
vector <int> x;
long long n,m,i,j,t,a,b,sum;
void berak (int bal,int jobb, int gyoker, int poz, int a)
{
if (bal==jobb)
{
x[gyoker]=a;
return;
}
int kozep=(jobb+bal)/2;
if (poz<=kozep) berak(bal, kozep, 2*gyoker,poz,a);
else berak(kozep+1, jobb, 2*gyoker+1,poz,a);
x[gyoker]=x[2*gyoker]+x[2*gyoker+1];
}
void leker (int bal, int jobb, int gyoker, int a, int b)
{
if (a<=bal && jobb<=b)
{
sum+=x[gyoker];
return;
}
int kozep=(bal+jobb)/2;
if (a<=kozep) leker(bal,kozep,2*gyoker,a,b);
if (kozep<b) leker(kozep+1,jobb,2*gyoker+1,a,b);
}
int main()
{
cin>>n>>m;
t=-1;
x.resize(4*n+1);
vector <int> y(n+1,0);
for (i=1;i<=n;++i)
{
cin>>y[i];
berak(1,n,1,i,y[i]);
}
for (i=1;i<=m;++i)
{
cin>>t>>a>>b;
if (t==0)
{
y[a]-=b;
berak(1,n,1,a,y[a]);
}
else
{
sum=0;
leker(1,n,1,a,b);
cout<<sum<<"\n";
}
}
return 0;
}