#include <fstream>
#include <iostream>
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
const int NMAX = 15e3;
int ain[NMAX*4 + 4];
int n, q;
void update(int nod, int st, int dr, int poz, int val){
if(st == dr){
ain[nod] += val;
return;
}
int mij = (st+dr)/2;
if(poz <= mij) update(2*nod, st, mij, poz, val);
else update(2*nod+1, mij+1, dr, poz, val);
ain[nod] = ain[2*nod] + ain[2*nod+1];
}
void sum(int nod, int st, int dr, int bg, int end, int &suma){
if(bg <= st and dr <= end){
suma += ain[nod];
return;
}
int mij = (st+dr)/2;
if(bg <= mij) sum(2*nod, st, mij, bg, end, suma);
if(mij < end) sum(2*nod+1, mij+1, dr, bg, end, suma);
}
int main()
{
f>>n>>q;
for(int i=1; i<=n; i++){
int k;
f>>k;
update(1, 1, n, i, k);
}
for(int i=1; i<=q; i++){
int t, a, b;
f>>t>>a>>b;
if(t==1){
int suma = 0;
sum(1, 1, n, a, b, suma);
g<<suma<<"\n";
}else{
update(1, 1, n, a, -b);
}
}
return 0;
}