#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("datorii.in");
ofstream cout ("datorii.out");
int N, M, i, a, b, op, sum;
vector <int> x, y;
void betesz (int bal, int jobb, int gyoker, int poz, int k)
{
if (bal == jobb)
{
x[gyoker] = k;
return;
}
int kozep = (bal + jobb) / 2;
if (poz <= kozep) betesz (bal, kozep, 2 * gyoker, poz, k);
else betesz (kozep + 1, jobb, 2 * gyoker + 1, poz, k);
x[gyoker] = x[2 * gyoker] + x[2 * gyoker + 1];
}
void leker (int bal, int jobb, int gyoker, int a, int b)
{
if (a <= bal && jobb <= b)
{
sum += x[gyoker];
return;
}
int kozep = (bal + jobb) / 2;
if (a <= kozep) leker (bal, kozep, 2 * gyoker, a, b);
if (b > kozep) leker (kozep + 1, jobb, 2 * gyoker + 1, a, b);
}
int main()
{
cin >> N >> M;
x.resize(4 * N + 1);
y.resize(N + 1);
for (i = 1; i <= N; ++i)
{
cin >> a;
y[i] = a;
betesz (1, N, 1, i, a);
}
for (i = 1; i <= M; ++i)
{
cin >> op >> a >> b;
if (op == 0)
{
y[a] -= b;
betesz (1, N, 1, a, y[a]);
}
else
{
sum = 0;
leker (1, N, 1, a, b);
cout << sum << "\n";
}
}
return 0;
}