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