#include<bits/stdc++.h>
#include <set>
using namespace std;
int n,opt,x;multiset<int>Set;
int main(){
    cin>>n;
    for (int i=0;i<n;++i) {
        cin>>opt;
        if (opt==1) {
            cin>>x;
            Set.insert(x);
        }else if (opt==2) {
            cin>>x;
            if (Set.find(x)!=Set.end()) {
                Set.erase(Set.find(x));
            }
        }else if (opt==3) {
            cin>>x;
            cout<<Set.count(x)<<endl;
        }else if (opt==4) {
            cout<<Set.size()<<endl;
        }else if (opt==5) {
            cin>>x;
            auto ptr=Set.lower_bound(x);
            if (ptr==Set.begin()) {
                cout<<-1<<endl;
            }else {
                ptr--;cout<<*ptr<<endl;
            }
        }else if (opt==6) {
            cin>>x;
            auto ptr=Set.upper_bound(x);
            if (ptr==Set.end()) {
                cout<<-1<<endl;
            }else {
                cout<<*ptr<<endl;
            }
        }
    }
    return 0;
}