#include <stdio.h>
typedef long long lint;
void adaug(lint i,lint x,lint n,lint sum[])
{
lint j;
for(j=i;j<=n;j=j+(((j^(j-1))+1)>>1))
sum[j]+=x;
}
lint suma(lint i,lint sum[])
{
lint aux,j;
for(aux=0,j=i;j;j=j&(j-1))
aux+=sum[j];
return(aux);
}
int main()
{
FILE *fi=fopen("datorii.in","r"),
*fo=fopen("datorii.out","w");
lint sum[15001],n,i,m,j,i1,i2;
fscanf(fi,"%ld %ld",&n,&m);
for(i=0;i<=n;sum[i++]=0);
for(i=1;i<=n;i++)
{
fscanf(fi,"%ld",&j);
adaug(i,j,n,sum);
}
for(i=1;i<=m;i++)
{
fscanf(fi,"%ld %ld %ld",&j,&i1,&i2);
if (j==0) adaug(i1,-i2,n,sum);
else fprintf(fo,"%ld\n",suma(i2,sum)-suma(i1-1,sum));
}
fclose(fi);
fclose(fo);
return(0);
}