땅따먹기
시간 제한0.5초메모리 제한512 MB
임의의 'A' 칸에서 시작해 매 턴 직사각형 조각을 한 방향으로 늘린 뒤 한 칸 이동하며 'X'를 피할 때, 조각이 포함할 수 있는 모든 칸을 'Y'로 표시한다.
문제
각 칸이 'A', 'X', 'O' 중 하나인 보드가 주어진다. 플레이어는 'A'인 칸 중 하나에서 시작할 수 있으며, 처음 크기의 말로 시작해 매 턴 다음 행동을 순서대로 수행한다. 매 턴 두 행동을 모두 주어진 순서대로 수행해야 한다.
- 상하좌우 중 한 방향으로 말을 길이 1만큼 늘린다. 말을 늘릴 때 기존 말의 위치는 변하지 않고, 해당 방향으로 직사각형 모양으로 크기가 커진다.
- 상하좌우 중 한 방향으로 말을 한 칸 이동한다.
예를 들어 가로 길이가 4, 세로 길이가 4인 말을 위쪽으로 길이 1만큼 늘리면 아래 그림과 같이 변한다.

행동을 수행하면서 플레이어의 말이 보드 밖이나 'X'를 포함하게 된다면 그 행동은 수행하지 못하고 종료한다.
플레이어가 원하는 'A'에서 시작해 자유롭게 행동해 0번 이상의 턴을 마친 뒤, 플레이어의 말이 도달하거나 포함할 수 있는 모든 칸을 'Y'로, 나머지 모든 칸을 'N'으로 표시해 출력한다. 만약 행동 1을 수행한 뒤 행동 2에서 'X'를 만난다면 행동 1에서 말이 포함한 칸은 도달하거나 포함한 것으로 취급하지 않는다.
입력
첫째 줄에 이 주어진다.
이후 개의 줄에 걸쳐 칸의 정보가 'A', 'X', 'O' 중 하나로 주어진다. 출발 지점 'A'는 적어도 하나 주어진다.
출력
줄에 걸쳐 각각 칸을 플레이어가 도달하거나 포함할 수 있으면 'Y', 없으면 'N'으로 바꿔 출력한다.