#59612. 叫号系统

叫号系统

暂无测试数据。

有一家医院,病人到医院看病时,会先挂号排队,此时病人会获得一个唯一的编号 $id$。医院有一个病情评测机,它会自动根据病情给病人评测出病情的紧急程度 $urg$。一个病人到达医院后,会自动挂号、评测病情的紧急程度,并且会将信息加入到医院的叫号系统。叫号系统内保证所有排队的病人中所有的 $id$ 和紧急程度 $urg$ 均不相同。

医院的叫号系统非常奇怪,我们认为叫号系统有多种操作,对于每种操作都会有一个操作编号 $op$,操作包括:

  • 若 $op = 1$,认为医院来了一个新的病人,编号为 $id$,病情的紧急程度为 $urg$,需要将他的信息加入到叫号系统内。
  • 若 $op = 2$,医生现在开始叫号,医生会选择紧急程度最小的病人。输出此病人的 id 并将他的信息从叫号系统中删除;如果没有这样的病人,则输出 error
  • 若 $op = 3$,医生现在开始叫号,医生会选择紧急程度最大的病人。输出此病人的 id 并将他的信息从叫号系统中删除;如果没有这样的病人,则输出 error
  • 若 $op = 4$,将叫号系统中编号为 $id$ 的病人的紧急程度修改为 $urg$。叫号系统中一定有该病人,并且新的紧急程度与其他病人的紧急程度不冲突。
  • 若 $op = 5$,将叫号系统中紧急程度为 $urg$ 的病人的编号修改为 $id$。叫号系统中一定有该病人,并且新的编号与其他病人的编号不冲突。
  • 若 $op = 6$,医生想要查询编号为 $id$ 的病人的紧急程度并输出,如果没有该病人,则输出 error
  • 若 $op = 7$,医生想要查询紧急程度为 $urg$ 的病人的编号并输出,如果没有该病人,则输出 error

输入格式

第一行,一个正整数 $n$,表示操作的数量。

接下来 $n$ 行,代表每次操作,每行的第一个数为 $op$,若:

  • $op = 1$,输入两个以空格隔开的正整数 $id,urg$;
  • $op = 2$,该行没有其它输入。
  • $op = 3$,该行没有其它输入。
  • $op = 4$,输入两个以空格隔开的正整数 $id,urg$;
  • $op = 5$,输入两个以空格隔开的正整数 $id,urg$;
  • $op = 6$,输入一个正整数 $id$;
  • $op = 7$,输入一个正整数 $urg$。

保证数据一直合法,并且变量含义如题意所示。

输出格式

输出若干行,依次按照操作 $2\sim 3,6\sim 7$,按照要求进行输出。

数据范围

对于 $30\%$ 的数据,$1\leq n \leq 100$;

对于 $60\%$ 的数据,$1\leq n \leq 1000$;

对于 $100\%$ 的数据,$1\leq n \leq 10^5,1\leq op \leq 7,1\leq id \leq 10^5,1\leq urg\leq 10^5$;

7
1 2 3
1 3 4
6 3
7 3
4 3 5
2
3
4
2
2
3
11
1 1 19
1 3 12
3
1 3 11
2
1 4 8
4 4 9
2
5 11 7
3
6 5
1
3
4
3
error