//参考已有题解的,超时是因为调用太多次System.out,换成每行输出,次数从n*m次减少到n次,时间0.4s
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        char[][] array = new char[n][m];
        for(int i = 0; i < n; i++){
            array[i] = sc.next().toCharArray();
        }
        for(int i = 0; i <n; i++){
            for(int j =0; j < m; j++){
                if(array[i][j] == '*'){
                    continue;
                }else{
                    int count = 0;
                    for(int x = i-1; x <= i+1; x++){
                        if(x < 0 || x>= n){
                            continue;
                        }
                        for(int y = j-1; y <=j+1; y++){
                            if(y < 0 || y>= m){
                            continue;
                            }else if(array[x][y] == '*'){
                                count++;
                            }
                        }
                    }
                    array[i][j] = (char)(count+'0');
                }
            }
           System.out.println(array[i]);
        }
    }
}