编程题
### 问题描述
你需要实现一个可删除的大根堆,给定 $q$ 组查询,每组查询的操作为其中一种:
- `1 x`:插入一个整数 $x$ 进入大根堆中。
- `2 x`:输出大根堆中 $x$ 的个数。
- `3 x`:删除一个大根堆中值为 $x$ 的数。
- `4 x`:删除大根堆中值为 $x$ 的所有的数。
- `5`:输出大根堆中元素数量。
- `6`:输出堆顶元素,如果堆为空则输出 `null`。
- `7`:删除堆顶元素。
### 输入格式
第一行输入一个 $q$,表示查询数量。$(1\le q\le 2\times 10^5)$
接下来 $q$ 行,每行输入一组操作。
- `1 x`:插入一个整数 $x$ 进入大根堆中。
- `2 x`:输出大根堆中 $x$ 的个数。
- `3 x`:删除一个大根堆中值为 $x$ 的数。
- `4 x`:删除大根堆中值为 $x$ 的所有的数。
- `5`:输出大根堆中元素数量。
- `6`:输出堆顶元素,如果堆为空则输出 `null`。
- `7`:删除堆顶元素。
对于 $1\sim 4$ 组操作,$1\le x\le 50$。
### 输出格式
对于 $2,5,6$ 三种操作做出输出并换行,对于删除操作,若此时大根堆无法满足该操作,则不进行操作。
### 样例输入
```text
15
1 3
2 3
1 4
2 4
1 3
5
6
4 3
5
2 4
2 3
1 3
3 3
7
5
```
### 样例输出
```text
1
1
3
4
1
1
0
0
```