#include <bits/stdc++.h>
using namespace std;
map<int, int> s[1000001], m;
int n, tot;
void change(int x, int t, int z) {
  while (t <= 1e9) {
    s[x][t] += z;
    t += t & (-t);
  }
  return;
}
void query(int x, int t) {
  int sum = 0;
  while (t > 0) {
    sum += s[x][t];
    t -= t & (-t);
  }
  printf("%d\n", sum);
  return;
}
int main() {
  int z, t, x;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d %d %d", &z, &t, &x);
    if (!m[x]) m[x] = ++tot;
    if (z == 1) change(m[x], t, 1);
    if (z == 2) change(m[x], t, -1);
    if (z == 3) query(m[x], t);
  }
  return 0;
}
