#include <algorithm>
#include <iostream>
#include <set>
using namespace std;
int pre(set<int> &s,int x){ //改用引用传参,提高效率,因为每次传入的集合s都一样
auto it=s.upper_bound(x);
return (it==s.begin())?-1:*--it;
}
int back(set<int> &s,int x){
auto it=s.upper_bound(x);
return (it==s.end()?-1:*it);
}
int main(){
int q,opt,x,a,b;
cin>>q;
set<int> s;
for(int i=0;i<q;i++){
cin>>opt>>x;
if(opt==1){
auto it=s.find(x);
if(it!=s.end()) cout<<"Already Exist"<<endl;
else s.insert(x);
}
else{
if(s.empty()) cout<<"Empty"<<endl;
else{
a=pre(s,x);
b=back(s,x);
if(a==-1){
cout<<b<<endl;
s.erase(b);
}
else if(b==-1){
cout<<a<<endl;
s.erase(a);
}
else{
if(abs(a-x)<=abs(b-x)){
cout<<a<<endl;
s.erase(a);
}
else{
cout<<b<<endl;
s.erase(b);
}
}
}
}
}
return 0;
}