#include<bits/stdc++.h>
using namespace std;
int a[100005],sum[400005],n,q;
int x,y,z;
void build(int o,int L,int R){
if(L==R){
sum[o]=a[L];
return ;
}
int m=(L+R)/2;
build(o*2,L,m);
build(o*2+1,m+1,R);
sum[o]=sum[o*2]+sum[o*2+1];
}
void update(int o,int L,int R){
if(L==R){
sum[o]=a[y]=z;
return ;
}
int m=(L+R)/2;
if(y<=m) update(o*2,L,m);
if(z>m) update(o*2+1,m+1,R);
sum[o]=sum[o*2]+sum[o*2+1];
}
int query(int o,int L,int R){
if(y<=L && R<=z){
return sum[o];
}
int ans=0;
int m=(L+R)/2;
if(y<=m) ans=ans+query(o*2,L,m);
if(z>m) ans=ans+query(o*2+1,m+1,R);
return ans;
}
int main(){
scanf("%d%d",&n,&q);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
build(1,1,n);
for(int i=1;i<=q;i++){
scanf("%d%d%d",&x,&y,&z);
if(x==1) update(1,1,n);
else printf("%d\n",query(1,1,n));
}
return 0;
}