#include<bits/stdc++.h>
#define map a
using namespace std;
char map[200][200];
int ans[200][200];
int n,m;
int main(){
memset(ans,0x3f,sizeof(ans));
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>map[i][j];
}
}
for(int i1=1;i1<=n;i1++){
for(int j1=1;j1<=m;j1++){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(map[i][j]=='1'){
ans[i][j]=0;
if(j-1>=1) ans[i][j-1]=min(ans[i][j]+1,ans[i][j-1]);
if(j+1<=m) ans[i][j+1]=min(ans[i][j]+1,ans[i][j+1]);
if(i-1>=1) ans[i-1][j]=min(ans[i][j]+1,ans[i-1][j]);
if(i+1<=n) ans[i+1][j]=min(ans[i][j]+1,ans[i+1][j]);
}
else{
if(j-1>=1) ans[i][j-1]=min(ans[i][j]+1,ans[i][j-1]);
if(j+1<=m) ans[i][j+1]=min(ans[i][j]+1,ans[i][j+1]);
if(i-1>=1) ans[i-1][j]=min(ans[i][j]+1,ans[i-1][j]);
if(i+1<=n) ans[i+1][j]=min(ans[i][j]+1,ans[i+1][j]);
}
}
}
}}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<ans[i][j]<<" ";
}
cout<<endl;
}
return 0;
}