#include<bits/stdc++.h>
using namespace std;
const int N=5e5+10;
typedef long long ll;
ll read();
ll n,q,m;
ll bar[N],a[N],p[N];
void init()
{
ll num=n/m; if(n%m) num++;
for(int i=1;i<=num;i++)
for(int j=1;j<=m;j++)
{
ll k=j+(i-1)*m;
p[k]=i,bar[i]+=a[k];
}
}
ll qurey(ll l,ll r)
{
ll ret=0;
if(p[l]==p[r])
{
for(int i=l;i<=r;i++) ret+=a[i];
return ret;
}
for(int i=p[l]+1;i<=p[r]-1;i++) ret+=bar[i];
for(int i=l;p[i]==p[l];i++) ret+=a[i];
for(int i=r;p[i]==p[r];i--) ret+=a[i];
return ret;
}
int main()
{
n=read(); q=read(); m=sqrt(n);
for(int i=1;i<=n;i++) a[i]=read();
init();
while(q--)
{
ll opt=read(),x=read(),y=read();
if(opt==1) a[x]+=y,bar[p[x]]+=y;
else printf("%lld\n",qurey(x,y));
}
return 0;
}
ll read()
{
ll x=0,f=1; char ch=getchar();
while(ch<'0' || ch>'9')
{
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0' && ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
(验证码bbbg祭)