#include <iostream>
using namespace std;
const int size=1e5+10;
int ch[size][2],val[size],rnd[size],siz[size],w[size],sz,rt,ans;
void pushup(int cur){
siz[cur]=siz[ch[cur][0]]+siz[ch[cur][1]]+w[cur];
}
void rotate(int &cur,int d){
int nef=ch[cur][d^1];
ch[cur][d^1]=ch[nef][d];
ch[nef][d]=cur;
pushup(nef),pushup(cur);
cur=nef;
}
void insert(int &cur,int x){
if(cur==0){
cur=++sz;
siz[cur]=1,w[cur]=1,val[cur]=x,rnd[cur]=rand();
}else{
siz[cur]++;
if(val[cur]==x) w[cur]++;
else if(x<val[cur]){
insert(ch[cur][0],x);
if(rnd[ch[cur][0]]<rnd[cur]) rotate(cur,1);
}else if(x>val[cur]){
insert(ch[cur][1],x);
if(rnd[ch[cur][1]]<rnd[cur]) rotate(cur,0);
}
}
}
bool remove(int &cur,int x){
if(cur==0) return false;
if(val[cur]==x){
if(w[cur]>1){
w[cur]--,siz[cur]--;
return true;
}
if(ch[cur][0]==0||ch[cur][1]==0){
cur=ch[cur][0]+ch[cur][1];
return true;
}else if(rnd[ch[cur][0]]<rnd[ch[cur][1]]){
rotate(cur,1);
return remove(cur,x);
}else{
rotate(cur,0);
return remove(cur,x);
}
}else if(val[cur]<x){
bool succ=remove(ch[cur][1],x);
if(succ) siz[cur]--;
return succ;
}else if(val[cur]>x){
bool succ=remove(ch[cur][0],x);
if(succ) siz[cur]--;
return succ;
}
}
int kth(int cur,int x){
if(cur==0) return 0;
if(val[cur]==x) return siz[ch[cur][0]]+1;
else if(x>val[cur]) return siz[ch[cur][0]]+w[cur]+kth(ch[cur][1],x);
else return kth(ch[cur][1],x);
}
int rnk(int cur,int x){
if(cur==0) return 0;
if(x<=siz[ch[cur][0]]) return rnk(ch[cur][0],x);
else if(x>siz[ch[cur][0]]+w[cur]) return rnk(ch[cur][1],x-siz[ch[cur][0]]-w[cur]);
else return val[cur];
}
void pre(int cur,int x){
if(cur==0) return;
if(val[cur]<x) ans=cur,pre(ch[cur][1],x);
else pre(ch[cur][0],x);
}
void sub(int cur,int x){
if(cur==0) return;
if(val[cur]>x) ans=cur,sub(ch[cur][0],x);
else sub(ch[cur][1],x);
}
int main(){
int n,o,x;
cin>>n;
for(int i=1;i<=n;i++){
cin>>o>>x;
if(o==1) insert(rt,x);
else if(o==2) remove(rt,x);
else if(o==3) cout<<kth(rt,x)<<endl;
else if(o==4) cout<<rnk(rt,x)<<endl;
else if(o==5) pre(rt,x),cout<<val[ans]<<endl;
else if(o==6) sub(rt,x),cout<<val[ans]<<endl;
}
return 0;
}