#include <stdio.h>
int a[20000], c[20000], n, m, i, j, k, w, p, q, s1, s2;
int
main ()
{
FILE *fin, *fout;
fin = fopen ("datorii.in", "r");
fout = fopen ("datorii.out", "w");
fscanf (fin, "%d %d", &n, &m);
for (i = 1; i <= n; i++)
{
fscanf (fin, "%d", &a[i]);
c[i] = 0;
k = i & (i ^ (i - 1));
for (j = i - k + 1; j <= i; j++)
c[i] += a[j];
}
for (i = 1; i <= m; i++)
{
fscanf (fin, "%d %d %d", &w, &p, &q);
if (w == 0)
while (p <= n)
{
c[p] = c[p] - q;
k = p & (p ^ (p - 1));
p = p + k;
}
else
{
s1 = 0;
while (q > 0)
{
s1 += c[q];
k = q & (q ^ (q - 1));
q = q - k;
}
s2 = 0;
p--;
while (p > 0)
{
s2 += c[p];
k = p & (p ^ (p - 1));
p = p - k;
}
fprintf (fout, "%d\n", s1 - s2);
}
}
fclose (fin);
fclose (fout);
return 0;
}