一个手套仓库最初为空。手套有 种尺码,编号为 ,每种尺码的手套又分为左手套和右手套。
一只左手套和一只右手套可以配成一双,当且仅当它们的尺码相同。每只手套只能用于配成一双手套。
现在需要依次处理 次操作。用 表示左手套, 表示右手套。每次操作属于以下三种类型之一:
1 x t a:向仓库中放入 只尺码为 、类型为 的手套。2 x t a:从仓库中取出 只尺码为 、类型为 的手套。如果这类手套不足 只,则将这类手套全部取出。3:查询当前仓库中的手套最多可以配成多少双,统计所有尺码的配对总数。第三类操作只进行查询,不会取出手套或改变库存。请依次回答所有第三类操作。
第一行包含两个整数 ,分别表示尺码的种类数和操作次数。
接下来 行,每行描述一次操作,格式为 1 x t a、2 x t a 或 3,含义如题目描述所示。
对于每次第三类操作,输出一行一个整数,表示当前仓库中的手套最多可以配成的总双数。
5 13
1 2 1 5
1 2 2 3
3
2 2 1 4
3
1 2 1 2
3
2 2 2 5
3
1 4 1 2
1 4 2 4
1 2 2 1
3
3
1
3
0
3
1 9
1 1 1 1000000000
1 1 1 1000000000
1 1 2 1000000000
1 1 2 1000000000
1 1 1 1000000000
1 1 2 1000000000
3
2 1 1 1000000000
3
3000000000
2000000000
对于样例 ,五次查询的情况依次如下:
对于样例 ,前六次操作后,尺码为 的左、右手套各有 只,因此第一次查询的答案为 。取出 只左手套后,第二次查询的答案为 。
本题各子任务单独计分。须通过某子任务包含的所有测试点,方可获得该子任务的分数。
| 子任务编号 | 分数 | |
|---|---|---|
对于 的数据,,;操作类型为 、 或 ;第一类和第二类操作中,,,。