*【拓扑(难度:4)】破解密语
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
【题意】
三年级1班的英语老师刚教了同学们前n(n≤26)个字母,就并且布置了一项巨难的作业:要求同学们去英语字典中找到m(m≤100000)个只由这n个字母组成的单词。
假设n=5,m=6,小明找到了6个单词(分别为:dad、eda、ded、ada、abeceda、bac)。为了老师批改作业方便,小明特意将这6个单词按字典序写在作业本上:abeceda、ada、bac、dad、ded、eda。
小红是个调皮份子,特意制造了一份错误的字母对照表:

然后小红用这份错误的字母对照表把小明作业本上的6个单词修改了(但是没有修改单词的先后顺序),修改后的结果如下:cebdbac、cac、ecd、dca、aba、bac。并且最后还写了一句密语(也是用错误字母对照表修改过的)。
小明后来发现小红修改了他的6个单词,小明虽然忘记了自己找到的6个单词原来的样子,但小明还记得这些单词原来是按字典序排列的,而且知道小红没有修改单词的先后顺序。借助这点,小明计划用计算机程序破解了小红的错误的字母对照表,同时也破解了小红最后一句密语。
题目要求在给出n、m,以及m个用错误字母对照表修改过的单词,破解小红的密语。请你帮帮小明。
【输入格式】
第一行是两个整数n、m。
接下来的m行,每行一个单词(小红用错误字母对照表修改过),按原来的字典顺序给出。
下来一行,小红给出的密语。
所有单词和小红的密语的字母个数均小于100。
【输出格式】
一行,为密语破解后的密语。如果无法根据m个单词破解错误字母对照表,则输出0。
【样例输入】
5 6
cebdbac
cac
ecd
dca
aba
bac
cedab
【样例输出】
abcde