#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n, m, v[32770];
void adaugare(int k, int st, int dr, int poz, int val)
{
if (st == dr)
{
v[k] += val;
return;
}
int m = (st+dr)/2, fs = k*2;
if (poz <= m)
adaugare(fs, st, m, poz, val);
else
adaugare(fs+1, m+1, dr, poz, val);
v[k] = v[fs] + v[fs+1];
}
int cautare(int k, int st, int dr, int inc, int sf)
{
if (inc <= st && dr <= sf)
return v[k];
int m = (st+dr)/2, fs = k*2, suma=0;
if (inc <= m)
suma += cautare(fs, st, m, inc, sf);
if (m < sf)
suma += cautare(fs+1, m+1, dr, inc, sf);
return suma;
}
int main()
{
int a, b, c, i;
f>>n>>m;
for (i=1;i<=n;++i)
{
f>>c;
adaugare(1, 1, n, i, c);
}
for (i=1;i<=m;++i)
{
f>>c>>a>>b;
if (c==0)
adaugare(1, 1, n, a, -b);
else
g<<cautare(1, 1, n, a, b)<<"\n";
}
return 0;
}