#include <iostream> #include <set> #include <queue> using namespace std; int main() { int n, op, card; queue<int> cards; multiset<int> maxCards; cin>>n; for(int i=0;i<n;i++){ cin>>op; if(op == 1){ cin>>card; cards.push(card); maxCards.insert(card); } else if(op == 2){ card = cards.front(); cards.pop(); multiset<int>::iterator it = maxCards.find(card); maxCards.erase(it); } else if(op == 3){ multiset<int>::iterator it2 = maxCards.end(); it2--; cout<<*(it2)<<"\n"; } } return 0; }