'use strict'

function main(s) {

  s = s.split('\n');
  const H = Number(s[0].split(' ')[0]);
  const W = Number(s[0].split(' ')[1]);
  const table = s.slice(1, -1).map(line => line.split(''));

  for (let h = 0; h < H; h++) {
    for (let w = 0; w < W; w++) {
      if (table[h][w] === '#') continue;

      let count = 0;

      // 上の行
      if (h >= 1) {
        
        // 左上
        if (w >= 1) {
          if (table[h - 1][w - 1] === '#') count += 1;
        }

        // 真上
        if (table[h - 1][w] === '#') count += 1;

        // 右上
        if (w < W - 1) {
          if (table[h - 1][w + 1] === '#') count += 1;
        }
      }

      // 該当行
      // 左
      if (w >= 1) {
        if (table[h][w - 1] === '#') count += 1;
      }

      // 右
      if (w < W - 1) {
        if (table[h][w + 1] === '#') count += 1;
      }

      // 下の行
      if (h < H - 1) {

        // 左下
        if (w >= 1) {
          if (table[h + 1][w - 1] === '#') count += 1;
        }

        // 真下
        if (table[h + 1][w] === '#') count += 1;

        // 右下
        if (w < W - 1) {
          if (table[h + 1][w + 1] === '#') count += 1;
        }
      }

      table[h][w] = count;
    }
  }

  const ans = table.map(line => line.join('')).join('\n');
  console.log(ans);
}

main(require("fs").readFileSync("/dev/stdin", "utf8"));
