할아버지의 루빅스 큐브

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

문제

루빅스 큐브는 잘 알려진 퍼즐로, 여섯 면이 색깔 스티커로 덮인 정육면체이다. 목표는 각 면이 한 가지 색만 보이도록 면들을 돌리는 것이다.

그림 1: 루빅스 큐브

한 면을 돌리면 그 면과 맞닿은 네 이웃 면의 가장자리 스티커들도 함께 이동한다. 그림 2는 그러한 회전의 예이다.

그림 2: 회전 예시

할아버지는 어떤 초기 배치가 주어지더라도 각 면이 한 가지 색이 되는 완성 상태로 이끄는 회전 순서를 만들 수 있다고 장담한다. 초기 배치와 회전 목록이 주어질 때, 그 목록을 순서대로 적용하면 실제로 완성 상태에 도달하는지 판정하여라.

여섯 가지 색은 노랑(Y), 빨강(R), 파랑(B), 초록(G), 하양(W), 자홍(M)이다.

그림 3: 큐브의 표현

펼친 배치. 큐브는 그림 3a처럼 펼쳐서 나타낸다. 처음 세 줄은 윗면(Top)이다. 다음 세 줄에는 네 면이 나란히 인쇄되며 순서는 왼쪽면(Left), 앞면(Front), 오른쪽면(Right), 뒷면(Back)이다. 마지막 세 줄은 아랫면(Bottom)이다. 윗면과 아랫면은 앞면에 붙어 있다.

면 번호(그림 3b). 여섯 면에는 1부터 6까지 번호가 매겨져 있다: 1 = 왼쪽면, 2 = 앞면, 3 = 오른쪽면, 4 = 뒷면, 5 = 윗면, 6 = 아랫면.

회전. 각 회전은 0이 아닌 정수이다. 절댓값은 돌릴 면의 번호를 뜻하며, 양수는 시계 방향 90도 회전, 음수는 반시계 방향 90도 회전을 의미한다. 방향은 모두 큐브 바깥에서 그 면을 정면으로 바라볼 때를 기준으로 한다.

입력

첫 줄에는 테스트 케이스의 개수를 나타내는 정수가 주어진다.

각 테스트 케이스는 열 줄로 이루어진다. 처음 아홉 줄은 위에서 설명한 펼친 배치로 초기 상태를 나타내며, 스티커는 공백 하나로 구분된다. 열 번째 줄에는 적용할 회전들이 순서대로 나열되고, 값 0으로 끝난다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 회전을 적용했을 때 완성 상태(모든 면이 한 가지 색)에 도달하면 Yes, grandpa!를, 그렇지 않으면 No, you are wrong!를 출력한다.