#include <bits/stdc++.h>
using namespace std;
int n,a[50][50],fx[4]={-1,1,0,0},fy[4]={0,0,-1,1};
void dfs(int x,int y){
a[x][y]=9;
for(int h=0;h<4;h++){
int tx=x+fx[h];
int ty=y+fy[h];
if(tx<=n&&tx>=1&&ty<=n&&ty>=1&&a[tx][ty]==0){
dfs(tx,ty);
}
}
}
int main(){
cin>>n;
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
cin>>a[j][k];
}
}
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if((j>1&&j<n)||(k>1&&k<n)||a[j][k]==1)continue;
dfs(j,k);
}
}
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
switch(a[j][k]){
case 9:
cout<<0<<" ";
break;
case 1:
cout<<1<<" ";
break;
case 0:
cout<<2<<" ";
break;
}
}
cout<<"\n";
}
return 0;
}
/**************************************************************
Problem: 1802
User: zhouhongyi
Language: C++
Result: Wrong Answer
****************************************************************/