문제
플레이어는 GameJam에 참가했다. GameJam은 현장에서 즉석으로 팀을 꾸려 게임의 규칙을 만든 뒤, 생각한 규칙을 코드로 옮겨서 게임을 만들어내는 대회이다.
플레이어가 속한 팀은 보드로 즐길 수 있는 간단한 보드게임을 만들었다. 게임의 진행 방법과 규칙은 다음과 같다.
- 게임은 한 변의 길이가 인 격자 보드 위에서 진행한다. 보드는 한 변의 길이가 인 개의 칸으로 나누어져 있다.
- 각 칸에는
<command>
에 해당하는 방향으로<count>
칸만큼 한 칸씩 이동하라는 지시가 적혀있다. - 플레이하는 사람은 처음에 보드의 칸 중 하나에 말을 올려놓는다.
- 각 칸에 적힌 지시대로 말을 이동한다. 만약 이동 중에 보드 밖으로 나가게 된다면 반대쪽의 첫 번째 칸으로 이동한다.
예를 들어 맨 오른쪽 칸에서 오른쪽으로 이동해야 한다면 해당 행의 맨 왼쪽 칸으로 이동하고, 맨 아래 칸에서 아래쪽으로 이동해야 한다면 해당 열의 맨 위쪽 칸으로 이동하고, 이동 거리가 남아 있다면 계속 이동한다. - 만약 이동하다가 자신의 말이 이미 한 번이라도 방문한 칸을 다시 지나야 할 경우에는 게임이 종료된다. 그 외의 경우에는 게임이 종료될 때까지 위의 4번 단계를 반복한다.
- 게임의 점수는 시작한 칸을 포함하여, 게임이 종료되기 전까지 말이 방문한 서로 다른 칸의 개수이다.
플레이어는 GameJam의 최종 발표 때 게임을 시연해 보기 위해, 구름이와 미리 연습 게임을 진행해 보려고 한다. 플레이어와 구름이가 각각의 게임에서 처음에 말을 올려둔 칸이 주어졌을 때, 두 사람 중 누가 더 높은 점수를 획득했는지를 구해보자. 단 플레이어와 구름이는 별개의 게임이다.
입력
첫째 줄에 격자 보드의 크기 이 주어진다.
둘째 줄에는 구름이가 말을 올려둔 칸의 좌표 가 공백을 두고 주어진다. 보드의 번째 행, 번째 열에 말을 올려두었다는 뜻이다.
셋째 줄에는 플레이어가 말을 올려둔 칸의 좌표 가 공백을 두고 주어진다. 보드의 번째 행, 번째 열에 말을 올려두었다는 뜻이다.
다음 개의 줄에는 보드의 각 칸에 적혀있는 지시 사항이 주어진다. 각 줄마다 개의 지시 사항이 <count>
<command>
형식으로 공백을 두고 주어지고, 번째 줄에서 번째로 주어지는 지시 사항은 보드의 번째 행, 번째 열의 정보를 의미한다. <count>
는 이동 횟수, <command>
는 이동 방향을 말한다.
<count>
는 이상 이하의 정수이다.<command>
는U
,D
,R
,L
중 하나이다. 각각 위쪽, 아래쪽, 오른쪽, 왼쪽을 의미한다. 이 문제에서 위쪽은 행 번호가 감소하는 방향이다.- 입력에서 주어지는 모든 수는 정수이다.
출력
구름이가 게임에서 승리하면 goorm
과 구름이가 얻은 점수를 공백을 두고 출력하고, 플레이어가 승리하면 player
와 플레이어가 얻은 점수를 공백을 두고 출력한다. 두 사람이 비기는 테스트 케이스는 주어지지 않는다.