#include #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using namespace __gnu_pbds; using ll = long long; using P = pair; template using Tree = tree, rb_tree_tag, tree_order_statistics_node_update>; int main() { cin.tie(nullptr) -> sync_with_stdio(false); int q, k; cin >> q >> k; Tree

t; int cnt = 0; rep(qi, q) { int type; cin >> type; if (type == 1) { ll v; cin >> v; t.insert(P(v, cnt++)); } else { if (t.size() < k) { puts("-1"); } else { auto it = t.find_by_order(k-1); printf("%lld\n", *it); t.erase(it); } } } return 0; }