#include <bits/stdc++.h>
using namespace std;

int main() {
  int H, W;
  cin >> H >> W;
  string S;
  
  for (int i = 0; i < H; i++) {
    string Si;
    cin >> Si;
    S += Si;
  }
  
   	for (int i = 0; i < H; i++) {
      for (int j = 0; j < W; j++) {
        int count = 0;
        int k = i*W + j;
          if (S.at(k) == '#') {
             cout << '#';
            if (k%W == W-1) {
            cout << endl; 
            }
            continue;
          }
          else if (H == 1 && W == 1) {
            count = 0;
          }
        
          else if (H == 1) {
            if (j == 0) {
              if (S.at(k+1) == '#') {
                count++;
              }
            }
            else if (j == W-1) {
              if (S.at(k-1) == '#') {
                count++;
              }
            }
            else {
              if (S.at(k-1) == '#') {
                count++;
              }
              if (S.at(k+1) == '#') {
                count++;
              }
            }
          }
        
          else if (W == 1) {
            if (i == 0) {
              if (S.at(k+W) == '#') {
                count++;
              }
            }
            else if (i == H-1) {
              if (S.at(k-W) == '#') {
                count++;
              }
            }
            else {
              if (S.at(k-W) == '#') {
                count++;
              }
              if (S.at(k+W) == '#') {
                count++;
              }
            }
          }
              
              
          else if (i == 0 && j == 0) {
            if (S.at(k+1) == '#') {
              count++;
            }
            if (S.at(k+W) == '#') {
              count++;
            }
            if (S.at(k+W+1) == '#') {
              count++;
            }
          }

          else if (i == 0 && j == W-1) {
            if (S.at(k-1) == '#') {
              count++;
            }
            if (S.at(k+W-1) == '#') {
              count++;
            }
            if (S.at(k+W) == '#') {
              count++;
            }
          }

          else if (i == H-1 && j == 0) {
            if (S.at(k-W) == '#') {
              count++;
            }
            if (S.at(k-W+1) == '#') {
              count++;
            }
            if (S.at(k+1) == '#') {
              count++;
            }
          }

          else if (i == H-1 && j == W-1) {
            if (S.at(k-W-1) == '#') {
              count++;
            }
            if (S.at(k-W) == '#') {
              count++;
            }
            if (S.at(k-1) == '#') {
              count++;
            }
          }

          else if (i == 0) {
            if (S.at(k-1) == '#') {
              count++;
            }
            if (S.at(k+1) == '#') {
              count++;
            }
            if (S.at(k+W-1) == '#') {
              count++;
            }
            if (S.at(k+W) == '#') {
              count++;
            }
            if (S.at(k+W+1) == '#') {
              count++;
            }
          }

          else if (i == H-1) {
            if (S.at(k-W-1) == '#') {
              count++;
            }
            if (S.at(k-W) == '#') {
              count++;
            }
            if (S.at(k-W+1) == '#') {
              count++;
            }
            if (S.at(k-1) == '#') {
              count++;
            }
            if (S.at(k+1) == '#') {
              count++;
            }
          }

          else if (j == 0) {
            if (S.at(k-W) == '#') {
              count++;
            }
            if (S.at(k-W+1) == '#') {
              count++;
            }
            if (S.at(k+1) == '#') {
              count++;
            }
            if (S.at(k+W) == '#') {
              count++;
            }
            if (S.at(k+W+1) == '#') {
              count++;
            }
          }

          else if (j == W-1) {
            if (S.at(k-W-1) == '#') {
              count++;
            }
            if (S.at(k-W) == '#') {
              count++;
            }
            if (S.at(k-1) == '#') {
              count++;
            }
            if (S.at(k+W-1) == '#') {
              count++;
            }
            if (S.at(k+W) == '#') {
              count++;
            }
          }

          else {
            if (S.at(k-W-1) == '#') {
              count++;
            }
            if (S.at(k-W) == '#') {
              count++;
            }
            if (S.at(k-W+1) == '#') {
              count++;
            }
            if (S.at(k-1) == '#') {
              count++;
            }
            if (S.at(k+1) == '#') {
              count++;
            }
            if (S.at(k+W-1) == '#') {
              count++;
            }
            if (S.at(k+W) == '#') {
              count++;
            }
            if (S.at(k+W+1) == '#') {
              count++;
            }
          }
          cout << count;
          if (k%W == W-1) {
            cout << endl; 
          }
      
      }
    }
  
}


Measured memory_bytes: 256