#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+5;
int n,m,a[N],d[N*4];
void build(int l,int r,int o){
if(l==r){
d[o]=a[l];
return;
}
int mid=(l+r)>>1;
build(l,mid,o<<1);
build(mid+1,r,o<<1|1);
d[o]=d[o<<1]+d[o<<1|1];
}
void add1(int l,int r,int o,int x,int y){
if(l==r){
d[o]+=y;
return;
}
int mid=(l+r)>>1;
if(x<=mid) add1(l,mid,o<<2,x,y);
else add1(mid+1,r,o<<2|1,x,y);
d[o]=d[o<<1]+d[o<<1|1];
}
int getsum(int l,int r,int o,int L,int R){
if(L<=l&&r<=R) return d[o];
if(l>R||r<L) return 0;
int mid=(l+r)>>1;
return getsum(l,mid,o<<1,L,R)+getsum(mid+1,r,o<<1|1,L,R);
}
signed main(){
cin.tie(0),cout.tie(0);
// freopen("sap.in","r",stdin);
// freopen("sap.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
build(1,n,1);
for(int i=1;i<=m;i++){
int op,x,y;
cin>>op>>x>>y;
if(op==1) add1(1,n,1,x,y);
else cout<<getsum(1,n,1,x,y)<<"\n";
}
return 0;
}