"use strict"

function main(input) {
  input = input.split(/\n/)
  const rowscols = input[0].split(/\s/).map(v => ~~v)
  const marks = input.slice(1, input.length).map(v => v.split("")) //印
  let ans = "" //new Array(rowscols[0])
  for (let r = 0; r < rowscols[0]; r++) {
    for (let c = 0; c < rowscols[1]; c++) {
      if (marks[r][c] == ".") {
        let cnt = 0
        //左右斜めのマスをチェックする
        if (r > 0 && c > 0 && marks[r - 1][c - 1] == "#") cnt++
        if (r > 0 && marks[r - 1][c + 0] == "#") cnt++
        if (r > 0 && c < rowscols[1] - 1 && marks[r - 1][c + 1] == "#") cnt++

        if (c > 0 && marks[r + 0][c - 1] == "#") cnt++
        if (c < rowscols[1] - 1 && marks[r + 0][c + 1] == "#") cnt++

        if (r < rowscols[0] - 1 && c > 0 && marks[r + 1][c - 1] == "#") cnt++
        if (r < rowscols[0] - 1 && marks[r + 1][c + 0] == "#") cnt++
        if (
          r < rowscols[0] - 1 &&
          c < rowscols[1] - 1 &&
          marks[r + 1][c + 1] == "#"
        )
          cnt++
        ans += cnt
      } else {
        ans += "#"
      }
    }
    ans += "\n"

    // console.log(ans[r])
  }

  console.log(ans)
}
main(require("fs").readFileSync("/dev/stdin", "utf8"))