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
****************************************************************/