#include <fstream>
using namespace std;
ifstream in ("aib.in");
ofstream out ("aib.out");
long long a,b,c,n,m,i,x,aib[10000];
void up(int p,int x)
{
for(int i=p;i<=n;i+=i&(-i))
{
aib[i]+=x;
}
}
long sum(long p)
{
int s=0;
for(int i=p;i>=1;i-=i&(-i))
{
s+=aib[i];
}
return s;
}
int main()
{
in>>n>>m;
for(i=1;i<=n;i++)
{
in>>x;
up(i,x);
}
for(i=1;i<=m;i++)
{
in>>a>>b;
if(a==0)
{in>>c;
up(b,c);
}
else
{
if(a==1)
{in>>c;
int s1=0;
s1=sum(c)-sum(b-1);
out<<s1<<'\n';
}
else
{
int st=1;
int dr=n;
int mid;
while(st<=dr)
{
mid=(st+dr)/2;
int nr=sum(mid);
if(nr==b){out<<mid<<'\n';break;}
if(nr>b)dr=mid-1;
if(nr<b)st=mid+1;
}
}
}
}
return 0;
}