#include<bits/stdc++.h>
using namespace std;
int n,typ,x;
vector<int> m;
void cr(int x)
{
m.insert(lower_bound(m.begin(),m.end(),x),x);
}
void sc(int x)
{
m.erase(lower_bound(m.begin(),m.end(),x));
}
void cxpm(int x)
{
int ans=lower_bound(m.begin(),m.end(),x)-m.begin();
printf("%d\n",ans+1);
}
void cxps(int x)
{
printf("%d\n",m[x-1]);
}
void qz(int x)
{
int ans=*--lower_bound(m.begin(),m.end(),x);
printf("%d\n",ans);
}
void hz(int x)
{
int ans=*upper_bound(m.begin(),m.end(),x);
printf("%d\n",ans);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&typ,&x);
switch(typ)
{
case 1:
cr(x);
break;
case 2:
sc(x);
break;
case 3:
cxpm(x);
break;
case 4:
cxps(x);
break;
case 5:
qz(x);
break;
case 6:
hz(x);
break;
}
}
return 0;
}