#include using namespace std; using i32 = int; using i64 = long long; int main() { int q, k; scanf("%d%d", &q, &k); priority_queue que1; priority_queue, greater> que2; for (i32 _ = 0 ; _ < q ; _++) { i32 t; scanf("%d", &t); if (t == 1) { i64 v; scanf("%lld", &v); if (que1.size() < k - 1) { que1.push(v); } else { if (que1.empty()) { que2.push(v); } else if (que1.top() > v) { que2.push(que1.top()); que1.pop(); que1.push(v); } else { que2.push(v); } } } else { if (que2.empty()) { printf("-1\n"); } else { printf("%lld\n", que2.top()); que2.pop(); } } } }