2205. Genotypes

单点时限: 2.0 sec

内存限制: 256 MB

Genotype is a finite sequence of genes. It can be described by words built of capital letters A-Z of the English alphabet. Different letters denote different kinds of genes. A gene can bud and in effect transform into a pair of new genes. Such transformations are controlled by a finite set of rules. Every rule of budding can be described by three capital letters A1A2A3. Such a description means that gene A1 can transform into the pair of genes A2A3.

We are using S to denote the special kind of genes called supergenes. The breeding of a genotype begins from a sequence of supergenes and it consists in controlled budding of chosen genes according to the given rules.

Write a program that:

  • reads a finite set of budding rules and a sequence of words describing genotypes which we want to breed,

  • for every given genotype checks if it can be bred from a certain finite sequence of supergenes according to the given budding rules and if so finds the minimal length of such a sequence,

  • writes the result.

输入格式

In the first line there is one integer n, 1 <= n <= 10000. In each of the following n lines there is one budding rule. Such a rule is described by a word consisting of three capital letters A - Z.

In the next line there is written one integer k, 1 <= k <= 10000. In each of the following k lines there is one genotype. Such a genotype is described by a non-empty word consisting of at most 100 letters A - Z.

输出格式

In the i-th of k lines there should be written:

  • one positive integer - the minimal length of a sequence of supergenes needed to breed the i-th of the given genotypes, or

  • the word NIE (which means NO in Polish), if such a genotype can not be bred.

样例

Input
6
SAB
SBC
SAA
ACA
BCC
CBC
3
ABBCAAABCA
CCC
BA
Output
3
1
NIE

0 人解决,4 人已尝试。

0 份提交通过,共有 16 份提交。

9.9 EMB 奖励。

创建: 15 年,9 月前.

修改: 6 年,8 月前.

最后提交: 3 年,5 月前.

来源: POI 1997 II Stage

题目标签