#include<stdio.h>
int map[1001][1001] = {}, queue[2][1000001] = {}, dx[4] = {0, +1, 0, -1}, dy[4] = {-1, 0, +1, 0};
int n, m, front = -1, rear = -1, pi, pj;
void pop()
{
front ++;
pi = queue[0][front];
pj = queue[1][front];
}
void push(int i, int j)
{
if (i < 1 || i > n || j < 1 || j > m)
{
return ;
}
map[i][j] = 1;
rear ++;
queue[0][rear] = i;
queue[1][rear] = j;
}
void bfs(int i, int j)
{
for (int k = 0 ; k < 4 ; k ++)
{
if (map[i + dy[k]][j + dx[k]] == 0)
{
push(i + dy[k], j + dx[k]);
}
}
}
int main()
{
int i,j,k,n,m;
scanf("%d %d", &m, &n);
for (i = 1 ; i <= n ; i ++)
{
for (j =1 ; j <= m ; j ++)
{
scanf("%d", &map[i][j]);
if (map[i][j] == 1)
{
printf("i : %d j : %d\n", i, j);
push(i, j);
}
}
}
printf("rear : %d front : %d\n", rear, front);
while (front != rear)
{
pop();
bfs(pi, pj);
for (i = 1 ; i <= n ; i ++)
{
for (j = 1 ; j <= m ; j ++)
{
printf("%d ", map[i][j]);
}
printf("\n");
}
}
}