#include<bits/stdc++.h>
using namespace std;
int length;
char a[105][105];
int mark_y[10005][2];
bool ans[105][105];
int b[10][2]={{0,0},{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};
string c="yizhong";
int tmp_i;
void dfs(int x,int y,int n)
{
for(int i=1;i<=8;++i)
{
if(n>6)
{
int o=1;
int x=mark_y[tmp_i][0],y=mark_y[tmp_i][1];
while(o<=7)
{
a[x][y]=1;
x+=b[i][0];
y+=b[i][1];
o++;
}
return ;
}
int p=0;
if(a[x][y]==c[n])
{
++n;
dfs(x+b[i][0],y+b[i][1],n);
}
else
{
continue;
}
}
}
int main()
{
cin>>length;
int count=0;
for(int i=1;i<=length;++i)
{
for(int j=1;j<=length;++j)
{
cin>>a[i][j];
if(a[i][j]=='y')
{
count++;
mark_y[count][0]=i;
mark_y[count][1]=j;
}
}
}
for(int i=1;i<=count;++i)
{
tmp_i=i;
dfs(mark_y[i][0],mark_y[i][1],0);
}
for(int i=1;i<=length;++i)
{
for(int j=1;j<=length;++j)
{
if(ans[i][j]==0)
{
cout<<'*';
}
else
{
cout<<a[i][j];
}
}
cout<<endl;
}
return 0;
}
必关