include[HTML_REMOVED]
using namespace std;
int n,m,dx[]={-1,0,1,0},dy[]={0,1,0,-1};
char a[1010][1010];
bool v[1010][1010];
int dis[1010][1010];
typedef struct Q{
int x,y,d;
}PIII;
queue[HTML_REMOVED] q;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i)
for(int j=1;j<=m;j)
{
cin>>a[i][j];
if(a[i][j]==‘1’)
{
PIII e={i,j,0};
q.push(e);
v[i][j]=1;
dis[i][j]=0;
}
}
while(!q.empty())
{
PIII t=q.front();
q.pop();
int x=t.x,y=t.y,d=t.d;
for(int i=0;i<4;i)
{
int tx=x+dx[i],ty=y+dy[i];
if(tx>0&&tx<=n&&ty>0&&ty<=m&&!v[tx][ty])
{
PIII e={tx,ty,d+1};
q.push(e);
v[tx][ty]=1;
dis[tx][ty]=d+1;
}
}
}
for(int i=1;i<=n;i)
{
for(int j=1;j<=m;j++)
cout<<dis[i][j]<<’ ‘;
cout<<endl;
}
return 0;
}