#include<bits/stdc++.h>
using namespace std;
#define rep0(i,n) for(int i=0;i<n;i++)
#define rep1(i,n) for(int i=1;i<=n;i++)
#define REP(i,j,n) for(int i=j;i<=n;i++)
#define REPG(i,x,h) for(int i=h[x];~i;i=edge[i].next)
typedef unsigned long long ULL;
const int N=1e6+5;
ULL c[N],b[N];
int main(){
ios::sync_with_stdio(false);
int n=0,m;
std::cin>>m;
while(m--){
int a,b;
std::cin>>a>>b;
if(a==1){
int k=lower_bound(c+1,c+1+n,b)-c;
cout<<k<<endl;
}
if(a==2){
cout<<c[b]<<endl;
}
if(a==3){
int k=lower_bound(c+1,c+1+n,b)-c;
if(k==1)
cout<<"-2147483647"<<endl;
else
cout<<c[k-1]<<endl;
}
if(a==4){
int k=upper_bound(c+1,c+1+n,b)-c;
if(k==n+1)
cout<<"2141483647"<<endl;
else
cout<<c[k]<<endl;
}
if(a==5){
int k=lower_bound(c+1,c+1+n,b)-c;
if(k==n+1)
c[++n]=b;
else{
for(int i=n;i>=k;i--){
c[i+1]=c[i];
}
c[k]=b;
n++;
}
}
}
return 0;
}