유성

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

작고 특이한 모양의 유성 사진이 인터넷에 올라왔다. 사진에는 아주 높은 곳에서 떨어지는 중인 유성이 허공에 찍혀 있다. 유성이 떨어진 뒤의 사진도 있었지만 소실되어, 남은 사진으로 복원해야 한다.

사진은 문자 배열로 단순화해서 나타낸다. 'X'는 유성의 일부, '#'는 땅의 일부, '.'는 공기다.

유성 조각은 모두 연결되어 있다. 즉 유성 칸 두 개를 고르면 유성 칸만 밟아 상하좌우로 움직여서 한쪽에서 다른 쪽까지 갈 수 있다. 땅도 같은 방식으로 연결되어 있다.

주어진 사진에서 유성은 땅보다 위에 있다. 정확히 말하면 모든 칸이 공기인 줄이 적어도 하나 있고, 유성은 그 줄보다 위에, 땅은 그 줄보다 아래에 있다. 사진의 맨 아랫줄은 모두 땅이다.

유성은 수직으로 낙하한다. 한 줄씩 아래로 내려가다가 한 줄 더 내려가면 유성 칸이 땅 칸과 겹치는 순간 멈춘다. 떨어지는 동안 유성과 땅은 원래 모양을 유지한다. 유성이 멈춘 뒤의 사진을 복원하여라.

입력

첫째 줄에 사진의 세로 길이 RR과 가로 길이 SS가 주어진다 (3R,S30003 \le R, S \le 3000).

다음 RR개 줄에는 각각 SS개의 문자로 이루어진 사진이 주어진다. 각 문자는 'X', '#', '.' 중 하나다.

출력

유성이 멈춘 뒤의 사진을 RR개 줄에 걸쳐 출력한다. 각 줄은 SS개의 문자로 이루어진다.