#include <bits/stdc++.h>
using namespace std;
const int go[4][2] = {0, 1, 1, 0, 0, -1, -1, 0};
int n, m;
char s[1011][1011];
int id[1011][1011];
vector<pair<int, int> > v[1011 * 1011];
bool chk_color(int id, char ch) {
  for (int i = 0; i < (int)v[id].size(); i++) {
    int x = v[id][i].first, y = v[id][i].second;
    for (int j = 0; j < 4; j++) {
      int _x = x + go[j][0], _y = y + go[j][1];
      if (_x < 0 || _x >= n || _y < 0 || _y >= m) continue;
      if (s[_x][_y] == ch) return false;
    }
  }
  return true;
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) scanf("%s", s[i]);
  memset(id, -1, sizeof id);
  int lv = 0;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m - 1; j++)
      if (s[i][j] == '.' && s[i][j + 1] == '.') {
        lv++;
        v[lv].push_back(make_pair(i, j));
        v[lv].push_back(make_pair(i, j + 1));
        s[i][j] = s[i][j + 1] = '#';
        id[i][j] = id[i][j + 1] = lv;
      }
  for (int j = 0; j < m; j++)
    for (int i = 0; i < n - 1; i++)
      if (s[i][j] == '.' && s[i + 1][j] == '.') {
        lv++;
        v[lv].push_back(make_pair(i, j));
        v[lv].push_back(make_pair(i + 1, j));
        s[i][j] = s[i + 1][j] = '#';
        id[i][j] = id[i + 1][j] = lv;
      }
  bool chk = true;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
      if (s[i][j] == '.') {
        bool found = false;
        for (int k = 0; k < 4 && !found; k++) {
          int x = i + go[k][0], y = j + go[k][1];
          if (x < 0 || x >= n || y < 0 || y >= m || id[x][y] < 0) continue;
          s[i][j] = '#';
          id[i][j] = id[x][y];
          v[id[x][y]].push_back(make_pair(i, j));
          found = true;
        }
        if (!found) chk = false;
      }
  if (!chk) {
    puts("-1");
    return 0;
  }
  for (int i = 1; i <= lv; i++)
    for (int j = 0; j <= 9; j++)
      if (chk_color(i, j + '0')) {
        for (int k = 0; k < v[i].size(); k++)
          s[v[i][k].first][v[i][k].second] = j + '0';
        break;
      }
  for (int i = 0; i < n; i++) printf("%s\n", s[i]);
  return 0;
}
