/// treap by muoii
/// vn.spoj.com/problems/ORDERSET/
#include <bits/stdc++.h>
using namespace std;
#define tag "spoj"
#define maxn 1007
#define oo 1000000007
#define mid ((l+r)>>1)
#define meset(a,x) memset(a,x,sizeof(a))
#define loop(x) for(int LoOpEr=1;LoOpEr<=x;LoOpEr++)
///>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
class treap{
typedef struct item{
int val,prior,siz,cnt;
item *l,*r;
item(const int &v): val(v), prior(rand()<<rand()%16 | rand()), siz(1), cnt(1), l(0), r(0) {};
static int size(item* ptr) { return ptr?ptr->siz:0; }
void resize() { siz=size(l)+size(r)+1; }
} *pitem;
static int size(pitem ptr) { return ptr?ptr->siz:0; }
void split(pitem node,const int &val,pitem &l,pitem &r)
{
if(!node) l=r=0;
else if(node->val < val)
split(node->r,val,node->r,r),node->resize(),l=node;
else split(node->l,val,l,node->l),node->resize(),r=node;
}
pitem merge(const pitem &l,const pitem &r)
{
if(!l || !r) return l?l:r;
if(l->prior < r->prior)
{
l->r=merge(l->r,r);
l->resize();
return l;
}
else
{
r->l=merge(l,r->l);
r->resize();
return r;
}
}
pitem root=0;
public:
int size() { return size(root); };
pitem find(const pitem &node,const int &val)
{
if(!node || node->val==val) return node;
return (node->val > val)?find(node->l,val):find(node->r,val);
}
pitem find(const int &val)
{
return find(root,val);
}
void insert(const int &val)
{
pitem l,m,r;
l=m=r=0;
split(root,val,l,r);
split(r,val+1,m,r);
m=m?m:new item(val);
root=merge(l,merge(m,r));
}
void erase(const int &val)
{
pitem l,m,r;
l=m=r=0;
split(root,val,l,r);
split(r,val+1,m,r);
delete m;
root=merge(l,r);
}
int kth(const pitem &node,const int &k)
{
if(size(node->l)+1 == k) return node->val;
return (size(node->l)>=k)?kth(node->l,k):kth(node->r,k-size(node->l)-1);
}
void printf_kth(const int &k)
{
if(k>size(root))cout<<"invalid\n";
else cout<<kth(root,k)<<"\n";
}
int smaller(const int &val)
{
pitem l,r;
split(root,val,l,r);
int rep=size(l);
merge(l,r);
return rep;
}
};
int main()
{
#ifdef dmdd
freopen(tag".inp","r",stdin); freopen(tag".out","w",stdout);
#endif // dmdd
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int q,x;
char query;
cin>>q;
treap tree;
for(int i=0;cin>>query>>x,i<q;i++)
if(query=='I') tree.insert(x);
else if(query=='D') tree.erase(x);
else if(query=='K') tree.printf_kth(x);
else cout<<tree.smaller(x)<<"\n";
return 0;
}
Ly8vIHRyZWFwIGJ5IG11b2lpCgovLy8gdm4uc3Bvai5jb20vcHJvYmxlbXMvT1JERVJTRVQvCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSB0YWcgInNwb2oiCiNkZWZpbmUgbWF4biAxMDA3CiNkZWZpbmUgb28gMTAwMDAwMDAwNwojZGVmaW5lIG1pZCAoKGwrcik+PjEpCiNkZWZpbmUgbWVzZXQoYSx4KSBtZW1zZXQoYSx4LHNpemVvZihhKSkKI2RlZmluZSBsb29wKHgpIGZvcihpbnQgTG9PcEVyPTE7TG9PcEVyPD14O0xvT3BFcisrKQovLy8+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+CiAKY2xhc3MgdHJlYXB7CiAKICAgIHR5cGVkZWYgc3RydWN0IGl0ZW17CiAgICAgICAgaW50IHZhbCxwcmlvcixzaXosY250OwogICAgICAgIGl0ZW0gKmwsKnI7CiAKICAgICAgICBpdGVtKGNvbnN0IGludCAmdik6IHZhbCh2KSwgcHJpb3IocmFuZCgpPDxyYW5kKCklMTYgfCByYW5kKCkpLCBzaXooMSksIGNudCgxKSwgbCgwKSwgcigwKSB7fTsKIAogCiAgICAgICAgc3RhdGljIGludCBzaXplKGl0ZW0qIHB0cikgeyByZXR1cm4gcHRyP3B0ci0+c2l6OjA7IH0KIAogICAgICAgIHZvaWQgcmVzaXplKCkgeyBzaXo9c2l6ZShsKStzaXplKHIpKzE7IH0KICAgIH0gKnBpdGVtOwogCiAgICBzdGF0aWMgaW50IHNpemUocGl0ZW0gcHRyKSB7IHJldHVybiBwdHI/cHRyLT5zaXo6MDsgfQogCiAgICB2b2lkIHNwbGl0KHBpdGVtIG5vZGUsY29uc3QgaW50ICZ2YWwscGl0ZW0gJmwscGl0ZW0gJnIpCiAgICB7CiAgICAgICAgaWYoIW5vZGUpIGw9cj0wOwogICAgICAgIGVsc2UgaWYobm9kZS0+dmFsIDwgdmFsKQogICAgICAgICAgICBzcGxpdChub2RlLT5yLHZhbCxub2RlLT5yLHIpLG5vZGUtPnJlc2l6ZSgpLGw9bm9kZTsKICAgICAgICBlbHNlIHNwbGl0KG5vZGUtPmwsdmFsLGwsbm9kZS0+bCksbm9kZS0+cmVzaXplKCkscj1ub2RlOwogICAgfQogCiAgICBwaXRlbSBtZXJnZShjb25zdCBwaXRlbSAmbCxjb25zdCBwaXRlbSAmcikKICAgIHsKICAgICAgICBpZighbCB8fCAhcikgcmV0dXJuIGw/bDpyOwogCiAgICAgICAgaWYobC0+cHJpb3IgPCByLT5wcmlvcikKICAgICAgICB7CiAgICAgICAgICAgIGwtPnI9bWVyZ2UobC0+cixyKTsKICAgICAgICAgICAgbC0+cmVzaXplKCk7CiAgICAgICAgICAgIHJldHVybiBsOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICByLT5sPW1lcmdlKGwsci0+bCk7CiAgICAgICAgICAgIHItPnJlc2l6ZSgpOwogICAgICAgICAgICByZXR1cm4gcjsKICAgICAgICB9CiAgICB9CiAKICAgIHBpdGVtIHJvb3Q9MDsKIApwdWJsaWM6CiAKICAgIGludCBzaXplKCkgeyByZXR1cm4gc2l6ZShyb290KTsgfTsKIAogICAgcGl0ZW0gZmluZChjb25zdCBwaXRlbSAmbm9kZSxjb25zdCBpbnQgJnZhbCkKICAgIHsKICAgICAgICBpZighbm9kZSB8fCBub2RlLT52YWw9PXZhbCkgcmV0dXJuIG5vZGU7CiAKICAgICAgICByZXR1cm4gKG5vZGUtPnZhbCA+IHZhbCk/ZmluZChub2RlLT5sLHZhbCk6ZmluZChub2RlLT5yLHZhbCk7CiAgICB9CiAKICAgIHBpdGVtIGZpbmQoY29uc3QgaW50ICZ2YWwpCiAgICB7CiAgICAgICAgcmV0dXJuIGZpbmQocm9vdCx2YWwpOwogICAgfQogCiAgICB2b2lkIGluc2VydChjb25zdCBpbnQgJnZhbCkKICAgIHsKICAgICAgICBwaXRlbSBsLG0scjsKIAogICAgICAgIGw9bT1yPTA7CiAKICAgICAgICBzcGxpdChyb290LHZhbCxsLHIpOwogICAgICAgIHNwbGl0KHIsdmFsKzEsbSxyKTsKIAogICAgICAgIG09bT9tOm5ldyBpdGVtKHZhbCk7CiAKICAgICAgICByb290PW1lcmdlKGwsbWVyZ2UobSxyKSk7CiAgICB9CiAKICAgIHZvaWQgZXJhc2UoY29uc3QgaW50ICZ2YWwpCiAgICB7CiAgICAgICAgcGl0ZW0gbCxtLHI7CiAKICAgICAgICBsPW09cj0wOwogCiAgICAgICAgc3BsaXQocm9vdCx2YWwsbCxyKTsKICAgICAgICBzcGxpdChyLHZhbCsxLG0scik7CiAKICAgICAgICBkZWxldGUgbTsKIAogICAgICAgIHJvb3Q9bWVyZ2UobCxyKTsKICAgIH0KIAogICAgaW50IGt0aChjb25zdCBwaXRlbSAmbm9kZSxjb25zdCBpbnQgJmspCiAgICB7CiAgICAgICAgaWYoc2l6ZShub2RlLT5sKSsxID09IGspIHJldHVybiBub2RlLT52YWw7CiAKICAgICAgICByZXR1cm4gKHNpemUobm9kZS0+bCk+PWspP2t0aChub2RlLT5sLGspOmt0aChub2RlLT5yLGstc2l6ZShub2RlLT5sKS0xKTsKICAgIH0KIAogICAgdm9pZCBwcmludGZfa3RoKGNvbnN0IGludCAmaykKICAgIHsKICAgICAgICBpZihrPnNpemUocm9vdCkpY291dDw8ImludmFsaWRcbiI7CiAgICAgICAgZWxzZSBjb3V0PDxrdGgocm9vdCxrKTw8IlxuIjsKICAgIH0KIAogICAgaW50IHNtYWxsZXIoY29uc3QgaW50ICZ2YWwpCiAgICB7CiAgICAgICAgcGl0ZW0gbCxyOwogCiAgICAgICAgc3BsaXQocm9vdCx2YWwsbCxyKTsKIAogICAgICAgIGludCByZXA9c2l6ZShsKTsKIAogICAgICAgIG1lcmdlKGwscik7CiAKICAgICAgICByZXR1cm4gcmVwOwogICAgfQp9OwogCmludCBtYWluKCkKewogICAgI2lmZGVmIGRtZGQKICAgIGZyZW9wZW4odGFnIi5pbnAiLCJyIixzdGRpbik7IGZyZW9wZW4odGFnIi5vdXQiLCJ3IixzdGRvdXQpOwogICAgI2VuZGlmIC8vIGRtZGQKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogCiAgICBpbnQgcSx4OwogCiAgICBjaGFyIHF1ZXJ5OwogCiAgICBjaW4+PnE7CiAKICAgIHRyZWFwIHRyZWU7CiAKICAgIGZvcihpbnQgaT0wO2Npbj4+cXVlcnk+PngsaTxxO2krKykKICAgICAgICBpZihxdWVyeT09J0knKSB0cmVlLmluc2VydCh4KTsKICAgICAgICBlbHNlIGlmKHF1ZXJ5PT0nRCcpIHRyZWUuZXJhc2UoeCk7CiAgICAgICAgZWxzZSBpZihxdWVyeT09J0snKSB0cmVlLnByaW50Zl9rdGgoeCk7CiAgICAgICAgZWxzZSBjb3V0PDx0cmVlLnNtYWxsZXIoeCk8PCJcbiI7CiAKICAgIHJldHVybiAwOwp9