#include<bits/stdc++.h>
using namespace std;
int n,m,vis[35][35],vis1[35][35],a,lx,ly,nx[4]={-1,0,1,0},ny[4]={0,1,0,-1},ax,ay;
queue<int> x,y;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>vis1[i][j];
}
}
x.push(0);
y.push(0);
while(x.size()){
ax=x.front();
ay=y.front();
x.pop();
y.pop();
for(int i=0;i<4;i++){
if(vis[ax+nx[i]][ay+ny[i]]==0&&vis1[ax][ay]vis1[ax+nx[i]][ay+ny[i]]&&ax+nx[i]>=0&&ax+nx[i]<=n+1&&ay+ny[i]>=0&&ay+ny[i]<=n+1){
x.push(ax+nx[i]);
y.push(ay+ny[i]);
vis[ax+nx[i]][ay+ny[i]]=1;
}
}
vis1[ax][ay]=-1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(vis1[i][j]-1){
cout<<0<<" ";
}else if(vis1[i][j]==0){
cout<<2<<" ";
}else{
cout<<1<<" ";
}
}
cout<<endl;
}
}