#include<bits/stdc++.h>
using namespace std;
const int maxn=5*1e5+5;
int tree[maxn];
int n,m,op,a,k;
int lowbit(int x){
return x&(-x);
}
void add(int x,int k){
while(x<=n){
tree[x]+=k;
x+=lowbit(x);
}
}
int sum(int x){
int ans=0;
while(x!=0){
ans+=tree[x];
x-=lowbit(x);
}
return ans;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
scanf("%d",&a);
add(i,a);
}
for(int i=0;i<m;i++){
cin>>op;
if(op==1){
scanf("%d%d",&a,&k);
add(a,k);
}
else{
scanf("%d%d",&a,&k);
cout<<sum(k)-sum(a-1)<<endl;
}
}
return 0;
}