n, m = map(int, input().split())
# Create grid with padding
grid = [[-1] * (m + 2) for _ in range(n + 2)]
fixed = [[0] * (m + 2) for _ in range(n + 2)]
# Input (1-indexed)
for i in range(1, n + 1):
row = list(map(int, input().split()))
for j in range(1, m + 1):
grid[i][j] = row[j - 1]
# Step 1: Mark fixed cells
for i in range(1, n + 1):
for j in range(1, m + 1):
u = grid[i][j]
c = 0
if u == grid[i - 1][j]: c += 1
if u == grid[i + 1][j]: c += 1
if u == grid[i][j - 1]: c += 1
if u == grid[i][j + 1]: c += 1
if c >= 2:
fixed[i][j] = 1
if u == grid[i - 1][j]: fixed[i - 1][j] = 1
if u == grid[i + 1][j]: fixed[i + 1][j] = 1
if u == grid[i][j - 1]: fixed[i][j - 1] = 1
if u == grid[i][j + 1]: fixed[i][j + 1] = 1
# Step 2: Zero out fixed cells
for i in range(1, n + 1):
for j in range(1, m + 1):
if fixed[i][j] == 1:
grid[i][j] = 0
# Output result
for i in range(1, n + 1):
for j in range(1, m + 1):
print(grid[i][j], end=" ")
print()
biwgbSA9IG1hcChpbnQsIGlucHV0KCkuc3BsaXQoKSkKCiMgQ3JlYXRlIGdyaWQgd2l0aCBwYWRkaW5nCmdyaWQgPSBbWy0xXSAqIChtICsgMikgZm9yIF8gaW4gcmFuZ2UobiArIDIpXQpmaXhlZCA9IFtbMF0gKiAobSArIDIpIGZvciBfIGluIHJhbmdlKG4gKyAyKV0KCiMgSW5wdXQgKDEtaW5kZXhlZCkKZm9yIGkgaW4gcmFuZ2UoMSwgbiArIDEpOgogICAgcm93ID0gbGlzdChtYXAoaW50LCBpbnB1dCgpLnNwbGl0KCkpKQogICAgZm9yIGogaW4gcmFuZ2UoMSwgbSArIDEpOgogICAgICAgIGdyaWRbaV1bal0gPSByb3dbaiAtIDFdCgojIFN0ZXAgMTogTWFyayBmaXhlZCBjZWxscwpmb3IgaSBpbiByYW5nZSgxLCBuICsgMSk6CiAgICBmb3IgaiBpbiByYW5nZSgxLCBtICsgMSk6CiAgICAgICAgdSA9IGdyaWRbaV1bal0KICAgICAgICBjID0gMAoKICAgICAgICBpZiB1ID09IGdyaWRbaSAtIDFdW2pdOiBjICs9IDEKICAgICAgICBpZiB1ID09IGdyaWRbaSArIDFdW2pdOiBjICs9IDEKICAgICAgICBpZiB1ID09IGdyaWRbaV1baiAtIDFdOiBjICs9IDEKICAgICAgICBpZiB1ID09IGdyaWRbaV1baiArIDFdOiBjICs9IDEKCiAgICAgICAgaWYgYyA+PSAyOgogICAgICAgICAgICBmaXhlZFtpXVtqXSA9IDEKCiAgICAgICAgaWYgdSA9PSBncmlkW2kgLSAxXVtqXTogZml4ZWRbaSAtIDFdW2pdID0gMQogICAgICAgIGlmIHUgPT0gZ3JpZFtpICsgMV1bal06IGZpeGVkW2kgKyAxXVtqXSA9IDEKICAgICAgICBpZiB1ID09IGdyaWRbaV1baiAtIDFdOiBmaXhlZFtpXVtqIC0gMV0gPSAxCiAgICAgICAgaWYgdSA9PSBncmlkW2ldW2ogKyAxXTogZml4ZWRbaV1baiArIDFdID0gMQoKIyBTdGVwIDI6IFplcm8gb3V0IGZpeGVkIGNlbGxzCmZvciBpIGluIHJhbmdlKDEsIG4gKyAxKToKICAgIGZvciBqIGluIHJhbmdlKDEsIG0gKyAxKToKICAgICAgICBpZiBmaXhlZFtpXVtqXSA9PSAxOgogICAgICAgICAgICBncmlkW2ldW2pdID0gMAoKIyBPdXRwdXQgcmVzdWx0CmZvciBpIGluIHJhbmdlKDEsIG4gKyAxKToKICAgIGZvciBqIGluIHJhbmdlKDEsIG0gKyAxKToKICAgICAgICBwcmludChncmlkW2ldW2pdLCBlbmQ9IiAiKQogICAgcHJpbnQoKQoK