#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) x&(-x)
long long a[50000005];
long long n, m;
void add(int x, long long k)
{
a[x]+=k;
int f=x+lowbit(x);
while(f<=n)
{
a[f]+=k;
f+=lowbit(f);
}
}
long long Solve(int x)
{
if(x==0) return 0;
long long ans=0;
for(int i=x; i>0; i-=lowbit(i))
ans+=a[i];
return ans;
}
void coot(int x, int y)
{
long long ans=Solve(x-1);
long long ans2=Solve(y);
cout<<(long long)(ans2-ans)<<endl;
}
void Create(int i)
{
long long x=lowbit(i);
long long xx=x/2, now=i-x;
while(xx>0)
{
a[i]+=a[now+xx]; now=now+xx;
xx/=2;
}
}
int main()
{
long long j, x, y; long long k;
cin>>n>>m;
for(int i=1; i<=n; i++)
{
cin>>a[i];
Create(i);
}
while(m--)
{
cin>>j;
if(j==1)
{
cin>>x>>k;
add(x, k);
}
else
{
cin>>x>>y;
coot(x, y);
}
}
return 0;
}