import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int H = sc.nextInt();
		int W = sc.nextInt();
		sc.nextLine();
		char[][] array = new char[H][W];
		for (int i = 0; i < H; i++) {
			array[i] = sc.nextLine().toCharArray();
		}
		sc.close();
		
		for (int i = 0; i < array.length; i++) {
			StringBuilder sb = new StringBuilder();
			for (int j = 0; j < array[i].length; j++) {
				int count = 0;
				if (i == 0 && j == 0) {
					if (H == 1) {
						if (W == 1) {
							if ("#".equals(String.valueOf(array[i][j]))) {
								sb.append("#");
							} else {
								sb.append("0");
							}
						} else {
							if ("#".equals(String.valueOf(array[i][j]))) {
								sb.append("#");
							} else if ("#".equals(String.valueOf(array[i][j + 1]))) {
								sb.append("1");
							}
						}
					} else {
						if (W == 1) {
							if ("#".equals(String.valueOf(array[i][j]))) {
								sb.append("#");
							} else if ("#".equals(String.valueOf(array[i + 1][j]))) {
								sb.append("1");
							}
						} else {
							if ("#".equals(String.valueOf(array[i][j]))) {
								sb.append("#");
							} else {
								if ("#".equals(String.valueOf(array[i + 1][j]))) {
									count++;
								}
								if ("#".equals(String.valueOf(array[i][j + 1]))) {
									count++;
								}
								if ("#".equals(String.valueOf(array[i + 1][j + 1]))) {
									count++;
								}
								sb.append(count);
							}
						}
					}
				} else if (i == 0 && j == W - 1 && j > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if (H == 1) {
							if ("#".equals(String.valueOf(array[i][j - 1]))) {
								sb.append("1");
							} else {
								sb.append("0");
							}
						} else {
							if ("#".equals(String.valueOf(array[i][j - 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j - 1]))) {
								count++;
							}
							sb.append(count);
						}
					}
				} else if (j == 0 && i == H - 1 && i > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if (W == 1) {
							if ("#".equals(String.valueOf(array[i - 1][j]))) {
								sb.append("1");
							} else {
								sb.append("0");
							}
						} else {
							if ("#".equals(String.valueOf(array[i - 1][j]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i][j + 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i - 1][j + 1]))) {
								count++;
							}
							sb.append(count);
						}
					}
				} else if (i == H - 1 && i > 0 && j == W - 1 && j > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if ("#".equals(String.valueOf(array[i - 1][j]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j - 1]))) {
							count++;
						}
						sb.append(count);
					}
				} else if (i == 0 && j != W - 1 && j > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if (H == 1) {
							if ("#".equals(String.valueOf(array[i][j - 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i][j + 1]))) {
								count++;
							}
						} else {
							if ("#".equals(String.valueOf(array[i][j - 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i][j + 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j - 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j + 1]))) {
								count++;
							}
						}
						sb.append(count);
					}
				} else if (j == 0 && i != H - 1 && i > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if (W == 1) {
							if ("#".equals(String.valueOf(array[i - 1][j]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j]))) {
								count++;
							}
						} else {
							if ("#".equals(String.valueOf(array[i][j + 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i - 1][j]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i + 1][j + 1]))) {
								count++;
							}
							if ("#".equals(String.valueOf(array[i - 1][j + 1]))) {
								count++;
							}
						}
						sb.append(count);
					}
				} else if (i == H - 1 && j != W - 1 && j > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if ("#".equals(String.valueOf(array[i][j + 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j + 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j - 1]))) {
							count++;
						}
						sb.append(count);
					}
				} else if (j == W - 1 && i != H - 1 && i > 0) {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if ("#".equals(String.valueOf(array[i][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i + 1][j]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i + 1][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j - 1]))) {
							count++;
						}
						sb.append(count);
					}
				} else {
					if ("#".equals(String.valueOf(array[i][j]))) {
						sb.append("#");
					} else {
						if ("#".equals(String.valueOf(array[i][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i][j + 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i + 1][j]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i + 1][j - 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i - 1][j + 1]))) {
							count++;
						}
						if ("#".equals(String.valueOf(array[i + 1][j + 1]))) {
							count++;
						}
						sb.append(count);
					}
				}
			}
			System.out.println(sb.toString());
		}
	}
}

Measured memory_bytes: 23124