만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

나레에-보!

시간 제한2초메모리 제한1024 MB

요약
문자 격자 위의 세 칸짜리 병사를 회전과 전진 명령에 따라 옮긴 뒤, 최종 위치가 표시된 격자를 출력합니다.
난이도

쉬움10점 중 2점

유형
시뮬레이션, 구현, 행렬
정답자
아직 제출이 없습니다

문제

약 2주가 지났다. 정찰병 스미스는 다시 긴급하고 중요한 임무를 받았다. 열 명 남짓한 새 친구들과 서둘러 작별 인사를 나누고 집사에게 급하게 지시를 남긴 뒤, 새벽 3시에 그는 이미 공항에 있었다.

눈에 익은 그 연병장이다. 가랑비가 내리고 진흙은 어떤 곳은 무릎까지, 어떤 곳은 가슴까지 차 있다. 그래도 힘차게 구령을 외치는 용감한 상사도, 그 구령을 군말 없이 따르는 이등병 페레테르킨도 개의치 않는다. 어제 연병장을 쓸던 페레테르킨은 쇠스랑 하나를 부러뜨리고 다른 하나를 잃어버렸다. 교육 차원에서 그에게 세 시간의 제식 훈련이 내려졌고, 그중 첫 시간이 막 끝나가고 있다.

스미스의 임무는 평균적인 적군 이등병이 제식 동작을 얼마나 정확하게 수행하는지 알아내는 것이다. 그는 일정한 간격으로 은신처에서 연병장을 사진으로 찍고, 구령은 지향성 마이크가 달린 휴대용 도청 녹음기에 기록한다. 처음에는 쉬운 일이라고 생각했지만, 사진이 300장을 넘어서자 그렇게 쉽게 끝나지 않을 것임을 깨닫기 시작했다.

곰곰이 생각한 끝에 스미스는 문제를 다음과 같이 바꿔 풀 수 있다는 것을 알아냈다. 연병장에서 병사의 초기 위치와 병사가 수행하는 명령들이 주어지면, 모든 명령을 수행한 뒤 병사가 서게 될 위치를 구하는 것이다. 그렇다면 이 문제는 어떻게 풀까? 그때 스미스에게 번뜩 생각이 떠올랐다. 상사가 잠시 말을 멈추자, 그는 셔츠 안에서 전화기를 꺼내 익숙한 번호를 누르기 시작했다...

병사는 연병장에서 연속된 세 개의 인접한 칸을 차지한다. 아래 그림은 명령이 어떻게 수행되는지 보여준다.

명령 "왼쪽"
.......  .......
.......  ...\...
..\-/..  ...|...
.......  .../...
.......  .......
명령 "오른쪽"
.......   .......
.......   .../...
..\-/..   ...|...
.......   ...\...
.......   .......
명령 "뒤로 돌아"
.......  .......
..\-/..  ../-\..
.......  .......
명령 "앞으로 한 걸음"
.......      .......
.......      ..\-/..
..\-/..      .......
.......      .......

"왼쪽" 명령을 받으면 병사는 제자리에서 반시계 방향으로 90도 돈다. "오른쪽" 명령을 받으면 시계 방향으로 90도 돈다. "뒤로 돌아" 명령을 받으면 180도 돌아 방향을 바꾼다. "앞으로 한 걸음" 명령을 받으면 병사가 바라보는 방향으로 한 칸 움직인다.

입력

첫 줄에 세 정수 N, M, K가 주어진다 (1≤N,M,K≤1001 \le N, M, K \le 100). 이어서 N줄에 걸쳐 각 M글자로 된 연병장에서의 병사 초기 위치가 주어진다.

다음 K줄에는 병사에게 내린 명령이 한 줄에 하나씩 주어진다. 스미스는 영어로 보고하기 때문에 명령도 영어로 주어진다. 아래 표는 사용된 명령의 번역이다.

명령English
왼쪽Left turn
오른쪽Right turn
뒤로 돌아About turn
앞으로 한 걸음Forward step

병사는 명령을 수행하는 동안 연병장의 경계를 벗어나지 않는다고 보장된다.

출력

연병장에서 모든 명령을 수행한 뒤 병사의 위치를 나타내는 N줄을 출력한다. 각 줄은 M글자로 이루어진다.

예제1

  1. 예제 1

    입력
    4 7 4
    .......
    .......
    .../-\.
    .......
    Left turn
    Right turn
    About turn
    Forward step
    
    예상 출력
    .......
    ...\-/.
    .......
    .......