#include <bits/stdc++.h>
#define NUM 15005
int v[4 * NUM];
int n, m, op, a, b;
using namespace std;
void adaug(int nod, int val, int poz, int st, int dr)
{
if(st == dr)
{
v[nod] += val;
return;
}
int mij = st + (dr - st) / 2;
if(poz <= mij)
adaug(2 * nod, val, poz, st, mij);
else
adaug(2 * nod + 1, val, poz, mij + 1, dr);
v[nod] += val;
}
int q(int nod, int a, int b, int st, int dr)
{
if(a <= st && dr <= b)
return v[nod];
int r1 = 0, r2 = 0, mij;
mij = st + (dr - st) / 2;
if(!(b<st||mij<a))
r1 = q(2 * nod, a, b, st, mij);
if(a <= dr && mij + 1 <= b)
r2 = q(2 * nod + 1, a, b, mij + 1, dr);
return r1 + r2;
}
int main()
{
ifstream f("datorii.in");
ofstream g("datorii.out");
f >> n >> m;
for(int i = 1; i <= n; ++i)
{
f >> a;
adaug(1, a, i, 1, n);
}
for(int i = 1; i <= m; ++i)
{
f >> op >> a >> b;
if(!op)
adaug(1, -b, a, 1, n);
else
g << q(1, a, b, 1, n) << "\n";
}
f.close();
g.close();
}