시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
가로 길이가 A, 세로 길이가 B인 직사각형 땅이 있다. A와 B는 각각 1 이상 100 이하이다. 이 땅 위에는 N개의 로봇이 있으며, N은 1 이상 100 이하이다.

각 로봇의 위치는 x좌표와 y좌표로 나타낸다. x좌표는 왼쪽에서 오른쪽으로, y좌표는 아래에서 위로 증가한다. 각 로봇은 처음에 N, W, E, S 중 하나의 방향을 보고 있으며, 처음 위치는 서로 모두 다르다.
로봇들에게 M개의 명령을 순서대로 내린다. M은 1 이상 100 이하이다. 하나의 명령은 완전히 끝난 뒤에야 다음 명령을 수행한다. 각 명령은 다음 세 종류 중 하나이다.
L: 로봇이 현재 바라보는 방향을 기준으로 왼쪽으로 90도 회전한다.R: 로봇이 현재 바라보는 방향을 기준으로 오른쪽으로 90도 회전한다.F: 로봇이 현재 바라보는 방향으로 한 칸 전진한다.명령을 실제로 실행하기 전에 시뮬레이션하여 문제가 생기는지 확인하려고 한다. 명령이 잘못된 경우는 다음 두 가지이다.
Robot X crashes into the wall: X번 로봇이 땅의 범위를 벗어나 벽에 충돌한다.Robot X crashes into robot Y: X번 로봇이 이동하다가 Y번 로봇이 있는 칸에 충돌한다.첫째 줄에 두 정수 A와 B가 주어진다. 다음 줄에 두 정수 N과 M이 주어진다.
다음 N개의 줄에는 각 로봇의 초기 위치와 방향이 x y d 형식으로 주어진다. 로봇 번호는 입력된 순서대로 1번부터 N번까지이다.
다음 M개의 줄에는 명령이 실행되는 순서대로 주어진다. 각 명령은 robot command repeat 형식이며, robot은 명령을 받을 로봇 번호, command는 L, R, F 중 하나, repeat은 명령을 반복할 횟수이다. 반복 횟수는 1 이상 100 이하이다.
시뮬레이션 결과를 한 줄에 출력한다. 모든 명령을 문제없이 수행할 수 있으면 OK를 출력한다.
충돌이 발생하면 가장 먼저 발생한 충돌만 출력한다. 벽에 충돌한 경우에는 Robot X crashes into the wall을, 다른 로봇과 충돌한 경우에는 Robot X crashes into robot Y를 출력한다.