#include <iostream>
#include <set>

int main()
{	
	std::multiset<int> S;
	
	int q; std::cin >> q;
	for (int i=0; i<q; i++) {
		int op, x, L, R;
		std::cin >> op;
		if (op==0) {
			std::cin >> x;
			S.insert(x);
			std::cout << S.size() << std::endl;
		}
		else if (op==1) {
			std::cin >> x;
			std::cout << S.count(x) << std::endl;
		}
		else if (op==2) {
			std::cin >> x;
			S.erase(x);
		}
		else {
			std::cin >> L >> R;
			std::set<int>::iterator lb = S.lower_bound(L);
			std::set<int>::iterator ub = S.upper_bound(R);
			for (std::set<int>::iterator it = lb; it != ub; ++it) std::cout << *it << std::endl;
		}
	}
	
	return 0;
}

