은밀한 닌자
시간 제한1초메모리 제한128 MB
주기적으로 방향을 바꾸며 감시하는 경비병들이 있는 격자에서 닌자가 들키지 않고 앞벽에서 뒷벽까지 건널 수 있는지 판정한다.
문제
큰 궁전 안에는 바닥이 크기의 정사각형 격자로 이루어진 홀이 있다. 행은 홀의 앞쪽에서 뒤쪽으로 번부터 번까지, 열은 왼쪽에서 오른쪽으로 번부터 번까지 번호가 매겨져 있다.
행 번호와 열 번호가 모두 짝수인 칸에는 정사각형 나무 기둥이 세워져 있고, 나머지 칸은 모두 비어 있다. 그 결과 빈 칸들은 홀수 행을 따라 좌우로 뻗은 개의 복도와, 홀수 열을 따라 앞뒤로 뻗은 개의 복도를 이룬다. 앞뒤 방향의 각 복도는 앞쪽 벽과 뒤쪽 벽에서 커튼이 달린 문으로 끝나며, 그 밖의 벽면은 모두 막혀 있다.
홀은 명의 경비원이 지킨다. 각 경비원은 앞뒤 복도와 좌우 복도가 만나는 교차점, 즉 행과 열이 모두 홀수인 칸에 서 있다. 경비원은 초 동안 홀의 왼쪽을, 다음 초 동안 뒤쪽을, 다음 초 동안 오른쪽을, 다음 초 동안 앞쪽을 바라보며, 이 초 주기를 무한히 반복한다. 경비원들의 위상이 서로 같을 필요는 없다. 즉 시각 에 각 경비원은 네 방향 중 어느 쪽을 바라보고 있어도 된다. 경비원이 어떤 방향을 바라보는 동안에는 자신이 선 복도에서 그 방향으로 벽에 닿을 때까지의 모든 칸을 볼 수 있다. 경비원끼리는 서로를 지나쳐 볼 수 있지만, 커튼 너머는 볼 수 없다.
닌자는 경비원과 마주치지 않고, 또 한 번도 들키지 않으면서 홀을 앞에서 뒤로 통과하려 한다. 홀에 들어가기 전 닌자는 번 행, 즉 앞쪽 벽의 커튼 중 하나 뒤에서 기다린다. 어느 커튼 뒤에서 얼마나 오래 기다릴지는 닌자가 정한다. 나갈 때는 뒤쪽 벽의 어느 커튼으로든 나갈 수 있다. 한 칸에서 상하좌우로 인접한 칸으로 걸어가는 데는 초가 걸리며, 걷는 동안 그 이동의 어느 순간에라도 떠나는 칸이나 들어가는 칸을 바라보는 경비원이 있으면 닌자는 들킨다. 닌자는 경비원이 지금 바라보는 칸에는 결코 서 있을 수 없고, 경비원이나 나무 기둥이 있는 칸에는 들어갈 수 없다.
예를 들어 예제의 다섯 경비원이 있는 인 경우를 생각하자. 닌자는 다음과 같이 통과할 수 있다. 먼저 기다린다. 초 후 행 열의 경비원이 왼쪽으로 고개를 돌리면, 닌자는 열의 커튼을 지나 들어간다. 초 후 행 열에, 초 후 행 열에 도착한다. 그곳에서 행 열의 경비원이 뒤쪽으로 고개를 돌릴 때까지 기다린 뒤 다시 걸어, 행의 경비원이 그 방향으로 고개를 돌리기 직전에 열의 커튼 뒤로 사라진다. 이렇게 닌자는 성공한다.
각 홀에 대해 닌자가 무사히 통과할 수 있는지를 판정하여라.
입력
첫 줄에는 테스트 케이스의 개수를 나타내는 정수 하나가 주어진다. 각 테스트 케이스의 형식은 다음과 같다.
- 한 줄에 두 정수 과 가 주어진다. 은 각 방향의 복도 수(), 는 경비원의 수()이다.
- 이어서 경비원마다 한 줄씩, 모두 개의 줄이 주어진다. 각 줄에는 홀수인 정수 (), 홀수인 정수 (), 그리고
L,B,R,F중 한 글자가 주어진다. 과 는 경비원이 선 칸의 행과 열이고, 글자는 시각 에 경비원이 바라보는 방향(왼쪽L, 뒤쪽B, 오른쪽R, 앞쪽F)이다.
같은 칸에 경비원이 둘 이상 서 있는 경우는 없다.
출력
각 테스트 케이스마다 succeeds 또는 fails 중 하나를 한 줄에 출력한다.
힌트
예제(, 경비원 명)에서는 닌자가 들키지 않고 홀을 앞에서 뒤로 통과할 수 있으므로 답은 succeeds이다. 이는 위 문제 설명의 예시 상황과 같다.