#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) (x&(-x))
const int maxn=1e6;
int n,m;
int tree[maxn];void add(int x,int k){while(x<=n){tree[x]+=k;x+=lowbit(x);}
}int sum(int x){int sum=0;while(x>0){sum+=tree[x];x-=lowbit(x);}return sum;
}int main(){cin>>n>>m;int p;for(int i=1;i<=n;i++){cin>>p;add(i,p);}int op,x,y;while(m--){cin>>op;cin>>x>>y;if(op==1) add(x,y);else cout<<sum(y)-sum(x-1)<<endl;}return 0;
}