import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import java.util.stream.Collectors; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 List<String> s = new ArrayList<String>(); while (in.hasNextLine()) { // 注意 while 处理多个 case s.add(in.nextLine()); // System.out.println(a + b); } int a = Integer.valueOf(s.get(0).split(" ")[0]); int b = Integer.valueOf(s.get(0).split(" ")[1]); s.remove(0); char[][] ss = new char[a][b]; List<String> start = new ArrayList<String>(); s.forEach(i->{ start.addAll(Arrays.stream(i.split("")).collect(Collectors.toList())); }); for(int i=0;i<a;i++){ for(int j =0;j<b;j++){ ss[i][j] = start.get(i*b+j).charAt(0); // System.out.print(ss[i][j]); } } for(int i=0;i<a;i++){ for(int j =0;j<b;j++){ if(ss[i][j] != '*'){ char x = (char)(count(ss,i,j,a,b)+'0'); ss[i][j] = x; } } } for(int i=0;i<a;i++){ for(int j =0;j<b;j++){ System.out.print(ss[i][j]); } System.out.println(); } } public static int count(char[][] ss,int x,int y,int xl,int yl){ int count = 0; if(x-1>=0 && y-1>=0 && ss[x-1][y-1] == '*'){ count++; } if(x-1>=0 && ss[x-1][y] == '*'){ count++; } if(x-1>=0 && y+1<yl&& ss[x-1][y+1] == '*'){ count++; } if( y-1>=0 && ss[x][y-1] == '*'){ count++; } if(y+1<yl&& ss[x][y+1] == '*'){ count++; } if(x+1<xl && y-1>=0 && ss[x+1][y-1] == '*'){ count++; } if(x+1<xl && ss[x+1][y] == '*'){ count++; } if(x+1<xl && y+1<yl&& ss[x+1][y+1] == '*'){ count++; } return count; } }