#include <cstdio>
using namespace std;
#define MAX_N (1 << 15)
int T[MAX_N];
int N, M, Op;
int Query(int n, int a, int b, int st, int dr)
{
if(a >= st && b <= dr)
return T[n];
else if(a != b)
{
int m = (a + b) >> 1;
int t1, t2;
if(m > a)
t1 = Query(n<<1, a, m, st, dr);
if(m + 1 < b)
t2 = Query((n<<1)+1, m+1, b, st, dr);
return t1 + t2;
}
else if(a == b)
return T[n];
}
void Update(int n, int a, int b, int x, int v)
{
T[n] -= v;
if(a != b)
{
int m = (a + b) >> 1;
if(a < m && x >= a && x <= m)
Update(n<<1, a, m, x, v);
else if(m + 1 < b)
Update((n<<1)+1, m+1, b, x, v);
}
}
int main()
{
freopen("datorii.in", "rt", stdin);
freopen("datorii.out", "wt", stdout);
int i, a, b;
for ( scanf("%d %d", &N, &M), i = 1; i <= N; ++i )
{
scanf("%d %d %d", &Op, &a, &b);
if(Op == 0) // achit b din valoarea zilei a
Update(1, 1, N, a, b);
else // interogare: a, a+1, ..., b-1, b
printf("%d\n", Query(1, 1, N, a, b));
}
fclose(stdin);
fclose(stdout);
return 0;
}