#include<stdio.h>
#include<string.h>
char a[6][6];
char b[1000];
char m[]="ABLR";
int c[]={-1,1,0,0};
int d[]={0,0,-1,1};
int x,y;
bool change(char t){
int k=0;for(k=0;k<4;k++){if(m[k]==t)break;}if(k==4)returnfalse;
int i=x+c[k],j=y+d[k];if(i<0|| i>4|| y<0|| y>4)returnfalse;
a[x][y]=a[i][j];
x=i; y=j;returntrue;}
int main(){for(int i=0;i<5;i++){for(int j=0;j<5;j++){scanf("%c",&a[i][j]);if(a[i][j]==' '){
x=i; y=j;}}}scanf("%s",b);
int n=strlen(b)-1;
int i;for(i=0;i<n;i++){if(!change(b[i]))break;}if(i<n)printf("This puzzle has no final configuration.\n");else{
a[x][y]=' ';for(i=0;i<5;i++){for(int j=0;j<5;j++){if(j<4)printf("%c ",a[i][j]);elseprintf("%c\n",a[i][j]);}}}return0;}