德语使用传统的尖引号(‘«’ 和 ‘»’),因此人们可以用“传统”方式引用文本。德语中不寻常的是,人们也可以用“反向”方式引用文本。在日常生活中,这些风格不会混用,因为它们被用于不同的德语国家。但让我们找点乐子!如果我们合并这两种排版传统,并忽略嵌套引用的规则(即允许无限嵌套),我们将得到广义德语规则,它允许我们写出如下的小型引用杰作:
«»Anführungszeichen« 意为 German 中的 «quote marks»»
非正式地说,如果一个字符串可以通过从格式正确的广义德语文本中删除所有非引号字符得到,我们就称其为正确的引用。形式化定义如下:
$$\langle G \rangle ::= \varepsilon \mid \langle G \rangle\langle G \rangle \mid \text{‘«’}\langle G \rangle\text{‘»’} \mid \text{‘»’}\langle G \rangle\text{‘«’}$$
因此,一个正确的引用要么是空字符串,要么是两个正确引用的连接,要么是以传统方式或反向方式引用的正确引用。在后一种情况下,我们称 $\langle G \rangle$ 左侧的引号为起始引号,右侧的引号为结束引号。例如,在引用字符串 ‘«»’ 中,引号 ‘«’ 是起始引号;而在字符串 ‘»«’ 中,同一个引号 ‘«’ 是结束引号。
你的任务是检查给定的字符串是否为正确的引用,如果是,则恢复其结构——即将所有起始引号替换为 ‘[’,并将所有结束引号替换为 ‘]’。
输入格式
输入的第一行也是唯一一行包含一个由引号序列组成的字符串。为了限制在纯 ASCII 字符范围内,引号 ‘«’ 和 ‘»’ 分别编码为 ‘<<’ 和 ‘>>’。字符串不包含任何其他字符。字符串非空且长度不超过 254 个 ASCII 字符。
输出格式
如果输入字符串是正确的引用,请将所有起始引号替换为 ‘[’,将所有结束引号替换为 ‘]’,并输出结果。如果存在多种可能的方案,输出其中任意一种即可。
如果字符串不是正确的引用,输出 “Keine Loesung”。
样例
样例 1
输入
<<>><<<<>>>>
输出
[][[]]
样例 2
输入
>><<>>>><<<<<<>>>><<
输出
[][[]][][]
样例 3
输入
<<<<>>
输出
Keine Loesung