rt
#include <bits/stdc++.h>
using namespace std;
const int N=5e5+5;
int a[N];
int n,m;
int capacity=5e5;
int lowbit(int x){return x&(-x);}
int update(int x,int t){
for(int i=x;i<=capacity;i+=lowbit(i)){
a[i]+=t;
}
}
int query(int x){int ans=0;
for(int i=x;i>0;i-=lowbit(i)){
ans+=a[i];
}return ans;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
int q;cin>>q;update(i,q);
}
for(int i=1;i<=m;i++){
int x,y,z;cin>>x>>y>>z;
if(x==1){
update(y,z);
}else{
cout<<query(z)-query(y-1)<<endl;
}
}
}