6112: 传递信息的奶牛

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

Description

农夫约翰有一块位于高速公路一侧的农场,他想在奶牛身上打上广告语给自己生产的奶制品作些宣传,这样当奶牛们排成一排吃草时,开车的人就能看到广告。于是约翰依次在C(2 ≤ C ≤ 20)头奶牛的身上刷上了K (2 ≤ K ≤ 4)个字母组成了一句广告语,广告语中是没有空格。

在第二天早上出奶之后,农夫约翰注意到他刷在奶牛身上的广告语显示出错了,原因是奶牛们排错了次序,更糟糕的是农夫约翰也忘了最初的广告语,因为约翰十分的健忘,好在约翰文化程度很低,他认识的单词并不多,他所用的广告语使用的单词都是他所认识的,约翰认识的单词不超过的D个(1≤D≤150),一个单词可以不止一次地用于广告语中。

现在给出所有奶牛身上的信息,以及约翰认识的所有单词,请你编一个程序,帮助农夫约翰重建最初的信息。

Input

第一行为3个用空格隔开的整数,表示K,C,D。

第2到C+1行每行均为K个字母,表示一头奶牛身上的信息。

从C+2行到C+D+1行每行为一个约翰认识的单词,单词的长度不超过10。

Output

第1行为在字典序列中最小的可能的句子。第2行一个整数,表示有多少句可能的句子。如果不存在符合要求的句子,输出"NOSOLUTIONS"。

Sample Input Copy

3 5 7
TEN
ATT
NAT
BAR
ACK
AT
ATTACK
BARN
CHICKENS
CHOPPERS
COWS
TEN
1 1
2 4
3 1
2 2
2 1

Sample Output Copy

ATTACK BARN AT TEN
6

HINT

TEN ATTACK BARN AT

TEN BARN AT ATTACK

ATTACK TEN BARN AT

ATTACK BARN AT TEN

BARN AT TEN ATTACK

BARN AT ATTACK TEN