UVA13055 Inception

题目描述

多姆・科布和他的搭档亚瑟通过进入目标人物的潜意识来从事非法活动。他们采用梦中梦的两层梦境策略来获取有价值的信息。做梦者要么被突然的冲击唤醒,要么可能在梦中死亡。 现在,多姆需要你的帮助。因为他有一个复杂的任务。他必须穿梭于许多人的梦境之中。他从一个人的梦境进入另一个人的梦境。他太过投入,以至于再也无法分辨自己是醒着的,还是处于别人的梦境中。 他会给你 $n$ 个查询,每个查询将是以下形式之一: `Sleep X`:这表示名为 $X$ 的人将要入睡,而多姆正从之前的人的梦境(如果有的话)进入 $X$ 的梦境。 `Kick`:这表示当前多姆所进入的梦境的主人将会被唤醒,多姆将返回到他进入这个梦境之前所在的那个人的梦境。如果多姆不再处于任何人的梦境中,就忽略这个查询请求。 `Test`:这表示多姆想知道此刻自己正处于谁的梦境中。你需要打印出这个人的名字。如果此刻多姆没有处于任何人的梦境中,你需要输出 `Not in a dream`。

输入格式

第一行将包含一个整数 $n$($1\le n\le 10000$),表示查询的数量。接下来的 $n$ 行每行将包含上述三种查询中的一种。对于 `Sleep X` 查询,$X$ 是一个仅由大写或小写字母组成的字符串,且长度不超过 $15$ 个字符。

输出格式

对于每个 `Test` 查询,输出多姆当前所在梦境的主人的名字,名字需与输入中出现的形式完全一致。如果多姆不在任何人的梦境中,输出一行 `Not in a dream`。详情可参考示例输入和输出。