#include using namespace std; using ll = long long; #define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i)) #define all(x) (x).begin(),(x).end() #define pb push_back #define fi first #define se second #define dbg(x) cout<<#x" = "<<((x))< ostream& operator<<(ostream& o, const pair &p){o<<"("< ostream& operator<<(ostream& o, const vector &v){o<<"[";for(T t:v){o< small; priority_queue, greater> large; while(Q--){ int q; scanf(" %d", &q); if(q==1){ ll v; scanf(" %lld", &v); if(small.size()v){ large.push(small.top()); small.pop(); small.push(v); } else large.push(v); } } else{ ll ans = -1; if(small.size() == K){ ans = small.top(); small.pop(); if(!large.empty()){ small.push(large.top()); large.pop(); } } printf("%lld\n", ans); } } return 0; }