#include<bits/stdc++.h>
using namespace std;
long long t[500000],a[500000],lan[500000];
void f(long long x,long long l,long long r)
{
if(l==r)
{
t[x]=a[l];
return ;
}
long long mid=(l+r)/2;
f(x*2,l,mid);
f(x*2+1,mid+1,r);
t[x]=t[x*2]+t[x*2+1];
}
long long sum(long long x,long long l,long long r,long long L,long long R)
{
if(L<=l&&r<=R)
return t[x];
long long ans=0;
long long mid=(l+r)/2;
if(L<=mid)
ans+=sum(x*2,l,mid,L,R);
if(mid<R)
ans+=sum(x*2+1,mid+1,r,L,R);
t[x]=t[x*2]+t[x*2+1];
return ans;
}
void f2(long long x,long long l,long long r,long long p,long long v)
{
if(l==r)
{
t[x]+=v;
return ;
}
int mid=(l+r)/2;
if(p<=mid)
{
f2(x*2,l,mid,p,v);
}
else
{
f2(x*2+1,mid+1,r,p,v);
}
t[x]=t[x*2]+t[x*2+1];
}
long long n,m;
int main()
{
cin>>n>>m;
for(long long i=1;i<=n;i++)
scanf("%lld",&a[i]);
f(1,1,n);
for(long long i=1;i<=m;i++)
{
long long p;
scanf("%lld",&p);
if(p==1)
{
long long u,v;
cin>>u>>v;
f2(1,1,n,u,v);
}
else
{
long long u,v;
cin>>u>>v;
cout<<sum(1,1,n,u,v)<<endl;
}
}
return 0;
}