#include<bits/stdc++.h>
#include <iterator>
#include <set>
using namespace std;

class sol{
private:
    set<int> st;

public:
sol() {

}

void insertValue(int x){
    //TODO 实现插入逻辑
    st.insert(x);
}
void eraseValue(int x){
    //TODO 实现删除逻辑
    if(st.find(x) != st.end()){
        st.erase(x);
    }
}
int xInSet(int x){
    //TODO 实现存在性检查
    return st.find(x) != st.end();
}
int sizeOfSet(){
    //TODO 返回集合大小
    return st.size();
}
int getPre(int x){
    //TODO 实现找前驱
    auto it=st.lower_bound(x);
    if(it==st.begin()){
        return -1;
    }else{
        return *prev(it);
    }
}
int getBack(int x){
    //TODO 实现找后继
    auto it=st.upper_bound(x);
    if(it==st.end()){
        return -1;
    }else{
        return *it;
    }
}
};


int main(){
    int q,op,x;
    cin>>q;
    sol sl = sol();
    while(q--){
        cin>>op;
        if(op==1){
            cin>>x;
            sl.insertValue(x);
        }
        if(op==2){
            cin>>x;
            sl.eraseValue(x);
        }
        if(op==3){
            cin>>x;
            if(sl.xInSet(x)){
                cout<<"YES\n";
            }else{
                cout<<"NO\n";
            }
        }
        if(op==4){
            cout<<sl.sizeOfSet()<<endl;
        }
        if(op==5){
            cin>>x;
            cout<<sl.getPre(x)<<endl;
        }
        if(op==6){
            cin>>x;
            cout<<sl.getBack(x)<<endl;
        }
    }
    return 0;
}