별표가 있는 시

아직 제출이 없습니다시간 제한5초메모리 제한128 MB

문제

어떤 이국적인 언어에는 영어 소문자로 이루어진, 서로 다른 비어 있지 않은 단어가 NN개 있다.

이 언어에는 다른 어떤 언어에서도 볼 수 없는 독특한 성질이 있다. 글로 쓸 때 별표(*)라는 특별한 기호를 사용하는데, 이 기호는 한 단어에서 연속된 임의의 (비어 있을 수도 있는) 조각을 대신할 수 있다. 그래서 적힌 단어는 여러 뜻으로 읽히게 되고, 이 언어로는 유난히 깊이 있는 시를 쓸 수 있다. 일상생활은 번거로워지지만, 결국 예술은 삶보다 중요하다.

언어의 모든 단어 목록(별표 없이 온전한 형태로 주어진다)과, 각 단어에 별표가 정확히 하나씩 들어 있는 시의 본문이 주어진다. 시의 각 단어에 대응하는 언어 단어가 몇 개인지 구하여라.

정확히 말하면, 시의 한 단어는 접두사 PP, 별표, 접미사 SS의 순서로 이루어진다(양쪽 모두 비어 있을 수 있다). 이 단어는 언어 단어 WWPP로 시작하고 SS로 끝나며 WP+S|W| \ge |P| + |S|를 만족할 때에만 대응한다(별표가 가린 조각이 올바른 연속 구간이 되어야 하기 때문이다).

예를 들어 언어에 단어 zupa, z, malpy, intruz, pyszny가 있다면, 시 z*, m*y, g*ingo에서 첫 번째 시 단어에는 두 개, 두 번째에는 한 개, 세 번째에는 하나도 대응하지 않는다(인쇄 오류가 있었던 모양이다).

입력

첫 번째 줄에 테스트 집합의 개수를 나타내는 자연수 ZZ (1Z101 \le Z \le 10)가 주어진다. 이어서 각 테스트 집합이 차례로 주어진다.

각 테스트 집합의 첫 번째 줄에는 언어의 단어 개수를 나타내는 자연수 NN (1N1000001 \le N \le 100000)이 주어진다.

다음 NN개의 줄에는 언어의 단어가 한 줄에 하나씩 주어진다. 단어들은 서로 다르며, 각각 영어 소문자 1개 이상 10개 이하로 이루어진다.

그다음 줄에는 시의 단어 개수를 나타내는 자연수 KK (1K1000001 \le K \le 100000)가 주어진다.

다음 KK개의 줄에는 시의 단어가 한 줄에 하나씩 주어진다. 이 단어들은 서로 다를 필요는 없으며, 각각 1개 이상 10개 이하의 문자로 이루어지고 그중 정확히 하나가 별표, 나머지는 영어 소문자이다.

출력

각 테스트 집합마다 KK개의 줄을 출력한다. 그중 ii번째 줄에는 시의 ii번째 단어에 대응하는 언어 단어의 개수를 출력한다.