#include<iostream>
using namespace std;
int n,map[32][32];
int fx[4]={0,1,0,-1},fy[4]={1,0,-1,0};
void bfs(int x,int y,int pd){
int q[30*30-8][2],head=1,tail=1;
q[1][0]=x,q[1][1]=y;
while(head<=tail){
for(int i=0;i<4;i++){
int nox=q[head][0]+fx[i],noy=q[head][1]+fy[i];
if(map[nox][noy]==0) map[nox][noy]=pd,q[++tail][0]=nox,q[tail][1]=noy;
}head++;
}
}
int mian(){
cin>>n;
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)cin>>map[i][j];
for(int i=1;i<=n;i++){
if(map[1][i]==0){
map[1][i]=3;
bfs(1,i,3);
}
if(map[n][i]==0){
map[n][i]=3;
bfs(n,i,3);
}
}
for(int i=2;i<n;i++){
if(map[i][1]==0){
map[i][1]=3;
bfs(i,1,3);
}
if(map[i][n]==0){
map[i][n]=3;
bfs(i,n,3);
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(map[i][j]==0){
map[i][j]=2;
bfs(i,j,2);
for(int x=1;i<=n;i++){
for(int y=1;j<=n;j++){
if(map[x][y]==3) cout<<0<<" ";
else cout<<map[x][y]<<" ";
}cout<<"\n";
}
return 0;
}
}