1129: 最短前缀

Memory Limit:128 MB Time Limit:1.000 S Judge Style:Text Compare Creator:
Submit:9 Solved:4

Description

字符串的前缀是从给定字符串的开头开始的子字符串。“carbon”的前缀是:“c”、“ca”、“car”、“carb”、“carbo”和“carbon”。请注意,在这个问题中,空字符串不被视为前缀,但每个非空字符串都被视为其本身的前缀。在日常语言中,我们倾向于用前缀来缩写单词。例如,“carbohydrate”通常缩写为“carb”。在这个问题中,给定一组单词,你会为每个单词找到最短的前缀,该前缀唯一地标识它所代表的单词。

在下面的样本输入中,“carbohydrate”可以缩写为“carboh”,但不能缩写为“carbo”(或任何更短的词),因为列表中还有其他单词以“carbo”开头。

完全匹配将覆盖前缀匹配。例如,前缀“car”与给定的单词“car”完全匹配。因此,可以毫不含糊地理解,“car”是“car”的缩写,而不是“carriage(车厢)”或列表中以“car”开头的任何其他单词。

不允许普通用户打印题目,请教师登录后使用。如有疑问请联系管理员!

Input

第一行数据一个数N,表示单词个数。

接下来N行,每行包含一个单词,由1到20个小写字母组成。

2<=N<=1000

Output

输出包含与输入相同数量的行。输出的每一行都包含输入的相应行中的单词,后面跟着一个空格,以及唯一(无歧义)标识该单词的最短前缀。

Sample Input Copy

12
carbohydrate
cart
carburetor
caramel
caribou
carbonic
cartilage
carbon
carriage
carton
car
carbonate

Sample Output Copy

carbohydrate carboh
cart cart
carburetor carbu
caramel cara
caribou cari
carbonic carboni
cartilage carti
carbon carbon
carriage carr
carton carto
car car
carbonate carbona