#include <iostream>
#include<queue>
#include<vector>
using namespace std;

int main() {
    std::priority_queue<int, vector<int>, greater<>> minHeap;
    int n;
    cin>>n;
    while(n--){
        int op;
        cin>>op;
        if(op==1){
            int x;
            cin>>x;
            minHeap.push(x);
        }else if(op==2){
            if(minHeap.size())
            cout<<minHeap.top()<<endl;
        }else if(op==3){
            if(!minHeap.empty())
                minHeap.pop();
        }
    }
    return 0;
}
// 64 位输出请用 printf("%lld")