#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010;
int st[N], tr[N];
int n, m;
int lowbit(int x){
return x&-x;
}
void add(int x, int v){
for(int i=x; i<=n; i+=lowbit(i)) tr[i]+=v;
return;
}
int query(int x){
int res=0;
for(int i=x; i; i-=lowbit(i)) res+=tr[i];
return res;
}
int main(){
cin>>n>>m;
for(int i=1; i<=n; ++i) scanf("%d", &st[i]);
for(int i=1; i<=n; ++i) add(i, st[i]);
while(m--){
int k, a, b;
scanf("%d%d%d", &k, &a, &b);
if(k==0){
printf("%d\n", query(b)-query(a-1));
}else{
add(a, b);
}
}
return 0;
}