#include #include #include #include #include // include // include // find_by_order(int) -> iterator // order_of_key(int) -> int using namespace __gnu_pbds; template using Set = tree, rb_tree_tag, tree_order_statistics_node_update>; template using Map = tree, rb_tree_tag, tree_order_statistics_node_update>; using namespace std; long long input() { long long t; scanf("%lld", &t); return t; } int main() { int q, K; cin >> q >> K; Set> st; while (q--) { if (input() == 1) { st.insert({input(), q}); } else { if (st.size() >= K) { auto it = st.find_by_order(K - 1); printf("%lld\n", it->first); st.erase(it); } else { puts("-1"); } } } }