Multi-Set
For a set S of integers, perform a sequence of the following operations.
Note that multiple elements can have equivalent values in S.
insert(x): Insert x to S and report the number of elements in S after the operation.
find(x): Report the number of x in S.
delete(x): Delete all x from S.
dump(L, R): Print elements x in S such that L≤x≤R.
The input is given in the following format.
q
query1
query2
:
queryq
Each query queryi is given by
0 x
or
1 x
or
2 x
or
3 L R
where the first digits 0, 1, 2 and 3 represent insert, find, delete and dump operations respectively.
For each insert operation, print the number of elements in S.
For each find operation, print the number of specified elements in S.
For each dump operation, print the corresponding elements in ascending order. Print an element in a line.
1≤q≤200,000
0≤x≤1,000,000,000
The total number of elements printed by dump operations does not exceed 1,000,000
The sum of numbers printed by find operations does not exceed 2,000,000