루빅스 큐브

시간 제한1초메모리 제한128 MB

문제

당신은 노모네오(Nomoneo)라는 나라의 대외정보국 EIEIO의 비밀 요원입니다. 본부는 암호 통신에 쓰는 일회용 난수표(one-time pad)를 루빅스 큐브 안에 숨겨 두었습니다.

(퍼즐이 익숙하지 않은 분을 위한 설명입니다. 루빅스 큐브는 정육면체로, 여섯 개의 면이 각각 3행 3열로 나뉘어 한 면에 아홉 개의 작은 칸이 있습니다. 어느 면이든 시계 방향 또는 반시계 방향으로 돌릴 수 있으며, 한 면을 돌리면 그 면에 맞닿은 이웃 면들의 가장 가까운 세 칸도 함께 다른 면으로 옮겨 갑니다. 큐브가 완성된 상태에서는 각 면이 한 가지 색으로만 채워집니다. 여섯 개 가운데 칸(중앙 칸) 색이 서로 이루는 위치 관계는 절대 바뀌지 않습니다.)

큐브는 이미 섞인 상태로 주어집니다. 메시지를 보내려면 주어진 회전 순서를 큐브에 그대로 적용해야 합니다.

위 그림은 여섯 면이 어떻게 이어져 있는지, 그리고 입력과 출력에서 각 면의 방향이 어떻게 정해지는지를 보여 줍니다. 인쇄된 면이 바깥을 향하도록 큐브를 펼친 전개도로 보면 됩니다. 각 면의 이름은 그 면 중앙 칸의 색으로 정합니다: 하양(W), 주황(O), 빨강(R), 파랑(B), 초록(G), 노랑(Y). 점이 찍힌 모서리가 그 면의 왼쪽 위 칸이며, 입력과 출력의 기준이 됩니다.

전개도는 다음과 같이 배치되어 있습니다(각 칸이 한 면이며, 점은 그 면의 왼쪽 위 모서리를 나타냅니다).

W  O
   R
   B
   G  Y

입력

첫째 줄에 테스트 케이스의 개수 $T$ ($1 \le T \le 10000$)가 주어집니다.

각 테스트 케이스는 네 줄로 이루어집니다. 처음 세 줄은 큐브의 초기 상태를 나타냅니다. 세 줄 각각은 공백(스페이스) 하나로 구분된 18개의 문자로 이루어지며, 줄 끝에는 공백이 없습니다. 각 문자는 'W', 'O', 'R', 'B', 'G', 'Y' 중 하나로 한 칸의 색을 뜻합니다. 여섯 면은 왼쪽부터 하양, 주황, 빨강, 파랑, 초록, 노랑 순서로 나열되며 한 면이 세 열씩 차지합니다. 따라서 각 줄의 처음 세 글자는 하양 면, 그다음 세 글자는 주황 면을 나타내는 식입니다. 세 줄은 모든 면의 위·가운데·아래 세 행에 각각 대응합니다.

넷째 줄에는 적용할 회전이 'W', 'O', 'R', 'B', 'G', 'Y' 문자들의 문자열로 주어집니다. 각 문자는 그 색을 중앙 칸으로 가지는 면을 골라, 그 면을 정면에서 바라볼 때를 기준으로 시계 방향으로 90도 회전합니다. 회전은 1개 이상 1000개 이하이며, 왼쪽에서 오른쪽 순서로 적용합니다.

출력

각 테스트 케이스마다 모든 회전을 적용한 뒤의 큐브 상태를 입력과 같은 형식으로 출력합니다. 즉 공백 하나로 구분된 18개의 색 문자로 이루어진 세 줄을 출력하되 줄 끝에 공백을 두지 않으며, 면은 입력과 같은 순서(왼쪽부터 하양, 주황, 빨강, 파랑, 초록, 노랑)로 씁니다. 각 케이스를 출력한 뒤에는 '=' 문자를 정확히 35개 담은 줄을 출력합니다.