#include <iostream>
#include <cstdio>
using namespace std;
int s[100005];
int n,m,x,c,a,b;
void adauga(int i, int val)
{
for(int j=i; j<=n; j+=(j&(-j)))
s[j]+=val;
}
int suma(int poz)
{
int ret = 0;
for(int i = poz; i>=1; i-=(i&(-i)))
ret+=s[i];
return ret;
}
void kapa(int val){
int start=0,putere;
for(putere=1;putere<n;putere*=2);
for(putere;putere!=0 && val!=0;putere/=2){
if(start+putere<=n)
if(s[putere+start]<=val){
val-=s[putere+start];
start+=putere;
}
}
if(val==0)
cout<<start<<"\n";
else
cout<<"-1\n";
}
int main()
{
freopen("aib.in","r",stdin);
freopen("aib.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1; i<=n; ++i)
{
cin>>x;
adauga(i,x);
}
for(int i=0; i<m; ++i)
{
cin>>c>>a;
if(c<2)
{
cin>>b;
if(c==0)
adauga(a,b);
else if(c==1)
cout<<suma(b)-suma(a-1)<<"\n";
}
else{
kapa(a);
}
}
return 0;
}