#include <bits/stdc++.h>
using namespace std;
const int maxN = 1000 + 5;
int a[maxN][maxN];
int b[maxN][maxN];
int n, m;
void print() {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) cout << b[i][j] + 1;
    cout << endl;
  }
  exit(0);
}
bool row(int c1, int c2, int i) {
  for (int j = 0; j < m; j++) {
    if (j % 2 == 0 && a[i][j] != -1 && a[i][j] != c1) return 0;
    if (j % 2 == 0) b[i][j] = c1;
    if (j % 2 == 1 && a[i][j] != -1 && a[i][j] != c2) return 0;
    if (j % 2 == 1) b[i][j] = c2;
  }
  return true;
}
bool col(int c1, int c2, int j) {
  for (int i = 0; i < n; i++) {
    if (i % 2 == 0 && a[i][j] != -1 && a[i][j] != c1) return 0;
    if (i % 2 == 0) b[i][j] = c1;
    if (i % 2 == 1 && a[i][j] != -1 && a[i][j] != c2) return 0;
    if (i % 2 == 1) b[i][j] = c2;
  }
  return true;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) {
      char c;
      cin >> c;
      a[i][j] = c - '0';
      a[i][j]--;
    }
  for (int c1 = 0; c1 < 4; c1++)
    for (int c2 = 0; c2 < 4; c2++) {
      if (c1 == c2) continue;
      int c3 = 0, c4 = 0;
      for (int i = 0; i < 4; i++)
        if (i != c1 && i != c2) c3 = i;
      for (int i = 0; i < 4; i++)
        if (i != c1 && i != c2 && i != c3) c4 = i;
      bool flag = false;
      for (int i = 0; i < n; i++) {
        if (i % 2 == 0) {
          if (!row(c1, c2, i) && !row(c2, c1, i)) {
            flag = true;
            break;
          }
        } else {
          if (!row(c3, c4, i) && !row(c4, c3, i)) {
            flag = true;
            break;
          }
        }
      }
      if (!flag) print();
      flag = false;
      for (int j = 0; j < m; j++) {
        if (j % 2 == 0) {
          if (!col(c1, c2, j) && !col(c2, c1, j)) {
            flag = true;
            break;
          }
        } else {
          if (!col(c3, c4, j) && !col(c4, c3, j)) {
            flag = true;
            break;
          }
        }
      }
      if (!flag) print();
    }
  cout << 0 << endl;
  return 0;
}
