숨은 단어 찾기

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

문제

흰 토끼는 검은 토끼에게 단어 하나를 보내려고 한다. 다른 토끼가 그 단어를 알아채면 안 되기 때문에, 흰 토끼는 검은 토끼와 미리 약속을 해 두고 자기가 아는 단어를 모두 알려 주었다. 단어를 보낼 때는 그 단어의 앞뒤와 사이에 다른 글자를 잔뜩 섞어 긴 메시지 하나로 만들어 보낸다.

메시지를 하나 받으면, 흰 토끼가 아는 단어 중에서 그 메시지 안에 연속한 부분 문자열로 나타나는 단어를 모두 찾는다. 이렇게 찾은 서로 다른 단어가 정확히 하나면 그것이 흰 토끼가 보내려던 단어다. 검은 토끼를 도와 메시지마다 답을 구하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다 (1T21 \le T \le 2). 각 테스트 케이스는 다음과 같이 이루어진다.

  1. 첫째 줄에 흰 토끼가 아는 단어의 개수 NN이 주어진다 (1N2000001 \le N \le 200000).
  2. 다음 NN개 줄에 흰 토끼가 아는 단어가 한 줄에 하나씩 주어진다. 각 단어의 길이 KiK_i는 6 이상 50 이하이고, 단어는 알파벳 소문자로만 이루어진다.
  3. 그다음 줄에 흰 토끼가 보낸 메시지의 개수 MM이 주어진다 (1M101 \le M \le 10).
  4. 다음 MM개 줄에 메시지가 한 줄에 하나씩 주어진다. 각 메시지의 길이 LiL_i는 6 이상 10000 이하이고, 메시지는 알파벳 소문자로만 이루어진다.

출력

메시지마다 한 줄씩 답을 출력한다. 먼저 그 메시지 안에 연속한 부분 문자열로 나타나는, 흰 토끼가 아는 서로 다른 단어의 개수를 센다.

  1. 그런 단어가 하나도 없으면 NO를 출력한다.
  2. 정확히 하나면 그 단어를 그대로 출력한다.
  3. 둘 이상이면 AMBIGUOUS를 출력한다.