#include<iostream>
#include<fstream>
using namespace std;
int arb[60000], x, n, m, i, a, b, op, suma, poz;
void adaug(int nod, int st, int dr, int poz) {
if (st == dr)
{
arb[nod] = x;
return;
}
int mid = (st + dr) / 2;
if (poz <= mid)
adaug(nod * 2, st, mid, poz);
else
adaug(nod * 2 + 1, mid + 1, dr, poz);
arb[nod] = arb[2 * nod + 1]+ arb[2 * nod];
}
void scad(int nod, int st, int dr,int poz) {
if (st == dr)
{
arb[nod]-=x;
return;
}
int mid = (st + dr) / 2;
if (poz <= mid)
scad(nod * 2, st, mid, poz);
else
scad(nod * 2 + 1, mid + 1, dr, poz);
arb[nod] = arb[2 * nod + 1] + arb[2 * nod];
}
void sum(int nod, int st, int dr) {
if (a <= st && b >= dr)
suma+=arb[nod];
else {
int mid=(st + dr) / 2;
if (a <= mid)
sum(2 * nod, st, mid);
if (b > mid)
sum(2 * nod + 1, mid + 1, dr);
}
}
int main() {
ifstream f("datorii.in");
ofstream g("datorii.out");
f >> n >> m;
for (i = 1; i <= n; i++)
{
f >> x;
adaug(1, 1, n, i);
}
for (i = 1; i <= m; i++) {
f >> op;
if(op==0)
{
f >> poz >> x;
scad(1, 1, n, poz);
}
if (op == 1) {
f >> a >> b;
suma = 0;
sum(1, 1, n);
g << suma << "\n";
}
}
return 0;
}