T438100 「YAC Round 9」《东方妖精武踏会》

题目背景

![](https://sukicdn.com/wyx/i/2024/03/25/64nft.png)

题目描述

东方同人游戏 《东方妖精武踏会》 发布后,游戏厅也上线了这款游戏。 游戏厅经理本以为这款游戏会很小众,于是只为这款游戏安排了一台游戏机,但没想到的是 《东方妖精武踏会》 的人气比所有人想象的更加火爆。 因此,这台游戏机从早到晚都排着超长的队伍。 这台游戏机 **最多可以两个人同时游玩**。 现在,你需要用程序维护这个队列,并在他人游玩结束后通知接下来上游戏机游玩的人。 在整个过程中,有以下几种事件: - `start`: 表示一局 《东方妖精武踏会》 游戏开始。 如果之前游戏开始过,那么上一局的玩游戏的人需要 **先按照原本的顺序回到队尾** 以让出游戏机。 然后,让当前队列中的 前两个人或一个人(**队列里可能只有一个人**) 上场,此时按照顺序输出这两个人或一个人; 若这一局游戏无人上场,则输出 `Error` 并忽略这个事件。 - `arrive x`:$x$ 到达游戏厅并且加入队尾。 此时 $x$ **不应该在排队也不应该在游玩**,若 $x$ 不在队列中,则事件成功执行,输出 `OK`;否则输出 `Error` 并忽略这个事件。 - `leave x`:$x$ 离开游戏厅并离开队列。 此时 $x$ **应该在排队但不应该在游玩**,若 $x$ 在排队,则事件成功执行,输出 `OK`; 否则输出 `Error` 并忽略这个事件。

输入格式

第一行输入一个整数 $n$ $\;$ ($1 \le n \le 10^5$) — 表示事件条数。 接下来 $n$ 行,每行表示一个事件。 **保证人名只包含大小写英文字符,且长度不超过 $10$ 。**

输出格式

按题目要求输出 $n$ 行,表示每个事件输出的结果。

说明/提示

**样例解释** - 第一次 `start` 游戏开始但是队列并没有任何人,输出 `Error`。 - `Marisa` 加入队列。 - `start` 游戏开始,此时只有 `Marisa` 上场玩游戏。 - `Alice` 加入队列。 - `start` 游戏开始,上一局玩游戏的 `Marisa` 回到队尾,然后 `Alice` 和 `Marisa` 上场。 - `Reimu` 加入队列。 - `Marisa` 尝试离开,但是她在玩游戏,无法离开。 - `Alice` 试图加入,但是她在玩游戏,无法加入。 - `Reimu` 试图加入,但是她已经在队列中了,无法加入。 - `start` 游戏开始,上一局玩游戏的 `Alice` 和 `Marisa` 按顺序回到队尾,然后 `Reimu` 和 `Alice` 上场。 - `Marisa` 离开。 - `Cirno` 试图离开,但是她不在队列里面,无法离开。