import java.io.*; class queen { public int Func(char m[][],int f[][],int x,int y) { int t; f[y][x]=0; if(m[y][x]=='E') { m[y][x]='*'; return -1; } m[y][x]='!'; if(x<9&&m[y][x+1]!='#'&&f[y][x+1]==1) { m[y][x]='*'; if((t=Func(m,f,x+1,y))==1) { m[y][x]='!'; } else if(t==-1) return -1; } if(y<9&&m[y+1][x]!='#'&&f[y+1][x]==1) { m[y][x]='*'; if((t=Func(m,f,x,y+1))==1) { m[y][x]='!'; } else if(t==-1) return -1; } if(x>0&&m[y][x-1]!='#'&&f[y][x-1]==1) { m[y][x]='*'; if((t=Func(m,f,x-1,y))==1) { m[y][x]='!'; } else if(t==-1) return -1; } if(y>0&&m[y-1][x]!='#'&&f[y-1][x]==1) { m[y][x]='*'; if((t=Func(m,f,x,y-1))==1) { m[y][x]='!'; } else if(t==-1) return -1; } if(m[y][x]=='!') return 1; return 0; } } public class Main { public static void main(String[] args) throws IOException { BufferedReader cin = new BufferedReader(new InputStreamReader(System.in)); char m[][]=new char[10][10],t; int f[][]=new int[10][10]; queen q=new queen(); int px=0,py=0; String a; for(int i=0;i<10;i++) { a=cin.readLine(); for(int j=0;j<10;j++) { f[i][j]=1; m[i][j]=a.charAt(j); if(m[i][j]=='S') { px=i;py=j; } } } q.Func(m,f,px,py); for(int i=0;i<10;i++) { for(int j=0;j<10;j++) System.out.print(m[i][j]); System.out.print("\n"); } } } /************************************************************** Problem: 2144 User: admin Language: Java Result: Accepted Time:443 ms Memory:34784 kb ****************************************************************/