#define M m[y][x]
char**m
,*l
,i
;main
(Y
,X
){for(;scanf("%ms",&l
)>0;)(m
=realloc(m
,Y
*8))[Y
-1]=l
,X
=puts(m
[Y
++-1])-2;puts("");int s
(x
,y
,c
,d
){(x
<0|y
<0|y
/Y
)?:({if(M
^'R'&&M
^'Y')if(M
^'B'||c
^2&&!((y
&&m
[y
-1][x
]=='Y')|(x
&&m
[y
][x
-1]=='Y')|(y
<Y
-1&&m
[y
+1][x
]=='Y')|(x
<X
-1&&m
[y
][x
+1]=='Y'))){x
^X
?:({M
='#';return 1;});c
=M
^'O'?c
:2;M
^'U'?:({return s
(x
+(d
<4?d
-2:0),y
+(d
>3?d
-5:0),1,d
)?({M
='#';1;}):0;});if(d
^1&&s
(x
+1,y
,c
,3)||d
^4&&s
(x
,y
+1,c
,6)||d
^6&&s
(x
,y
-1,c
,4)||d
^3&&s
(x
-1,y
,c
,1)){M
='#';return 1;}}});return 0;}s
(0,--Y
/2,0,3);for(;i
<Y
;)puts(m
[i
++]);}
I2RlZmluZSBNIG1beV1beF0KY2hhcioqbSwqbCxpO21haW4oWSxYKXtmb3IoO3NjYW5mKCIlbXMiLCZsKT4wOykobT1yZWFsbG9jKG0sWSo4KSlbWS0xXT1sLFg9cHV0cyhtW1krKy0xXSktMjtwdXRzKCIiKTtpbnQgcyh4LHksYyxkKXsoeDwwfHk8MHx5L1kpPzooe2lmKE1eJ1InJiZNXidZJylpZihNXidCJ3x8Y14yJiYhKCh5JiZtW3ktMV1beF09PSdZJyl8KHgmJm1beV1beC0xXT09J1knKXwoeTxZLTEmJm1beSsxXVt4XT09J1knKXwoeDxYLTEmJm1beV1beCsxXT09J1knKSkpe3heWD86KHtNPScjJztyZXR1cm4gMTt9KTtjPU1eJ08nP2M6MjtNXidVJz86KHtyZXR1cm4gcyh4KyhkPDQ/ZC0yOjApLHkrKGQ+Mz9kLTU6MCksMSxkKT8oe009JyMnOzE7fSk6MDt9KTtpZihkXjEmJnMoeCsxLHksYywzKXx8ZF40JiZzKHgseSsxLGMsNil8fGReNiYmcyh4LHktMSxjLDQpfHxkXjMmJnMoeC0xLHksYywxKSl7TT0nIyc7cmV0dXJuIDE7fX19KTtyZXR1cm4gMDt9cygwLC0tWS8yLDAsMyk7Zm9yKDtpPFk7KXB1dHMobVtpKytdKTt9Cg==