//
// main.cpp
// datorii
//
// Created by Catalina Brinza on 11/19/13.
// Copyright (c) 2013 Catalina Brinza. All rights reserved.
//
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int main(int argc, const char * argv[])
{int a[15001], s[1501];
int n,m,i,j,sumf,x,p,q;
f>>n>>m;
for (i=0;i<=n/10;i++) s[i]=0;
for (i=1;i<=n;i++) {f>>a[i];s[i/10]+=a[i];}
for (i=0;i<m;i++)
{
f>>x>>p>>q;
if (x==0)
{
a[p]-=q;
s[p/10]-=q;
}
else
{
sumf=0;
for(j=p/10;j<=q/10;j++) sumf=+s[j];
for (j=(p/10)*10;j<p;j++) sumf-=a[j];
for (j=q+1;j<(q/10+1)*10;j++) sumf-=a[j];
g<<sumf<<"\n";}
}
return 0;
}