#include <bits/stdc++.h>
using namespace std;
const int N = 40;
int map1[N][N];
int dx[4]{ 0,-1,0,1 };
int dy[4]{ -1,0,1,0 };
int n, m;
void bfs(int x, int y)
{
map1[x][y] = 2;
for (int i = 0; i < 4; i++)
{
int xx = x + dx[i];
int yy = y + dy[i];
if(xx > 0 && xx <= n && yy > 0 && yy <= n&&map1[xx][yy]==1)
continue;
if (xx > 0 && xx <= n && yy > 0 && yy <= n && map1[xx][yy] == 0)
{
bfs(xx, yy);
}
}
return;
}
int main()
{
cin >> n ;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
cin >> map1[i][j];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (map1[i][j] == 0)
{
int l1 = i - 1;
int l2 = n - i;
int r1 = j - 1;
int r2 = n - j;
int c = 0;
for (int k=1;k<=l1;k++)
if (map1[i-k][j] == 1)
{
c++;
break;
}
for (int k=1;k<=l2;k++)
if (map1[i+k][j] == 1)
{
c++;
break;
}
for (int k=1; k <=r1; k++)
if (map1[i][j-k] == 1)
{
c++;
break;
}
for (int k=1;k<=r2;k++)
if (map1[i][j+k] == 1)
{
c++;
break;
}
if (c == 4)
{
bfs(i, j);
break;
}
}
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
{
cout << map1[i][j] << " ";
if (j == n)cout << endl;
}
}