#include<bits/stdc++.h>
using namespace std;
int a[1000003]={};
int size=0;
int now;
int main(){
int n;
cin>>n;
int q,x;
for(int i=0;i<n;i++){
scanf("%d",&q);
if(q==1){
scanf("%d",&x);
a[++size]=x;
now=size;
while(now>>1>=1&&a[now>>1]>a[now]){
swap(a[now>>1],a[now]);
now>>=1;
}
}
if(q==2){
printf("%d\n",a[1]);
}
if(q==3){
swap(a[1],a[size]);
size--;
now=1;
while(a[now]>a[now<<1]&&now<<1<=size){
swap(a[now],a[now<<1]);
now<<=1;
}
}
}
return 0;
}