두 친구 Mirko와 Slavko가 테이블 축구를 하고 있다. Mirko의 선수는 테이블 위에 없고, Slavko의 선수들은 세로 기둥에 붙어 있다.
공은 테이블의 왼쪽 가장자리에서 시작한다. Mirko가 공을 오른쪽 위 대각선 방향으로 차면, 공은 위쪽과 아래쪽 가장자리에서 반사되며 대각선 방향으로 계속 움직인다.
....................
......|..|....|.....
.........|..........
......|.......|.....
L.....|.............
..............|.....
공이 Slavko의 선수 중 하나와 부딪히면 Mirko는 득점하지 못한다. 공이 어떤 선수와도 부딪히지 않고 오른쪽 가장자리에 도달하면 Mirko가 득점한다.
Slavko는 자신이 Mirko보다 더 잘한다고 생각하므로, Mirko가 득점할 수 있도록 선수들을 배치해 주려고 한다.
Mirko가 득점할 수 있는 Slavko 선수 배치 하나를 찾고, 공이 지나가는 경로도 함께 그리는 프로그램을 작성하라.
Slavko는 각 세로 기둥의 선수들을 정수 칸만큼 위나 아래로 옮길 수 있다. 같은 기둥에 있는 선수들은 함께 움직이며, 모든 선수는 테이블 안에 남아 있어야 한다.
첫째 줄에 테이블의 행 수와 열 수를 나타내는 두 정수 R과 C (2 <= R, C <= 100)가 주어진다.
다음 R개의 줄에는 테이블의 초기 배치를 나타내는 길이 C의 문자열이 주어진다.
공은 L, 선수는 |, 빈 칸은 .으로 표시된다. 가장 왼쪽 열에는 선수가 없다.
선수 기둥을 옮긴 뒤의 최종 테이블 배치를, 공의 경로가 그려진 상태로 출력한다.
테스트 데이터에는 항상 하나 이상의 올바른 해가 존재한다. 해가 유일할 필요는 없다.