#include<iostream>
using namespace std;
char a[100+2][100+2]={'*'};
bool check[100][100]={0};
int b[3]={-1,0,1};
int c[8]={-1,0,1,-1,1,-1,0,1};
char d[7]={'y','i','z','h','o','n','g'};
void sousuo(int x,int y,int m,int n)
{
int jieguo=0;
for(int p=0;p<3;p++)
{
for(int q=0;q<9;q++)
{
if(a[m+b[p]][n+c[q]]==d[x]||a[m+b[p]][n+c[q]]==d[y])
{
jieguo=1;
break;
}
}
cout<<1;
}
if(jieguo!=1)
{
a[m][n]='*';
}
return;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
if(a[i][j]!='y'&& a[i][j]!='i'&& a[i][j]!='z'&& a[i][j]!='h'&& a[i][j]!='o'&& a[i][j]!='n'&&a[i][j]!='g')
{
a[i][j]='*';
check[i][j]=1;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(check[i][j]==1)
{
continue;
}
if(a[i][j]=='y')
{
sousuo(1,1,i,j);
}
if(a[i][j]=='i')
{
sousuo(0,2,i,j);
}
if(a[i][j]=='z')
{
sousuo(1,3,i,j);
}
if(a[i][j]=='h')
{
sousuo(2,4,i,j);
}
if(a[i][j]=='o')
{
sousuo(3,5,i,j);
}
if(a[i][j]=='n')
{
sousuo(4,6,i,j);
}
if(a[i][j]=='g')
{
sousuo(5,5,i,j);
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
}