#include <stdio.h>
long n, m, i, j, aa, bb, x, t[80000], init[20000];
int tip;
void initializeaza(long st, long dr, long poz);
long interogare(long p, long a, long b);
void modif(long p, long val);
int main()
{
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
scanf("%ld%ld", &n, &m);
initializeaza(1, n, 1);
for (i=1; i<=n; i++)
{
scanf("%ld", &x);
modif(init[i], x);
}//for i
for (i=0; i<m; i++)
{
scanf("%d%ld%ld", &tip, &aa, &bb);
if (tip==1)
printf("%ld\n", interogare(1, 1, n));
if (tip==0)
modif(init[aa], t[init[aa]]-bb);
}//for i
return 0;
}//main
void initializeaza(long st, long dr, long poz)
{
long mij;
if (st==dr)
init[st]=poz;
else
{
mij=(st+dr)/2;
initializeaza(st, mij, 2*poz);
initializeaza(mij+1, dr, 2*poz+1);
}//else
}//initializeaza
long interogare(long p, long a, long b)
{
long mij, rez;
if ((aa<=a)&&(b<=bb))
return t[p];
mij=(a+b)/2;
rez=0;
if (aa<=mij)
rez=rez+interogare(2*p, a, mij);
if (bb>mij)
rez=rez+interogare(2*p+1, mij+1, b);
return rez;
}//interogare
void modif(long p, long val)
{
t[p]=val;
p/=2;
while (p)
{
t[p]=t[p*2]+t[2*p+1];
p/=2;
}//while
}//modif