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