#include <bits/stdc++.h>
#define MAXN 15002
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
int n,v[MAXN];
int Tr(int x)
{
return x & (-x);
}
void update(int is, int val)
{
for (int i =is; i <= n; i += Tr(i))
v[i] += val;
}
int suma (int is)
{
int s = 0;
for (int i = is; i > 0; i -=Tr(i))
s += v[i];
return s;
}
int main() {
int m, nr, op, x,y;
f >> n>> m;
for (int i = 1; i <= n; ++i){
f >> nr;
update(i, nr);
}
for (int i=0; i < m; i++) {
f >> op >> x >> y;
if (op == 0)
update (x, - y);
if (op == 1)
g<< suma(y) - suma(x - 1) <<endl;
}
return 0;
}