#include<stdio.h>
int main()
{
int n,m,i,x[1000],c,a,b,j,s,t;
FILE *f=fopen("aib.in","r");
FILE *g=fopen("aib.out","w");
fscanf(f,"%d %d",&n,&m);
for (i=1;i<=n;i++)
fscanf(f,"%d ",&x[i]);
for (i=1;i<=m;i++)
{
fscanf(f,"%d ",&c);
if (c==0)
{
fscanf(f,"%d %d",&a,&b);
x[a]=x[a]+b;
}
if (c==1)
{
fscanf(f,"%d %d",&a,&b);
s=0;
for (j=a;j<=b;j++)
s+=x[j];
fprintf(g,"%d",s);
fprintf(g,"\n");
}
if (c==2)
{
t=1;
j=1;
s=0;
fscanf(f,"%d",&a);
while (t==1)
{
s=s+x[j];
j++;
if(s==a)
{
fprintf(g,"%d",j-1);
fprintf(g,"\n");
t=0;
}
if(s>a)
{
fprintf(g,"%d",-1);
fprintf(g,"\n");
t=0;
}
}
}
}
fclose(f);
fclose(g);
return 0;
}