#include using namespace std; using i64 = long long; #define rep(i,s,e) for(int (i) = (s);(i) <= (e);(i)++) priority_queue max_que; priority_queue,greater> min_que; int Q,K; int main(){ cin >> Q >> K; vector ans; rep(c,1,Q){ int q; cin >> q; if(q == 1){ i64 v; cin >> v; if(max_que.size() < K){ max_que.push(v); } else{ max_que.push(v); min_que.push(max_que.top()); max_que.pop(); } } else{ if(max_que.size() < K){ ans.push_back(-1); } else{ ans.push_back(max_que.top()); max_que.pop(); if(!min_que.empty()){ max_que.push(min_que.top()); min_que.pop(); } } } } for(auto i : ans){ cout << i << endl; } }