#include <cstdio>
#define MAXN 15001
using namespace std;
int zeroes(int x)
{
return (x ^ (x - 1)) & x;
}
void Update(int BIT[], int N, int index, int value)
{
for (int i = index; i <= N; i += zeroes(i))
{
BIT[i] += value;
}
}
int Query(int BIT[], int N, int x)
{
int sum = 0;
for (int i = x; i > 0; i -= zeroes(i))
{
sum += BIT[i];
}
return sum;
}
int bit[MAXN];
int main()
{
FILE *fin = fopen("datorii.in", "r");
FILE *fout = fopen("datorii.out", "w");
int N, M, i, a, b, c;
fscanf(fin, "%d%d", &N, &M);
for (i = 1; i <= N; i++)
{
fscanf(fin, "%d", &a);
Update(bit, N, i, a);
}
for (i = 1; i <= M; i++)
{
fscanf(fin, "%d%d%d", &a, &b, &c);
if (a == 1)
{
fprintf(fout, "%d\n", Query(bit, N, c) - Query(bit, N, b - 1));
}
else
{
Update(bit, N, b, -c);
}
}
return 0;
}