#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void read(T& x) {
  bool fu = 0;
  char c;
  for (c = getchar(); c <= 32; c = getchar())
    ;
  if (c == '-') fu = 1, c = getchar();
  for (x = 0; c > 32; c = getchar()) x = x * 10 + c - '0';
  if (fu) x = -x;
};
template <class T>
inline void read(T& x, T& y) {
  read(x);
  read(y);
}
template <class T>
inline void read(T& x, T& y, T& z) {
  read(x);
  read(y);
  read(z);
}
inline char getc() {
  char c;
  for (c = getchar(); c <= 32; c = getchar())
    ;
  return c;
}
int n, m, i, j, k, l, p;
int b[5];
int a[1010][1010], c[1010][1010];
bool solve0() {
  int i, j, k, l, p, op = 0;
  bool pd;
  for (i = 1; i <= n; i++) {
    op = 1 - op;
    p = 0;
    for (j = 1; j <= m; j++) c[i][j] = b[p + op], p = 2 - p;
    pd = 1;
    for (j = 1; j <= m; j++)
      if (a[i][j] && a[i][j] != c[i][j]) {
        pd = 0;
        break;
      }
    if (pd) continue;
    p = 2;
    for (j = 1; j <= m; j++) c[i][j] = b[p + op], p = 2 - p;
    pd = 1;
    for (j = 1; j <= m; j++)
      if (a[i][j] && a[i][j] != c[i][j]) {
        pd = 0;
        break;
      }
    if (pd) continue;
    return 0;
  }
  return 1;
}
bool solve1() {
  int i, j, k, l, p, op = 0;
  bool pd;
  for (j = 1; j <= m; j++) {
    op = 1 - op;
    p = 0;
    for (i = 1; i <= n; i++) c[i][j] = b[p + op], p = 2 - p;
    pd = 1;
    for (i = 1; i <= n; i++)
      if (a[i][j] && a[i][j] != c[i][j]) {
        pd = 0;
        break;
      }
    if (pd) continue;
    p = 2;
    for (i = 1; i <= n; i++) c[i][j] = b[p + op], p = 2 - p;
    pd = 1;
    for (i = 1; i <= n; i++)
      if (a[i][j] && a[i][j] != c[i][j]) {
        pd = 0;
        break;
      }
    if (pd) continue;
    return 0;
  }
}
void print() {
  int i, j;
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= m; j++) printf("%d", c[i][j]);
    printf("\n");
  }
}
int main() {
  read(n, m);
  for (i = 1; i <= n; i++)
    for (j = 1; j <= m; j++) a[i][j] = getc() - '0';
  for (i = 0; i <= 3; i++) b[i] = i + 1;
  for (int z = (1); z <= (24); z++) {
    if (solve0()) {
      print();
      return 0;
    }
    if (solve1()) {
      print();
      return 0;
    }
    next_permutation(b, b + 4);
  }
  printf("0\n");
  scanf("\n");
  return 0;
}
