놀라운 게임 Pokenom Go가 막 출시되었다. 이제 Pokenom 트레이너들은 세계를 여행하고, 야생 Pokenom을 잡고, 서로 대결할 수 있다!
Bash와 Cee는 Pokenom 트레이너가 되겠다는 어린 시절의 꿈을 이루기 위해 최근 대학을 중퇴한 두 학생이다. 오늘 그들의 놀라운 모험이 시작된다!
세계는 $N$개의 행과 $M$개의 열을 가진 격자로 생각할 수 있다. 행은 아래에서 위로 $1$부터 $N$까지, 열은 왼쪽에서 오른쪽으로 $1$부터 $M$까지 번호가 매겨진다. $r$번째 행, $c$번째 열의 칸을 $(r,c)$로 나타낸다.
Bash의 집은 $(r_B,c_B)$에 있다. 오늘 그는 $(r_G,c_G)$에 있는 Pokenom 체육관으로 가서 다른 Pokenom 트레이너들과 대결할 것이다. 체육관으로 가는 길에 $(r_C,c_C)$에 있는 Cee의 집에도 들르고 싶다.
Bash의 대학은 $(r_U,c_U)$에 있다. 대학을 지나면 좋지 않은 기억이 떠오르므로, Bash는 Pokenom 체육관으로 가는 경로에서 대학을 지나고 싶지 않다.
각 걸음에서 Bash는 위, 아래, 왼쪽, 오른쪽 네 방향 중 하나로만 이동하여 현재 칸과 정확히 한 변을 공유하는 칸으로 갈 수 있다. 따라서 경로는 각각 위, 아래, 왼쪽, 오른쪽을 뜻하는 네 문자 U, D, L, R로 이루어진 문자열로 유일하게 표현할 수 있다.
단순 경로는 시작점과 끝점을 포함한 어떤 칸도 두 번 이상 방문하지 않는 경로이다.
Bash는 $(r_B,c_B)$에서 $(r_G,c_G)$까지 가면서 $(r_C,c_C)$를 지나되 $(r_U,c_U)$는 지나지 않는 단순 경로를 찾고 싶다. 걸음 수는 가능한 한 적어야 한다. Bash를 도와주어라!
입력
입력에는 여러 테스트 케이스가 있다. 각 테스트 케이스는 여섯 줄로 주어진다:
- 첫 번째 줄에는 공백 하나로 구분된 두 정수 $N$과 $M$이 정확히 주어진다. $1\le M,N\le100$이다.
- 두 번째 줄에는 공백 하나로 구분된 두 정수 $r_B$와 $c_B$가 정확히 주어진다.
- 세 번째 줄에는 공백 하나로 구분된 두 정수 $r_C$와 $c_C$가 정확히 주어진다.
- 네 번째 줄에는 공백 하나로 구분된 두 정수 $r_G$와 $c_G$가 정확히 주어진다.
- 다섯 번째 줄에는 공백 하나로 구분된 두 정수 $r_U$와 $c_U$가 정확히 주어진다.
- 여섯 번째 줄은 빈 줄이다.
- $1\le r_B,r_C,r_G,r_U\le N$, $1\le c_B,c_C,c_G,c_U\le M$이다. 네 칸 $(r_B,c_B),(r_C,c_C),(r_G,c_G),(r_U,c_U)$는 서로 다르다.
두 개의 0이 있는 한 줄이 입력의 끝을 나타낸다.
모든 테스트 케이스에 대한 $M\cdot N$의 합은 $10^5$ 이하이다.
출력
각 테스트 케이스에 대해 모든 조건을 만족하는 경로를 찾을 수 없으면 NO 한 단어를 정확히 한 줄에 출력하라. 그렇지 않으면 두 줄을 출력하라:
- 첫 번째 줄에는
YES를 출력한다. - 두 번째 줄에는 Bash의 최단 단순 경로를 나타내는 문자열을 출력한다.
최단 단순 경로가 여러 개라면 그중 아무것이나 출력해도 된다.
예제 그림
예제
입력 1
3 3 1 1 3 3 2 1 2 2 3 4 1 1 3 4 2 1 1 2 2 2 2 1 2 2 1 2 1 1 0 0
출력 1
YES RRUULLD NO YES RD