var s:string; f:array[1..8,1..2]of longint; a:array[0..100] of string; b:array[1..100,1..100]of boolean; i,j,n,m,v,k,bb,x,y,ans:longint;function check(x,y,shu:longint):boolean; var i,j:longint; begin if (x>=1)and(x<=n)and(y>=1)and(y<=n)and(a[x,y]=s[shu]) then exit(true); exit(false); end;PRocedure put(i,j,m:longint); var v:longint; begin for v:=1 to 7 do begin b[i,j]:=true; i:=i+f[m,1]; j:=j+f[m,2]; end; end;procedure find(i,j:longint); var m,k,x,y:longint; begin for m:=1 to 8 do begin x:=i; y:=j;bb:=0; for k:=1 to 7 do if check(x,y,k) then begin x:=x+f[m,1]; y:=y+f[m,2]; end else begin bb:=1;break;end; if (k=7)and(bb=0) then put(i,j,m); end; end;begin s:='yizhong'; f[1,1]:=1; f[1,2]:=0; f[2,1]:=0; f[2,2]:=1; f[3,1]:=-1; f[3,2]:=0; f[4,1]:=0; f[4,2]:=-1; f[5,1]:=1; f[5,2]:=1; f[6,1]:=1; f[6,2]:=-1; f[7,1]:=-1; f[7,2]:=1; f[8,1]:=-1; f[8,2]:=-1; fillchar(b,sizeof(b),false); read(n); for i:=0 to n do readln(a[i]); for i:=1 to n do for j:=1 to n do if a[i,j]='y' then find(i,j); for i:=1 to n do begin for j:=1 to n do if (b[i,j]) then write(a[i,j]) else write('*'); writeln; end;end.