#include<iostream>
#include<fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int ai[170000], s;
void build(int x, int st, int dr, int poz,int nr)
{
if(st == dr) //am gasit poz din ai
ai[x] += nr;
else
{
int m = (dr + st) / 2;
if(m < poz) build(2 * x + 1, m + 1, dr, poz, nr);
else
build(2 * x, st, m, poz, nr);
ai[x] = ai[2 * x + 1] + ai[2 * x];
}
}
void get_sum(int x, int st, int dr, int a,int b)
{
if (st > dr or a > dr or b < st) return;
if(a <= st and dr <= b)
s += ai[x];
else if(st < dr)
{
int m = (st + dr) / 2;
get_sum(2 * x, st, m, a, b);
get_sum(2 * x + 1, m + 1, dr, a, b);
}
}
int main()
{
int n, m, i, a, b, x;
bool y;
f >> n >> m;
for(i = 1; i <= n; i++)
{
f >> x;
build(1, 1, n, i, x);
}
for(i = 1; i <= m; i++)
{
f >> y >> a >> b;
if(!y)
build(1, 1, n, a, - b);
else
{
s = 0;
get_sum(1, 1, n, a, b);
g << s << '\n';
}
}
return 0;
}