#include #include #include #include using namespace std; template using max_heap = priority_queue; template using min_heap = priority_queue, greater>; int main() { max_heap small; min_heap large; int q, k; cin >> q >> k; while (q--) { int t; cin >> t; if (t == 1) { long long v; cin >> v; if (small.size() < k) { small.emplace(v); continue; } small.emplace(v); large.emplace(small.top()); small.pop(); } else { if (small.size() < k) { cout << -1 << endl; continue; } cout << small.top() << endl; small.pop(); if (!large.empty()) { small.emplace(large.top()); large.pop(); } } } return 0; }