#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using namespace std;
const int di[] = {-1, -1, 0, 1, 1, 1, 0, -1};
const int dj[] = {0, 1, 1, 1, 0, -1, -1, -1};
int main() {
int n, m;
cin >> n >> m;
vector<string> s(n);
rep(i, n) cin >> s[i];
vector ans(n, string(m, '*'));
rep(i, n)rep(j, m) {
if (s[i][j] == '*') continue;
int x = 0;
rep(v, 8) {
int ni = i+di[v], nj = j+dj[v];
if (ni < 0 or ni >= n or nj < 0 or nj >= m) continue;
if (s[ni][nj] == '*') x++;
}
ans[i][j] = '0'+x;
}
rep(i, n) cout << ans[i] << '\n';
return 0;
}