치명적인 단어 (라지)

사전 단어 중 고정된 알파벳 순서로 추측하며 후보를 좁히는 상대가 가장 많이 틀리도록 만드는 단어를 고합니다.

보통7트라이시뮬레이션문자열아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

친구 션과 행맨 게임을 한다. 션은 이 게임에 그리 능숙하지 않다. 션의 허술한 전략을 파고들어 션이 점수를 최대한 많이 잃게 만들어라.

 +--+
 |    O
 |   / | \       Mystery word: _ a _ a _ a _
 |    /  \
 |
+-+---+

행맨은 이렇게 진행한다.

  • 유효한 단어를 모두 모은 사전 D가 있고, 나와 션 모두 그 내용을 안다. 단어는 a부터 z까지의 문자로만 이루어지며 공백은 없다.
  • 먼저 D에서 단어 하나를 골라 칠판에 적는데, 각 글자를 밑줄 _ 하나로 가려서 적는다.
  • 션은 자기 차례에 문자 하나를 골라 그 문자가 단어에 있는지 묻는다. 있으면 그 문자가 나타나는 위치를 모두 공개한다. 없으면 션이 1점을 잃는다.
  • 단어의 모든 글자가 공개되면 그 라운드는 끝난다.
  • 션이 점수를 얼마나 잃든 라운드가 그보다 먼저 끝나는 일은 없다.

션의 전략은 단순하다. 26개 문자를 어떤 순서로 나열한 목록 L을 만들고, 목록을 앞에서부터 한 문자씩 훑는다. 지금 보고 있는 문자를 (a) 포함하고 (b) 칠판에 적힌 내용과 션이 앞서 물어본 모든 결과에 부합하는 단어가 D에 하나라도 있으면 션은 그 문자를 묻는다. 그렇지 않으면 건너뛴다. 어느 쪽이든 션은 곧바로 목록의 다음 문자로 넘어간다.

션의 목록이 주어질 때, 션이 점수를 가장 많이 잃게 하려면 어떤 단어를 골라야 하는지 구하라. 잃는 점수가 같은 선택이 여러 개면 D에서 먼저 나오는 단어를 고른다.

게임 진행 예시

L이 "abcdefghijklmnopqrstuvwxyz"이고 Dbanana, caravan, pajamas로 이루어졌다고 하자. pajamas를 고르면 게임은 이렇게 흘러간다.

  • 칠판에 밑줄 7개 _ _ _ _ _ _ _를 적는다. 밑줄 개수만 보고도 션은 단어가 caravan이나 pajamas임을 곧바로 안다.
  • 션은 L의 첫 문자인 a를 묻고, a가 있는 위치를 모두 공개해 칠판은 _ a _ a _ a _가 된다.
  • bbanana에 쓰이지만 션은 건너뛴다. 그 단어가 답이 아님을 이미 알기 때문이다.
  • 이어서 c를 묻는다. caravanc가 있기 때문이다. 실제로 고른 단어에는 c가 없으므로 션은 1점을 잃고 새로 공개되는 글자도 없다.
  • 남은 후보가 하나뿐이므로 션은 답이 pajamas임을 알고 j, m, p, s를 차례로 물어 점수를 더 잃지 않고 라운드를 끝낸다.

pajamas를 고르면 션은 1점을 잃는다. 다른 두 단어를 골랐다면 션은 한 점도 잃지 않는다.

입력

첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 사전에 있는 단어의 수 N과 살펴볼 목록의 수 M이 주어진다.

다음 N개의 줄에 사전의 단어 D1,D2,,DND_1, D_2, \dots, D_N이 한 줄에 하나씩 주어진다. 각 단어는 a부터 z까지의 문자를 임의로 이어 붙인 문자열이다.

마지막 M개의 줄에 션이 사용할 목록 L1,L2,,LML_1, L_2, \dots, L_M이 한 줄에 하나씩 주어진다. 각 목록은 26개 문자를 각각 정확히 한 번씩 담은 길이 26의 문자열이다. 션은 위에서 설명한 방식대로 이 목록에 따라 문자를 묻는다.

제한

  • 1T101 \le T \le 10
  • 사전에 있는 단어의 길이는 1 이상 10 이하이다.
  • 한 테스트 케이스 안에서 같은 단어가 두 번 주어지지 않는다.
  • 1N100001 \le N \le 10000
  • 1M1001 \le M \le 100

출력

각 테스트 케이스마다 Case #x: w1 w2 ... wM 형식으로 한 줄을 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, wi는 션이 목록 LiL_i의 순서대로 문자를 물을 때 골라야 하는 단어다. 단어 사이는 공백 하나로 구분한다. 션이 잃는 점수가 같은 단어가 여러 개면 사전에서 먼저 나오는 단어를 출력한다.