#include #include using namespace std; int S[200001]; void add(int k, int v) { for (int i = k + 1; i <= 200000; i += i & -i) S[i] += v; } long long sum(int k) { long long o = 0; for (int i = k + 1; i > 0; i -= i & -i) o += S[i]; return o; } int main() { int N; scanf("%d", &N); static int X[100000], Y[100000], Z[100000]; static int D[200000], M; for (int i = 0; i < N; i++) { scanf("%d %d %d", &X[i], &Y[i], &Z[i]); if (X[i] == 0) D[M++] = Y[i]; if (X[i] == 1) D[M++] = Y[i] - 1, D[M++] = Z[i]; } sort(D, D + M); M = unique(D, D + M) - D; long long o = 0; for (int i = 0; i < N; i++) { if (X[i] == 0) { int k = lower_bound(D, D + M, Y[i]) - D; add(k, Z[i]); } else { int l = lower_bound(D, D + M, Y[i] - 1) - D; int r = lower_bound(D, D + M, Z[i]) - D; o += sum(r); o -= sum(l); } } printf("%lld\n", o); return 0; }