#include <cstdio>
#include <cassert>
#include <ext/pb_ds/assoc_container.hpp>

using namespace std;
using namespace __gnu_pbds;

int main() {
  int tn, t, x;
  tree<int, null_type, greater<int>, rb_tree_tag, tree_order_statistics_node_update> s;
  
  scanf("%d", &tn);
  while (tn--) {
    scanf("%d%d", &t, &x);
    if (t == 1)
      s.insert(x);
    else if (t == -1)
      s.erase(x);
    else 
      printf("%d\n", *s.find_by_order(x - 1)); // k-й максимум
  }
  return 0;
}

/** s.order_of_key(9999999) -- позиция ключа в дереве */