#include<bits/stdc++.h>
using namespace std;
int n;
int a[35][35];
int dx[]={0,0,0,1,-1};
int dy[]={0,1,-1,0,0};
bool vis[35][35];
void dfs2(int x,int y)
{
for(int i=1;i<=4;i++)
{
int nx=x+dx[i];
int ny=y+dy[i];
if(nx<1||nx>n||ny<1||ny>n||a[nx][ny]==0||a[nx][ny]==1) continue;
a[nx][ny]=0;
dfs2(nx,ny);
}
}
void dfs(int x,int y)
{
if(x==n||x==1||y==n||y==1)
{
if(a[x][y]==2)
{
dfs2(x,y);
}
return;
}
else
{
for(int i=1;i<=4;i++)
{
int nx=x+dx[i];
int ny=y+dy[i];
if(nx<1||nx>n||ny<1||ny>n||vis[nx][ny]==1||a[nx][ny]==1) continue;
vis[nx][ny]=1;
dfs(nx,ny);
vis[nx][ny]=0;
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
if(a[i][j]==0) a[i][j]=2;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]==2)
{
dfs(i,j);
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}