有 个两两互不相同的仅由小写字符构成的命令字符串 (),你需要实现一个支持命令补全的命令行。
你的输入区是一个字符串 ,他可以接受小写字母 和 键 (以 表示), 键 (以 表示), 键 (以 表示)。规则如下所述:
-
当你接受小写字符 ,将把 追加到输入区字符串 的末尾。
-
当你接受 键,将尝试删除最后一个字符:
- 如果输入区字符串 为空,则不进行任何操作。
- 如果输入区字符串 非空,则丢弃 末尾的字符。
-
当你接受 键,将会对 进行一次智能补全,补全规则如下:
- 设以 为前缀的命令字符串集合为 。
- 如果 为空,则不进行任何操作。
- 如果 非空,则把 置为 。这里 代表最长公共前缀,含义是最长的,是 中每一个字符串前缀的字符串。
-
当你接受 键,将会试图执行命令 :
- 如果存在命令字符串 ,则输出命令编号 。
- 如果不存在命令字符串 ,则输出 。
- 无论是否执行成功,清空输入区 。
给定你接受到的输入串 ,你需要输出每个 键执行的结果。