/*
题意:给定一个容器,里面存放各种数值,规定三个操作,一个是在容器中增加一个数值,
一个是在容器中删掉一个数值,一个是询问容器中比a大的数中第k大的数,
将其输出。如果在删除过程中没有这个数,则输出"No Elment!"
如果容器中没有比a大的第k个数,则输出"Not Find!".
*/
# include <stdio.h>
# include <algorithm>
# include <iostream>
# include <string.h>
using namespace std;
# define N 100005
int c[N];
int lowbit(int x)
{
return x&(-x);
}
void add(int x,int val)
{
while(x<=N)
{
c[x]+=val;
x+=lowbit(x);
}
}
int sum(int x)
{
int res=0;
while(x>0)
{
res+=c[x];
x-=lowbit(x);
}
return res;
}
int slove(int a,int k)
{
int left=a+1;
int right=N-1;
if(sum(right)-sum(left-1)<k)
return -1;
while(left<=right)
{
int mid=(left+right)/2;
if(sum(mid)-sum(a)>=k)
right=mid-1;
else
left=mid+1;
}
return left;
}
int main()
{
int q,op,a,k;
while(~scanf("%d",&q))
{
memset(c,0,sizeof(c));
while(q--)
{
scanf("%d",&op);
if(op==0)
{
scanf("%d",&a);
add(a,1);
}
else if(op==1)
{
scanf("%d",&a);
if(sum(a)-sum(a-1)==0)
printf("No Elment!\n");
else
add(a,-1);
}
else
{
scanf("%d%d",&a,&k);
int ans=slove(a,k);
if(ans!=-1)
printf("%d\n",ans);
else
printf("Not Find!\n");
}
}
}
return 0;
}