#include<bits/stdc++.h>
using namespace std;
int next[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
int a[31][31];
int n;
void dfs(int x)
{ if (x>n/2)
{
return;
}
for (int i=x;i<=n+1-x;i++)
{ int book=0;
for(int k=0;k<4;k++)
{
if (a[i+next[k][0]][x+next[k][1]]==-1)
{
book=1;
break;
}
}
if (a[i][x]==0&&book)
{
a[i][x]=-1;
}
}
for (int i=x;i<=n+1-x;i++)
{ int book=0;
for(int k=0;k<4;k++)
{
if (a[x+next[k][0]][i+next[k][1]]==-1)
{
book=1;
break;
}
}
if (a[x][i]==0&&book)
{
a[x][i]=-1;
}
}
for (int i=x;i<=n+1-x;i++)
{ int book=0;
for(int k=0;k<4;k++)
{
if (a[i+next[k][0]][n+1-x+next[k][1]]==-1)
{
book=1;
break;
}
}
if (a[i][n+1-x]==0&&book)
{
a[i][n+1-x]=-1;
}
}
for (int i=x;i<=n+1-x;i++)
{ int book=0;
for(int k=0;k<4;k++)
{
if (a[n+1-x+next[k][0]][i+next[k][1]]==-1)
{
book=1;
break;
}
}
if (a[n+1-x][i]==0&&book)
{
a[n+1-x][i]=-1;
}
}
dfs(x+1);
}
int main ()
{ cin>>n;
for (int i=1;i<=n;i++)
{ for (int j=1;j<=n;j++)
cin>>a[i][j];
}
for (int i=0;i<=n+1;i++)
{
a[i][0]=-1;
a[i][n+1]=-1;
}
for (int i=0;i<=n+1;i++)
{
a[0][i]=-1;
a[n+1][i]=-1;
}
dfs(1);
int j;
for (int i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
{
if (a[i][j]==-1)
{ if (j!=n)
cout<<0<<" ";
else
cout<<0;
}
if (a[i][j]==1)
{ if (j!=n)
cout<<1<<" ";
else
cout<<1;
}
if (a[i][j]==0)
{ if (j!=n)
cout<<2<<" ";
else
cout<<2;
}
if (j==n&&i!=n)
cout<<endl;
}
}
}