#include<cstdio>
#include<set>
using namespace std;
set<int>st;
int n;
int nearly(int x)
{
set<int>::iterator it;
it=st.lower_bound(x);
int a=*it;
int b=*it-1;
bool flag=0;
for(set<int>::iterator i=it;i!=st.end();i--)
{
if(flag==0) flag=1;
else
{
b=*i;
break;
}
}
int fir=x-a,last=b-x;
if(fir<last) return a;
else if(last<fir) return b;
else return b;
}
int main()
{
scanf("%d",&n);
for(register int i=1;i<=n;i++)
{
int opt,x;
scanf("%d%d",&opt,&x);
if(opt==1)
{
if(st.count(x)) puts("Already Exist");
else st.insert(x);
}
else
{
if(st.empty())
{
puts("Empty");
continue;
}
if(st.count(x))
{
printf("%d\n",x);
st.erase(x);
continue;
}
int ans=nearly(x);
st.erase(ans);
printf("%d\n",ans);
}
}
}