#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;

int main()
{
    int h,w;
    cin >> h >> w;
    vector<string> s(h);
    int i,j;
    for(i = 0;i < h;++i){
        cin >> s.at(i);
    }
    if(h == 1){
        if(w == 1){
            if(s.at(0).at(0) == '#'){
                cout << '#' << endl; return 0;
            }else{
                cout << 0 << endl; return 0;
            }
        }else{
            for(j = 0;j < w;++j){
                int temp = 0;
                if(s.at(0).at(j) == '#'){
                    cout << '#';
                }else if(j == 0){
                    if(s.at(0).at(j+1) == '#'){++temp;}
                    cout << temp;
                }else if(j != w-1){
                    if(s.at(0).at(j-1) == '#'){++temp;}
                    if(s.at(0).at(j+1) == '#'){++temp;}
                    cout << temp;
                }else{
                   if(s.at(0).at(j-1) == '#'){++temp;}
                    cout << temp; 
                }
            }
            cout << endl;
            return 0;
        }
    }else if(w == 1){
        for(j = 0;j < h;++j){
            int temp = 0;
            if(s.at(j).at(0) == '#'){
                cout << '#' << endl;
            }else if(j == 0){
                if(s.at(j+1).at(0) == '#'){++temp;}
                cout << temp << endl;
            }else if(j != h-1){
                if(s.at(j-1).at(0) == '#'){++temp;}
                if(s.at(j+1).at(0) == '#'){++temp;}
                cout << temp << endl;
            }else{
                if(s.at(j-1).at(0) == '#'){++temp;}
                cout << temp << endl; 
            }
        }
        return 0;
    }
    for(i = 0;i < h;++i){
        for(j = 0;j < w;++j){
            int temp = 0;
            if(s.at(i).at(j) == '#'){
                cout << '#';
            }else if(i == 0){
                if(j == 0){
                    if(s.at(i).at(j+1) == '#'){++temp;}
                    if(s.at(i+1).at(j) == '#'){++temp;}
                    if(s.at(i+1).at(j+1) == '#'){++temp;}
                    cout << temp;
                }else if(j != w-1){
                    if(s.at(i).at(j-1) == '#'){++temp;}
                    if(s.at(i).at(j+1) == '#'){++temp;}
                    if(s.at(i+1).at(j-1) == '#'){++temp;}
                    if(s.at(i+1).at(j) == '#'){++temp;}
                    if(s.at(i+1).at(j+1) == '#'){++temp;}
                    cout << temp;
                }else{
                    if(s.at(i).at(j-1) == '#'){++temp;}
                    if(s.at(i+1).at(j-1) == '#'){++temp;}
                    if(s.at(i+1).at(j) == '#'){++temp;}
                    cout << temp;
                }
            }else if(i != h-1){
                if(j == 0){
                    if(s.at(i-1).at(j) == '#'){++temp;}
                    if(s.at(i-1).at(j+1) == '#'){++temp;}
                    if(s.at(i).at(j+1) == '#'){++temp;}
                    if(s.at(i+1).at(j) == '#'){++temp;}
                    if(s.at(i+1).at(j+1) == '#'){++temp;}
                    cout << temp;
                    continue;
                }else if(j != w-1){
                    if(s.at(i-1).at(j-1) == '#'){++temp;}
                    if(s.at(i-1).at(j) == '#'){++temp;}
                    if(s.at(i-1).at(j+1) == '#'){++temp;}
                    if(s.at(i).at(j-1) == '#'){++temp;}
                    if(s.at(i).at(j+1) == '#'){++temp;}
                    if(s.at(i+1).at(j-1) == '#'){++temp;}
                    if(s.at(i+1).at(j) == '#'){++temp;}
                    if(s.at(i+1).at(j+1) == '#'){++temp;}
                    cout << temp;
                    continue;
                }else{
                    if(s.at(i-1).at(j-1) == '#'){++temp;}
                    if(s.at(i-1).at(j) == '#'){++temp;}
                    if(s.at(i).at(j-1) == '#'){++temp;}
                    if(s.at(i+1).at(j-1) == '#'){++temp;}
                    if(s.at(i+1).at(j) == '#'){++temp;}
                    cout << temp;
                    continue;
                }
            }else{
                if(j == 0){
                    if(s.at(i-1).at(j) == '#'){++temp;}
                    if(s.at(i-1).at(j+1) == '#'){++temp;}
                    if(s.at(i).at(j+1) == '#'){++temp;}
                    cout << temp;
                }else if(j != w-1){
                    if(s.at(i).at(j-1) == '#'){++temp;}
                    if(s.at(i).at(j+1) == '#'){++temp;}
                    if(s.at(i-1).at(j-1) == '#'){++temp;}
                    if(s.at(i-1).at(j) == '#'){++temp;}
                    if(s.at(i-1).at(j+1) == '#'){++temp;}
                    cout << temp;
                }else{
                    if(s.at(i).at(j-1) == '#'){++temp;}
                    if(s.at(i-1).at(j-1) == '#'){++temp;}
                    if(s.at(i-1).at(j) == '#'){++temp;}
                    cout << temp;
                }
            }
        }
        cout << endl;
    }
    return 0;
}

Measured memory_bytes: 256