#include<fstream>
using namespace std;
ifstream cin("aib.in");
ofstream cout("aib.out");
int c[100001];
int main()
{
int l=1,m,n;
cin>>n>>m;
for(int i=1;i<=n;++i) {
int k;
cin>>k;
for(int j=i;j<=n;c[j]+=k,j+=j&-j);
}
for(;l<=n;l<<=1);
for(;m--;) {
int b,j,k;
if(cin>>b>>j,b==2) {
int i=0;
for(int k=l;k;k>>=1)
if(i+k<=n&&j>=c[i+k])
j-=c[i+k],i+=k;
cout<<(j||!i?-1:i)<<'\n';
} else if(cin>>k,!b)
for(;j<=n;c[j]+=k,j+=j&-j);
else {
int s=0,t=0;
for(;k;s+=c[k],k-=k&-k);
for(--j;j;t+=c[j],j-=j&-j);
cout<<s-t<<'\n';
}
}
return 0;
}