#include <bits/stdc++.h>
using namespace std;
int d[1000010],tail=0;
int main()
{
int n;
cin>>n;
while(n--)
{
int op;
cin>>op;
if(op==1)
{
tail++;
cin>>d[tail];
int temp=tail;
while(true)
{
if(temp==1)
break;
if(d[temp]<d[temp/2])
{
swap(d[temp],d[temp/2]);
temp/=2;
}
else
break;
}
}
else if(op==2)
cout<<d[min(1,tail)]<<'\n';
else if(op==3)
{
swap(d[1],d[tail]);
tail--;
int temp=1;
while(true)
{
if(temp*2>tail)
break;
int left=temp*2,right=-1;
if(left+1<=tail)
right=left+1;
int flag=0;
if(d[temp]>d[left])
flag=1;
if(d[temp]>d[right]&&d[right]>d[left])
flag=-1;
if(flag==0)
break;
else if(flag==1)
{
swap(d[temp],d[left]);
temp=left;
}
else
{
swap(d[temp],d[right]);
temp=right;
}
}
}
// for(int i=1;i<=tail;i++)
// cout<<d[i]<<" \n"[i==tail];
}
return 0;
}
写到9:45实在想不出有没有大佬救救我啊