\documentclass{maratona}

\begin{document}
\begin{ProblemaAutor}{}{Chuva}{1}{256}{OBI 2019}

Está chovendo tanto na Obilândia que algumas goteiras apareceram dentro da casa
do prefeito. Uma delas faz a água escorrer verticalmente a partir de um ponto no
teto, em uma parede que possui várias prateleiras horizontais.

A parede é representada por uma matriz de $N$ linhas e $M$ colunas. O caractere
\texttt{.} representa parede seca, o caractere \texttt{\#} representa parte de
uma prateleira, e o caractere \texttt{o} representa o ponto inicial do vazamento.

Quando a água passa por uma posição livre, ela continua escorrendo para baixo. Se
a água encontra uma prateleira logo abaixo, ela também passa a escorrer
horizontalmente para a esquerda e para a direita sobre essa prateleira, até poder
voltar a escorrer para baixo.

Sua tarefa é determinar todas as posições da parede que ficarão molhadas pela
água.

\Entrada

A primeira linha contém dois inteiros $N$ e $M$ ($3 \le N, M \le 500$),
respectivamente o número de linhas e de colunas da matriz.

As próximas $N$ linhas contêm, cada uma, uma sequência de $M$ caracteres entre
\texttt{.}, \texttt{\#} e \texttt{o}, representando a parede no início do
vazamento.

É garantido que $N$ é ímpar, existe exatamente um caractere \texttt{o} na
primeira linha, e não há prateleiras nas linhas ímpares, na primeira coluna nem
na última coluna.

\Saida

Imprima $N$ linhas, cada uma contendo uma sequência de $M$ caracteres,
representando a matriz da entrada depois que todas as posições molhadas forem
marcadas com o caractere \texttt{o}.

\ExemploEntrada
\begin{Exemplo}
\texttt{9~14} & \texttt{......oooooo..}\\
\texttt{.......o......} & \texttt{.\#\#\#..o\#\#\#\#o\#.}\\
\texttt{.\#\#\#...\#\#\#\#.\#.} & \texttt{.oooooooo..o..}\\
\texttt{..............} & \texttt{.o\#\#\#\#\#\#o..o..}\\
\texttt{..\#\#\#\#\#\#......} & \texttt{ooo.....o.oooo}\\
\texttt{..............} & \texttt{o\#o\#\#\#\#.o.o\#\#o}\\
\texttt{.\#.\#\#\#\#....\#\#.} & \texttt{o.o.ooooooo..o}\\
\texttt{..............} & \texttt{o.o.o\#\#\#\#oo..o}\\
\texttt{.....\#\#\#\#.....} & \texttt{o.o.o....oo..o}\\
\texttt{..............} & \\
\rowcolor{gray!20}\texttt{7~5} & \texttt{ooo..}\\
\rowcolor{gray!20}\texttt{.o...} & \texttt{o\#o..}\\
\rowcolor{gray!20}\texttt{.\#...} & \texttt{o.o..}\\
\rowcolor{gray!20}\texttt{.....} & \texttt{o.o..}\\
\rowcolor{gray!20}\texttt{.....} & \texttt{oooo.}\\
\rowcolor{gray!20}\texttt{.....} & \texttt{oo\#o.}\\
\rowcolor{gray!20}\texttt{..\#..} & \texttt{oo.o.}\\
\rowcolor{gray!20}\texttt{.....} & \\
\texttt{3~3} & \texttt{..o}\\
\texttt{..o} & \texttt{.\#o}\\
\texttt{.\#.} & \texttt{..o}\\
\texttt{...} & \\
\end{Exemplo}



\Notas

No primeiro exemplo, a água começa no topo, desce até encontrar a primeira
prateleira e passa a escorrer para os lados. Ao chegar nas extremidades de uma
prateleira, ela volta a descer e pode repetir o mesmo processo em prateleiras
mais abaixo.

No segundo exemplo, a primeira prateleira desvia a água para a esquerda e para a
direita, criando dois caminhos verticais que continuam pela parede.

No terceiro exemplo, a prateleira logo abaixo da água permite que ela avance para
a direita antes de continuar descendo.

Problema adaptado da OBI 2019, Fase 1:
\href{https://olimpiada.ic.unicamp.br/pratique/pu/2019/f1/chuva/}{Chuva}.
\end{ProblemaAutor}
\end{document}
