CF120H Brevity is Soul of Wit

题目描述

当我们交流的时候,我们能够学到很多新东西。 然而,交流的过程会消耗太多时间。 如果我们去看一下我们在日常交流中使用的词汇,事情就变得很清楚了。 我们可以列出很多由许多字母组成的简单的单词,如“information”,“technologies”,“university”,“conservatoire”,“refrigerator”,“stopwatch”,“windowsill”,“electricity”,“government”等。当然,我们可以继续重复列出这样的词汇以至无穷。 幸运的是,这个问题的解决方案已经被找到了。 为了让我们的发言更加简洁明了,我们应该用那些和这些最初的词汇相近的、但是更加短的单词来替代它们。这个想法目前还没有被应用于实际生活,而这正是你被选中来改变这个状况的原因。 让我们考虑下面这个变换单词的方式: 我们假设一个人在一场谈话中可以使用 $n$ 个单词。 对于每个单词,我们引入一个概念:它的短变形。 对于任意一个单词 $s$,我们定义它的短变形为 $t$。 $t$ 需要满足如下条件: 1. 它是 $s$ 的子序列。 2. 它的长度在 $1$ 到 $4$ 个字母之间。 换句话说,$t$ 包含至少一个,至多四个,且在 $t$ 中顺序与其在 $s$ 中顺序相同的字母。 注意:$t$ 中的字母在 $s$ 中并不是一个紧挨着一个出现的。 当原本的单词长度不超过 $4$ 时,你不能再缩短它。 给出 $n$ 个不同单词。你的任务是找出它们的短变形。 要求使得这些单词的短变形两两不同。

输入格式

第一行只包含一个整数 $n$。 接下来有 $n$ 行,每行包含一个由小写字母组成的单词。 每个单词的长度不超过 $10$。

输出格式

如果解决方案存在,输出 $n$ 行,第 $i$ 行是输入中第 $i$ 行给出的单词的短变形。如果有不止一个满足条件的短变形,输出其中任意一个。 如果不存在解决方案,输出 `-1`。

说明/提示

**数据范围** 对于 $100\%$ 的数据,$1 \leq n \leq 200$。