#include<iostream>
using namespace std;
const int N =5e5+10;
int n,m;
int op;
int tree[N];
int lowbit(int x){
return x & (-x);
}
int _add(int x,int k){
for(; x <= n; x += lowbit(x))
tree[x] += k;
}
int find_sum(int x){
int ans = 0;
for(;x;x-=lowbit(x))
ans += tree[x];
return ans;
}
int main(){
scanf("%d %d",&n, &m);
for(int i = 1,a; i <= n;i++){
scanf("%d",&a);
_add(i, a);
}
int l,r;
while(m--){
scanf("%d%d%d",&op,&l,&r);
if(op==1){
_add(l,r);
}
else{
printf("%d\n",find_sum(r) - find_sum(l - 1));
}
}
return 0;
}
为什么全报RE啊