#include<bits/stdc++.h>
using namespace std;
#define N 1000010
int n, m;
long long c[N];
int lowbit(int x) {
return x & (-x);
}
void add(int x, int y) {
for (int i = x; i <= n; i += lowbit(i)) {
c[i] += y;
}
}
long long getsum(int x) {
long long s = 0;
for (int i = x; i > 0; i -= lowbit(i)) {
s += c[i];
}
return s;
}
long long query(int l, int r) {
return getsum(r) - getsum(l - 1);
}
int main() {
scanf("%d%d", &n, &m);
int k, x, y;
for (int i = 1; i <= n; i++) {
scanf("%d", &x);
add(i, x);
}
while (m--) {
scanf("%d%d%d", &k, &x, &y);
if (k == 1) {
add(x, y);
}
else {
printf("%lld\n", query(x, y));
}
}
return 0;
}