Magicka (작은 입력)

원소를 순서대로 호출하면서 마지막 두 원소에 결합 규칙을 적용하고 대립하는 원소가 나타나면 목록 전체를 비워 결과를 구합니다.

쉬움3시뮬레이션스택면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

마법사인 당신은 기본 원소 8개를 소환한다. 기본 원소는 Q, W, E, R, A, S, D, F 중 한 글자다. 원소를 소환하면 그 원소가 원소 목록의 맨 뒤에 붙는다. 예를 들어 W를 소환한 다음 A를 소환하면(줄여서 "WA를 소환한다"고 쓴다) 원소 목록은 [W, A]가 된다.

기본 원소 두 개가 결합해 기본 원소가 아닌 원소(나머지 대문자 18개 중 하나)를 만드는 조합이 입력으로 주어진다. Q와 F가 결합해 T가 된다고 하자. 조합을 이루는 두 원소가 원소 목록의 맨 뒤 두 자리에 놓이는 순간, 두 원소는 즉시 목록에서 빠지고 결합해서 만들어진 원소 하나가 그 자리에 들어간다. 이 예에서 목록이 [A, Q, F]나 [A, F, Q]가 되면 목록은 [A, T]가 된다.

서로 상극인 기본 원소 쌍도 입력으로 주어진다. 원소를 소환한 직후, 그 원소가 결합해 다른 원소로 바뀌지 않았고 목록 안에 그 원소와 상극인 원소가 하나라도 있으면 원소 목록 전체가 비워진다.

Q와 F가 결합해 T가 되고 R과 F가 상극인 경우, 왼쪽부터 차례로 소환하면 결과는 다음과 같다.

  • QF → [T] (Q와 F가 결합해 T가 된다)
  • QEF → [Q, E, F] (Q와 F가 맨 뒤에 함께 놓인 적이 없어 결합하지 않는다)
  • RFE → [E] (F와 R이 상극이라 목록이 비워지고, 그다음 E를 소환한다)
  • REF → [] (F와 R이 상극이라 목록이 비워진다)
  • RQF → [R, T] (QF가 결합해 T가 되므로 목록이 비워지지 않는다)
  • RFQ → [Q] (F와 R이 상극이라 목록이 비워진다)

소환할 원소의 순서가 주어질 때, 모두 소환한 뒤 원소 목록에 무엇이 남는지 구하는 문제다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어지는 TT개의 줄에 테스트 케이스가 한 줄에 하나씩 주어지고, 각 줄에는 다음 값이 공백으로 구분되어 순서대로 들어온다.

먼저 정수 CC와 길이가 3인 문자열 CC개가 온다. 각 문자열은 기본 원소 두 개와 기본 원소가 아닌 원소 하나로 이루어지며, 앞의 기본 원소 두 개가 결합해 마지막 원소가 된다는 뜻이다. 다음으로 정수 DD와 길이가 2인 문자열 DD개가 온다. 각 문자열은 서로 상극인 기본 원소 두 개다. 마지막으로 정수 NN과 길이가 NN인 문자열 하나가 온다. 이 문자열은 소환할 기본 원소의 순서이고, 왼쪽 글자부터 하나씩 소환한다.

제한

  • 1T1001 \le T \le 100
  • 기본 원소 쌍 하나가 나오는 조합은 많아야 하나다. 같은 쌍이 조합에도 나오면서 상극일 수는 있다.
  • 자기 자신과 상극인 기본 원소는 없다.
  • 컴퓨터 게임 Magicka와 달리 원소 목록의 길이에는 제한이 없다.
  • 0C10 \le C \le 1
  • 0D10 \le D \le 1
  • 1N101 \le N \le 10

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 케이스 번호이고, y는 최종 원소 목록을 "[e0, e1, ...]" 형식으로 적은 것이다. ei는 목록의 i번째 원소이며, 원소 사이는 쉼표 하나와 공백 하나로 구분한다. 목록이 비어 있으면 "[]"를 출력한다.