问题 O: 约束排列

问题 O: 约束排列

时间限制: 1 Sec  内存限制: 128 MB
提交: 6  解决: 5
[提交] [状态] [讨论版] [命题人:]

题目描述

给出n个互不相同的小写字母,表示出现的字符类型,以及k个约束关系:<a1 b1> <a2 b2> <a3 b3>.....<ak bk>,表示ai必须出现在bi前面(ai,bi不会超出所给字符类型的范围,且ai!=bi)。

请按照字典序输出所有满足约束条件的序列

如:

n=3,字符类型为:x y z

k=1,约束条件为:x z,表示x必须出现在z的前面。

所有满足约束条件的排列有:

xyz

xzy

yxz


输入

第1行,2个整数n和k(1 < n < 9,1 ≤ k ≤ 8)

第2行,n个空格隔开的字符

接下来k行,每行二个字符ai和bi(表示约束关系),数据保证不会出现矛盾的关系。



输出

若干行,每行n个字符(字符之间没有空格),表示排列的结果。

样例输入

3 1
x y z
x z

样例输出

xyz
xzy
yxz

[提交][状态]