#include<stdio.h>#include<iostream>usingnamespace std;constint maxn =110;intmain(){int Flag[maxn][maxn]={0};//上下左右 int dx[8]={1,1,0,-1,-1,-1,0,1};int dy[8]={0,1,1,1,0,-1,-1,-1};int m, n;
cin >> m >> n;//fill(Flag,Flag+maxn*maxn,0);for(int i =0; i < m; i++){for(int j =0; j < n; j++){char temp;
cin >> temp;if(temp =='*'){
Flag[i][j]=-1;for(int k =0; k <8; k++){int nowX = i + dx[k];int nowY = j + dy[k];if(nowX >=0&& nowX < m && nowY >=0&& nowY < n && Flag[nowX][nowY]!=-1){
Flag[nowX][nowY]++;}}}}}for(int i =0; i < m; i++){for(int j =0; j < n; j++){if(Flag[i][j]==-1){printf("*");}else{printf("%d", Flag[i][j]);}}printf("\n");}}