#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;
}