#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-й максимум
	}
}

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