#6RE其它WA
#include<bits/stdc++.h>
using namespace std;
long long heap[1000001],heap1;
void put(long long d){
int son,pa;
heap[++heap1]=d;
son=heap1;
while(son>1){
pa=son>>1;
if(heap[son]>=heap[pa])break;
swap(heap[son],heap[pa]);
son=pa;
}
}
int get()
{
long long pa,son,res;
res=heap[1];
heap[1]=heap[heap1--];
pa=1;
while(pa*2<=heap1)
{
son=pa*2;
if(son<heap1&&heap[son+1]<heap[son])son++;
if(heap[pa]<=heap[son]) break;
swap(heap[pa],heap[son]);
pa=son;
}
return res;
}
int main()
{
long long n,a,x;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
if(a==1){
cin>>x;
put(x);
}
if(a==2){
cout<<get();
}
}
return 0;
}