Play on Words

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

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


  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.


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.


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

Sample Input

3 hello summer goodbye 1 good

Sample Output





HDU 2009-12 Programming Contest