#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int NMAX = 15005;
int a[NMAX], t[4*NMAX], n, m;
void build(int v, int tl, int tr){
if (tl == tr)
t[v] = a[tl];
else{
int tm = tl + (tr - tl)/2;
build (v*2, tl, tm);
build (v*2+1, tm+1, tr);
t[v] = t[v*2] + t[v*2+1];
}
}
int sum(int v, int tl, int tr, int l, int r){
if (l > r) return 0;
if (tl == l && tr == r)
return t[v];
int tm = tl + (tr - tl)/2;
return sum(v*2, tl, tm, l, min(r, tm)) + sum(v*2+1, tm+1, tr, max(l, tm+1), r);
}
void update(int v, int tl, int tr, int pos, int val){
if (tl == tr)
t[v] -= val;
else{
int tm = tl + (tr - tl)/2;
if (pos <= tm)
update(v*2, tl, tm, pos, val);
else
update(v*2+1, tm+1, tr, pos, val);
t[v] = t[v*2] + t[v*2+1];
}
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= n; i++)
fin >> a[i];
build(1, 1, n);
for (int i = 0; i < n; i++){
int q, x, y;
fin >> q >> x >> y;
if(q == 0) update(1, 1, n, x, y);
else fout << sum(1, 1, n, x, y) << '\n';
}
return 0;
}