테이블 축구 경로

시간 제한1초메모리 제한128 MB

문제

두 친구 Mirko와 Slavko가 테이블 축구를 하고 있다. Mirko의 선수는 테이블 위에 없고, Slavko의 선수들은 세로 기둥에 붙어 있다.

공은 테이블의 왼쪽 가장자리에서 시작한다. Mirko가 공을 오른쪽 위 대각선 방향으로 차면, 공은 위쪽과 아래쪽 가장자리에서 반사되며 대각선 방향으로 계속 움직인다.

....................
......|..|....|.....
.........|..........
......|.......|.....
L.....|.............
..............|.....

공이 Slavko의 선수 중 하나와 부딪히면 Mirko는 득점하지 못한다. 공이 어떤 선수와도 부딪히지 않고 오른쪽 가장자리에 도달하면 Mirko가 득점한다.

Slavko는 자신이 Mirko보다 더 잘한다고 생각하므로, Mirko가 득점할 수 있도록 선수들을 배치해 주려고 한다.

Mirko가 득점할 수 있는 Slavko 선수 배치 하나를 찾고, 공이 지나가는 경로도 함께 그리는 프로그램을 작성하라.

Slavko는 각 세로 기둥의 선수들을 정수 칸만큼 위나 아래로 옮길 수 있다. 같은 기둥에 있는 선수들은 함께 움직이며, 모든 선수는 테이블 안에 남아 있어야 한다.

입력

첫째 줄에 테이블의 행 수와 열 수를 나타내는 두 정수 RC (2 <= R, C <= 100)가 주어진다.

다음 R개의 줄에는 테이블의 초기 배치를 나타내는 길이 C의 문자열이 주어진다.

공은 L, 선수는 |, 빈 칸은 .으로 표시된다. 가장 왼쪽 열에는 선수가 없다.

출력

선수 기둥을 옮긴 뒤의 최종 테이블 배치를, 공의 경로가 그려진 상태로 출력한다.

테스트 데이터에는 항상 하나 이상의 올바른 해가 존재한다. 해가 유일할 필요는 없다.