#include <fstream>
#define lim 15010
#define zeros(x) ((x ^ (x - 1) & x))
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int aib[lim], n, m, x, y;
void add(int poz, int val){
for (int i = poz; i <= n; i += zeros(i))
aib[i] += val;
}
int query(int poz){
int s = 0;
for (int i = poz; i >= 1; i -= zeros(i))
s += aib[i];
return s;
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= n; i++){
fin >> x;
add(i, x);
}
while (m--){
bool p;
fin >> p;
fin >> x >> y;
if (p == 0)
add(x, -y);
else
fout << query(y) - query(x - 1) << '\n';
}
return 0;
}