#include using namespace std; int n; int tree[2000]; int ar[1000]; void init(int node,int b,int e) { if(b==e) { tree[node]=ar[b]; return; } int left=node*2; int right=(node*2)+1; int mid=(b+e)/2; init(left,b,mid); init(right,mid+1,e); tree[node]=tree[left]+tree[right]; } int update(int node,int b,int e,int i,int newVal) { if(i>e||ie||j=i&&e<=j) return tree[node]; int left=node*2; int right=(node*2)+1; int mid=(b+e)/2; int p1=query_sum(left,b,mid,i,j); int p2=query_sum(right,mid+1,e,i,j); return p1+p2; } int main() { int k,n,Q,i,j,t,v; cin>>n>>Q; for(k=1; k<=n; k++) cin>>ar[k]; init(1,1,n); while(Q--) { cin>>t; if(t==1) { cin>>i; cout<>i>>v; int exist=ar[i+1]; update(1,1,n,i+1,exist+v); } else { cin>>i>>j; cout<