#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<string> g(n);
for (int i = 0; i < n; i++) cin >> g[i];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (g[i][j] == '*') continue; // 地雷格原样保留
int cnt = 0;
for (int dx = -1; dx <= 1; dx++) {
for (int dy = -1; dy <= 1; dy++) {
if (dx == 0 && dy == 0) continue; // 跳过自己
int x = i + dx, y = j + dy;
if (x < 0 || x >= n || y < 0 || y >= m) continue; // 越界的不算
if (g[x][y] == '*') cnt++;
}
}
g[i][j] = char('0' + cnt);
}
}
for (int i = 0; i < n; i++) cout << g[i] << "\n";
return 0;
}