체스판 댄스

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

문제

또 하나의 지루한 금요일 오후, 딱정벌레 베티(Betty)는 무엇을 하며 놀지 고민합니다. 베티는 숨어 있던 곳에서 나와 베넷(Bennett) 씨 집 거실을 산책하기로 합니다. 베넷 부부는 극장에 가고 없는데, 마침 탁자 위에 체스판이 놓여 있습니다! "지금이야말로 나의 체스판 댄스를 연습할 최고의 순간이야!"라고 베티는 생각합니다. 너무 신이 난 나머지 베티는 체스판 위에 아직 말들이 몇 개 남아 있다는 것을 알아채지 못한 채 연습을 시작합니다! 베티는 체스판 위에서 어떻게 움직일지 알려 주는 대본(script)을 가지고 있습니다. 대본은 아래 예시와 같은 명령의 나열입니다.

베티는 매 순간 체스판의 한 칸 위에 서 있으며, 위에서 내려다볼 때 네 방향(위, 아래, 왼쪽, 오른쪽) 중 하나를 바라봅니다. move n 명령을 수행하면 베티는 현재 바라보는 방향으로 n칸 앞으로 이동합니다. n칸을 이동하면 판 밖으로 나가게 되는 경우, 베티는 판 위의 마지막 칸에 멈추며 판 밖으로 나가지 않습니다. 방향을 바꾸는 명령은 turn right, turn left, turn back 세 가지가 있으며, 이들은 베티가 바라보는 방향을 바꿉니다. 방향 전환은 베티의 위치를 바꾸지 않습니다.

베티가 이동 중에 체스 말과 마주치면, 그 말과 그 뒤에 한 줄로 늘어선 모든 말을 함께 밀어냅니다(정말 힘센 딱정벌레죠!). 이 때문에 일부 말이 체스판 가장자리 밖으로 떨어질 수도 있지만, 베티는 신경 쓰지 않습니다! 아래 그림에서 왼쪽 판은 처음 상태를, 오른쪽 판은 위 대본을 모두 수행한 뒤의 상태를 나타냅니다. 대문자는 흰색 말을, 소문자는 검은색 말을 나타냅니다. 화살표는 베티의 위치와 바라보는 방향을 나타냅니다. 맨 첫 번째 이동에서 검은색 킹(r)이 판의 오른쪽 가장자리 밖으로 떨어지는 것에 주목하세요!

판의 처음 상태와 연습 대본을 읽어, 연습이 끝난 뒤 판의 최종 상태를 출력하는 프로그램을 작성하세요.

입력

입력에는 여러 개의 테스트 케이스가 있습니다. 각 테스트 케이스는 판의 처음 상태와 대본, 두 부분으로 이루어집니다.

판은 8개의 줄로 주어지며, 각 줄은 8개의 문자로 이루어집니다. 문자 r, d, t, a, c, p는 검은색 말을, 문자 R, D, T, A, C, P는 흰색 말을, 마침표(.)는 빈 칸을 나타냅니다. 베티가 춤을 시작하는 칸은 <, >, ^, v 네 문자 중 하나로 표시되며, 이 문자는 베티의 처음 방향(각각 왼쪽, 오른쪽, 위, 아래)도 함께 나타냅니다. 입력이 반드시 올바른 체스 대국 상태인 것은 아닙니다.

대본은 판 바로 다음에 이어집니다. 대본은 여러 줄(0줄에서 1000줄 사이)로 이루어지며, 각 줄에는 다음 형식 중 하나의 명령이 하나씩 들어 있습니다. 여기서 n은 음이 아닌 정수입니다.

move n
turn left
turn right
turn back

각 테스트 케이스의 끝에는 문자 # 하나만 있는 줄이 옵니다. 입력의 마지막 줄에는 대시 문자 두 개(--)가 있습니다.

출력

각 테스트 케이스에 대해, 판의 최종 상태를 입력과 같은 8×8 형식으로 출력합니다. 연이은 테스트 케이스의 판 사이에는 빈 줄을 하나 출력합니다.