#include <cstdio>
#include <cmath>
#include <algorithm>
#define NMAX 15005
using namespace std;
int arb[NMAX*4], x, n, m, k, cod, a, b;
double lungime, klung;
void init(int poz, int nr)
{
if(poz < 1)
return;
arb[poz]+=nr;
init(poz/2, nr);
}
int cauta(int st, int dr, int poz_arb, int a, int b)
{
if(st >= a && dr <= b)
return arb[poz_arb];
if(st > b || dr < a)
return 0;
int med=(st+dr)/2;
return cauta(st, med, 2*poz_arb, a, b) + cauta(med+1, dr, 2*poz_arb+1, a, b);
}
int main()
{
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
scanf("%d %d", &n, &m);
lungime=(double) n;
klung=log2(lungime);
klung=ceil(klung);
k=klung;
k=(1<<(k));
//printf("%d", k);
for(int i=1; i<=n; i++)
{
scanf("%d", &x);
arb[k+i-1]=x;
init((k+i-1)/2, x);
}
//printf("%d", arb[1]);
for(int i=1; i<=m; i++)
{
scanf("%d %d %d", &cod, &a, &b);
if(cod == 0)
{
b=b*(-1);
init(k+a-1, b);
}
else
{
printf("%d\n", cauta(1, k, 1, a, b));
}
}
return 0;
}