Play on Words

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 32768/32768 K (Java/Others)

Description

  Detective Liu recently got his eye on someone suspicious and also he got a letter from the guy. Detective Liu has his own method to judge whether a person was evil. He got a list words, which was collected during the years he worked. Those are the words that the evils often used.
  Here comes your task. Give a list of the “evil” words and another word; you are going to find the “evilness” of it. The “evilness” of the word is defined by the times that it appears in the list. If A is evil under the word B, then every letter of A should appear in B in order but could leave some of B unmatched.

Input

The first line give M (10 <= M <= 5000), the number of the evil words.
Then M lines follows, which is the evil words each in one line, at most 20 characters, all lowercase.
Next comes N (1 <= N <= 1000) stand for the number of query words.
Then comes the query words with the same constraints.

Output

For each query words, output the “evilness” of it in one line.

Sample Input

3 hello summer goodbye 1 good

Sample Output

1

Hint

lcy

Source

HDU 2009-12 Programming Contest

提交代码