import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int m, n;
Scanner scanner = new Scanner(System.in);
m = scanner.nextInt();
n = scanner.nextInt();
String s = scanner.nextLine();
String[] s1 =new String[m];
char[][] c = new char[m][n];
for(int i = 0 ; i < m ; i++)
{
s1[i] = scanner.nextLine();
for(int j = 0 ; j < n ; j++)
{
c[i][j] = s1[i].charAt(j);
}
}
int[][] a = new int[m][n];
for(int i = 0 ; i < m ; i++)
for(int j = 0 ; j < n ; j++)
a[i][j] = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (c[i][j] == '*') {
a[i][j] = -1;
continue;
}
if (i - 1 >= 0 && c[i - 1][j] == '*')
a[i][j] += 1;
if (i - 1 >= 0 && j - 1 >= 0 && c[i - 1][j - 1] == '*')
a[i][j] += 1;
if (i - 1 >= 0 && j + 1 < n && c[i - 1][j + 1] == '*')
a[i][j] += 1;
if (j - 1 >= 0 && c[i][j - 1] == '*')
a[i][j] += 1;
if (j + 1 < n && c[i][j + 1] == '*')
a[i][j] += 1;
if (j - 1 >= 0 && i + 1 < m && c[i + 1][j - 1] == '*')
a[i][j] += 1;
if (i + 1 < m && c[i + 1][j] == '*')
a[i][j] += 1;
if (i + 1 < m && j + 1 < n && c[i + 1][j + 1] == '*')
a[i][j] += 1;
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (a[i][j] != -1)
System.out.print(a[i][j]);
else {
System.out.print("*");
}
}
System.out.println();
}
}
}
/**************************************************************
Problem: 1580
User: admin
Language: Java
Result: Accepted
Time:5048 ms
Memory:43024 kb
****************************************************************/