#include <iostream>
#include <fstream>
using namespace std;
ifstream in("aib.in");
ofstream out("aib.out");
const int MAX = 100000;
int v[MAX+1], s[MAX+1];
void sume(int &a, int b, int n)
{
v[a]=v[a]+b;
s[1]=v[1];
for(int i=2; i<=n; ++i)
s[i]=s[i-1]+v[i];
}
int main()
{
int n,m;
in>>n>>m;
for(int i=1; i<=n; ++i)
in>>v[i];
s[1]=v[1];
for(int i=2; i<=n; ++i)
s[i]=s[i-1]+v[i];
//for(int i=1; i<=n; ++i)
//cout<<s[i]<<" ";
//cout<<'\n';
int a,b,c;
for(int i=0; i<m; ++i)
{
in>>c;
if(c==0)
{
in>>a>>b;
sume(a,b,n);
// for(int i=1; i<=n; ++i)
// cout<<s[i]<<" ";
//cout<<'\n';
}
else if(c==1)
{
in>>a>>b;
out<<s[b]-s[a-1]<<'\n';
}
else
{
in>>a;
int j,ok=0;
for(j=1; j<=n && ok==0; ++j)
{
if(s[j]==a)
ok=j;
}
if(ok==0)
out<<-1<<'\n';
else
out<<ok<<'\n';
}
}
return 0;
}