[APC001] D - Array Again

题目描述

你需要维护一个数列,支持 $4$ 种操作: 1. `1 x y`:连续向数列中插入 $y$ 个数 $x$。 2. `2 x y`:连续在数列中删除 $y$ 次 $x$。如果在某一次删除中 $x$ 已经不存在于数列中,则忽略此操作。 3. `3`:对数列进行去重,即,对于每个在数列中出现过的不同的正整数 $x$,如果它在数列中出现了大于 $1$ 次,则只在数列中保留一个 $x$,其余全部删除。 4. `4 x`:查询数列中 $x$ 的出现次数。 对于每个操作 $4$,请求出其答案。

输入输出格式

输入格式


第一行一个整数 $q$,表示询问次数。 接下来 $q$ 行,每行若干个整数,表示一次操作。

输出格式


对于每次操作 $4$ 输出一行,表示其答案。 数据保证至少有一次操作 $4$。

输入输出样例

输入样例 #1

5
1 2 10
2 2 5
4 2
3
4 2

输出样例 #1

5
1

输入样例 #2

4
1 1000000000 1000000000
1 1000000000 1000000000
1 1000000000 1000000000
4 1000000000

输出样例 #2

3000000000

输入样例 #3

20
4 95002957
2 384405322 255642125
2 384405322 174926753
2 384405322 51265222
1 384405322 311383201
4 384405322
1 384405322 5464229
4 22438767
4 17075617
1 384405322 153189933
1 230228188 148299369
1 7168162 387115701
1 384405322 154480360
1 384405322 438458686
3
1 7961090 98996809
4 153074129
1 975025351 171484003
1 384405322 650527951
4 384405322

输出样例 #3

0
311383201
0
0
0
650527952

说明

### 样例解释 $1$ 第 $1$ 次操作:插入 $10$ 个 $2$。 第 $2$ 次操作:删除 $5$ 个 $2$。此后数列中只包含 $5$ 个 $2$。 第 $3$ 次操作:查询 $2$ 的出现次数,共 $5$ 次。 第 $4$ 次操作:对数列进行去重。此后数列中只包含一个 $2$。 第 $5$ 次操作:查询 $2$ 的出现次数,共 $1$ 次。 ### 样例解释 $2$ 请注意答案可能会超过 `int` 的范围。 ### 数据范围 对于 $100\%$ 的数据,$1\le q\le 10^5$,$1\le x,y\le 10^9$。 请注意:由于本题所在比赛没有部分分,故只有通过所有的测试点才可以获得满分,否则会获得 $0$ 分。