#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<string> s(W);
  for (int i = 0; i < H; i++) {
    cin >> s.at(i);
  }
  if (H == 1 && W == 1) {
    if (s.at(0).at(0) != '#') {
      s.at(0).at(0) = '0';
    }
  }
  if (H == 1 && W == 2) {
    if (s.at(0).at(0) != '#') {
      s.at(0).at(0) = '0';
      if (s.at(0).at(1) == '#') {
        s.at(0).at(0) += 1;
      }
    }
    if (s.at(0).at(1) != '#') {
      s.at(0).at(1) = '0';
      if (s.at(0).at(0) == '#') {
        s.at(0).at(1) += 1;
      }
    }
  }
  if (H == 2 && W == 1) {
    if (s.at(0).at(0) != '#') {
      s.at(0).at(0) = '0';
      if (s.at(1).at(0) == '#') {
        s.at(0).at(0) += 1;
      }
    }
    if (s.at(1).at(0) != '#') {
      s.at(1).at(0) = '0';
      if (s.at(0).at(0) == '#') {
        s.at(1).at(0) += 1;
      }
    }
  }
  if (H > 1 && W > 1) {
    if (s.at(0).at(0) != '#') {
      s.at(0).at(0) = '0';
      if (s.at(0).at(1) == '#') {
        s.at(0).at(0) += 1;
      }
      if (s.at(1).at(1) == '#') {
        s.at(0).at(0) += 1;
      }
      if (s.at(1).at(0) == '#') {
        s.at(0).at(0) += 1;
      }
    }
    if (s.at(0).at(W - 1) != '#') {
      s.at(0).at(W - 1) = '0';
      if (s.at(0).at(W - 2) == '#') {
        s.at(0).at(W - 1) += 1;
      }
      if (s.at(1).at(W - 1) == '#') {
        s.at(0).at(W - 1) += 1;
      }
      if (s.at(1).at(W - 2) == '#') {
        s.at(0).at(W - 1) += 1;
      }
    }
    if (s.at(H - 1).at(0) != '#') {
      s.at(H - 1).at(0) = '0';
      if (s.at(H - 1).at(1) == '#') {
        s.at(H - 1).at(0) += 1;
      }
      if (s.at(H - 2).at(1) == '#') {
        s.at(H - 1).at(0) += 1;
      }
      if (s.at(H - 2).at(0) == '#') {
        s.at(H - 1).at(0) += 1;
      }
    }
    if (s.at(H - 1).at(W - 1) != '#') {
      s.at(H - 1).at(W - 1) = '0';
      if (s.at(H - 1).at(W - 2) == '#') {
        s.at(H - 1).at(W - 1) += 1;
      }
      if (s.at(H - 2).at(W - 1) == '#') {
        s.at(H - 1).at(W - 1) += 1;
      }
      if (s.at(H - 2).at(W - 2) == '#') {
        s.at(H - 1).at(W - 1) += 1;
      }
    }
  }
  if (W > 2) {
    for (int m = 1; m < W - 1; m++) {
      if (s.at(0).at(m) != '#') {
        s.at(0).at(m) = '0';
        if (s.at(0).at(m + 1) == '#') {
          s.at(0).at(m) += 1;
        }
        if (s.at(1).at(m + 1) == '#') {
          s.at(0).at(m) += 1;
        }
        if (s.at(1).at(m) == '#') {
          s.at(0).at(m) += 1;
        }
        if (s.at(0).at(m - 1) == '#') {
          s.at(0).at(m) += 1;
        }
        if (s.at(1).at(m - 1) == '#') {
          s.at(0).at(m) += 1;
        }
      }
    }
    for (int m = 1; m < W - 1; m++) {
      if (s.at(H - 1).at(m) != '#') {
        s.at(H - 1).at(m) = '0';
        if (s.at(H - 1).at(m + 1) == '#') {
          s.at(H - 1).at(m) += 1;
        }
        if (s.at(H - 1).at(m - 1) == '#') {
          s.at(H - 1).at(m) += 1;
        }
        if (s.at(H - 2).at(m) == '#') {
          s.at(H - 1).at(m) += 1;
        }
        if (s.at(H - 2).at(m + 1) == '#') {
          s.at(H - 1).at(m) += 1;
        }
        if (s.at(H - 2).at(m - 1) == '#') {
          s.at(H - 1).at(m) += 1;
        }
      }
    }
  }
  if (H > 2) {
    for (int i = 1; i < H - 1; i++) {
      if (s.at(i).at(0) != '#') {
        s.at(i).at(0) = '0';
        if (s.at(i).at(1) == '#') {
          s.at(i).at(0) += 1;
        }
        if (s.at(i - 1).at(1) == '#') {
          s.at(i).at(0) += 1;
        }
        if (s.at(i - 1).at(0) == '#') {
          s.at(i).at(0) += 1;
        }
        if (s.at(i + 1).at(1) == '#') {
          s.at(i).at(0) += 1;
        }
        if (s.at(i + 1).at(0) == '#') {
          s.at(i).at(0) += 1;
        }
      }
    }
    for (int i = 1; i < H - 1; i++) {
      if (s.at(i).at(W - 1) != '#') {
        s.at(i).at(W - 1) = '0';
        if (s.at(i).at(W - 2) == '#') {
          s.at(i).at(W - 1) += 1;
        }
        if (s.at(i - 1).at(W - 2) == '#') {
          s.at(i).at(W - 1) += 1;
        }
        if (s.at(i - 1).at(W - 1) == '#') {
          s.at(i).at(W - 1) += 1;
        }
        if (s.at(i + 1).at(W - 1) == '#') {
          s.at(i).at(W - 1) += 1;
        }
        if (s.at(i + 1).at(W - 2) == '#') {
          s.at(i).at(W - 1) += 1;
        }
      }
    }
  }
  if (H > 2 && W > 2) {
    for (int i = 1; i < H - 1; i++) {
      for (int m = 1; m < W - 1; m++) {
        if (s.at(i).at(m) != '#') {
          s.at(i).at(m) = '0';
          if (s.at(i).at(m + 1) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i).at(m - 1) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i + 1).at(m) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i + 1).at(m + 1) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i + 1).at(m - 1) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i - 1).at(m) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i - 1).at(m + 1) == '#') {
            s.at(i).at(m) += 1;
          }
          if (s.at(i - 1).at(m - 1) == '#') {
            s.at(i).at(m) += 1;
          }
        }
      }
    }
  }
  for (int i = 0; i < H; i++) {
    cout << s.at(i) << endl;
  }
}
