A worm moves on an board, keeping the direction of its movement while possible. The worm cannot go out of the board, nor cross any obstacle, nor cross any square visited before. In these cases, the worm turns the direction of its movement 90 degrees to the right. If, even after turning 90 degrees, the worm cannot continue, it stops.
Implement a program that prints the squares visited by the worm. The worm starts in the central position of the board, moving upwards.
Input consists of the description of the board. The first line
contains the number of rows
and the number of columns
,
both odd numbers greater than 2. Follow
lines, each with
characteres. A ‘.’ indicates a free position. An ‘’
indicates an obstacle. The central position is always free.
Print the board with a ’G’ on each position visited by
the worm.
Input
9 19 ................... ................*.. .........*......... .............*...*. ................... ................... ....*........*..... ..................* ...................
Output
GGGGGGGGGGGGGGGGGGG G.............GG*.G G........*....GG..G G........GGGG*GG.*G G........G..G.GG..G G...........G.GG..G G...*.......G*GGGGG G...........G.....* GGGGGGGGGGGGG......
Input
3 3 .*. ... ...
Output
G*. GGG GGG
Input
3 3 .*. ..* ...
Output
.*. .G* ...