어떤 이국적인 언어에는 영어 소문자로 이루어진, 서로 다른 비어 있지 않은 단어가 N개 있다.
이 언어에는 다른 어떤 언어에서도 볼 수 없는 독특한 성질이 있다. 글로 쓸 때 별표(*)라는 특별한 기호를 사용하는데, 이 기호는 한 단어에서 연속된 임의의 (비어 있을 수도 있는) 조각을 대신할 수 있다. 그래서 적힌 단어는 여러 뜻으로 읽히게 되고, 이 언어로는 유난히 깊이 있는 시를 쓸 수 있다. 일상생활은 번거로워지지만, 결국 예술은 삶보다 중요하다.
언어의 모든 단어 목록(별표 없이 온전한 형태로 주어진다)과, 각 단어에 별표가 정확히 하나씩 들어 있는 시의 본문이 주어진다. 시의 각 단어에 대응하는 언어 단어가 몇 개인지 구하여라.
정확히 말하면, 시의 한 단어는 접두사 P, 별표, 접미사 S의 순서로 이루어진다(양쪽 모두 비어 있을 수 있다). 이 단어는 언어 단어 W가 P로 시작하고 S로 끝나며 ∣W∣≥∣P∣+∣S∣를 만족할 때에만 대응한다(별표가 가린 조각이 올바른 연속 구간이 되어야 하기 때문이다).
예를 들어 언어에 단어 zupa, z, malpy, intruz, pyszny가 있다면, 시 z*, m*y, g*ingo에서 첫 번째 시 단어에는 두 개, 두 번째에는 한 개, 세 번째에는 하나도 대응하지 않는다(인쇄 오류가 있었던 모양이다).
첫 번째 줄에 테스트 집합의 개수를 나타내는 자연수 Z (1≤Z≤10)가 주어진다. 이어서 각 테스트 집합이 차례로 주어진다.
각 테스트 집합의 첫 번째 줄에는 언어의 단어 개수를 나타내는 자연수 N (1≤N≤100000)이 주어진다.
다음 N개의 줄에는 언어의 단어가 한 줄에 하나씩 주어진다. 단어들은 서로 다르며, 각각 영어 소문자 1개 이상 10개 이하로 이루어진다.
그다음 줄에는 시의 단어 개수를 나타내는 자연수 K (1≤K≤100000)가 주어진다.
다음 K개의 줄에는 시의 단어가 한 줄에 하나씩 주어진다. 이 단어들은 서로 다를 필요는 없으며, 각각 1개 이상 10개 이하의 문자로 이루어지고 그중 정확히 하나가 별표, 나머지는 영어 소문자이다.
각 테스트 집합마다 K개의 줄을 출력한다. 그중 i번째 줄에는 시의 i번째 단어에 대응하는 언어 단어의 개수를 출력한다.