今天 Erik Axel 的妻子选了一条绿色的领带,所以他知道所有的单元测试都会通过。这非常幸运,因为他的老板给他布置了一项艰巨的任务。PHB 周刊上有一篇文章描述了一项关于组织结构的研究,该研究由一群瑞典心理学家进行。他们确定了一组他们认为在任何组织树中都具有危险性的模式,例如工程师的上方有经济学家。
老板已经从文章中复制了所有的模式,Erik Axel 现在必须编写一个程序,在他的咨询公司的组织树中搜索这些模式。对于每个模式,他必须查看是否存在一个从有根查询模式树 $P$ 到有根目标树 $T$ 的单射映射 $f$,该映射在两个方向上都保持标签和祖先关系(对他老板的话的自由翻译)。这意味着 $f(u) = f(v)$ 当且仅当 $u = v$,$\text{label}(u) = \text{label}(f(u))$,并且 $u$ 是 $v$ 的祖先当且仅当 $f(u)$ 是 $f(v)$ 的祖先。
输入格式
输入的第一行定义了目标树,它有 $1 \le n \le 10000$ 个节点。一个节点由它的标签描述,标签是一个长度为 $1 \le p \le 10$ 的小写字母字符串,后面可能跟着它的子节点列表。子节点列表用括号括起来,并用逗号分隔。接下来是一行,包含 $1 \le q \le 100$,即查询的数量。随后是 $q$ 行,每行定义一个查询树,包含 $1 \le m \le 16$ 个节点。
输出格式
对于每个测试用例,如果查询存在匹配,则输出一行 “disaster”,否则输出 “great success”。
样例
样例输入 1
a(a,b(c,c),d) 2 a(c,d) a(b,c)
样例输出 1
disaster great success