#include <fstream>
#include <iostream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int arb[16000];
int v[70000];
void creare(int x, int st, int dr)
{
if(st == dr)
f>>arb[x];
else
{
int mij = (st + dr) >> 1;
creare(2 * x, st, mij);
creare(2 * x + 1, mij + 1, dr);
arb[x] = arb[2 * x] + arb[2 * x + 1];
}
}
void modifica(int x, int st, int dr, int k, int val)
{
if(st == dr)
arb[x] -= val;
else
{
int mij = (st + dr) >> 1;
if (k <= mij)
modifica(2 * x, st, mij, k, val);
else
modifica(2 * x + 1, mij + 1, dr, k, val);
arb[x] = arb[2 * x] + arb[2 *x +1];
}
}
int suma(int x, int st, int dr, int i, int j)
{
if (i == st && dr == j)
{
return arb[x];
}
int mij = (st + dr) >> 1;
if(j <= mij)
return suma(2 * x, st, mij, i, j);
else if(mij < i)
return suma(2 * x + 1, mij + 1, dr, i, j);
return suma(2 * x, st, mij, i, mij) + suma(2 * x + 1, mij + 1, dr, mij + 1, j);
}
int main()
{
int n, m, i, opt, a, b;
f>>n>>m;
creare(1, 1, n);
// for(i=1;i<=4*n;i++)
// cout<<arb[i]<<" ";
for(i=1; i<=m; i++)
{
f>>opt>>a>>b;
if(opt)
{
g<<suma(1, 1, n, a, b)<<endl;
}
else
{
modifica(1, 1, n, a, b);
}
}
return 0;
}