#include<iostream>//cout cin endl
#include<cmath>//sqrt fabs
#include<iomanip>//fix setprecision
#include<algorithm>//max sort
#include<cstdlib>//abs

using namespace std;

char a[1001][1001];

int main() 
{
    int n,m;
    cin>>n>>m;

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cin>>a[i][j];
            if(a[i][j]=='.') a[i][j]=48;//初始化
        }
    }

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(a[i][j]=='0')
            {
                if(i==0&&j==0)//左上角
                {
                    if(a[i][j+1]=='*') a[i][j]++;
                    if(a[i+1][j]=='*') a[i][j]++;
                    if(a[i+1][j+1]=='*') a[i][j]++;
                    continue;
                }
                
                if(i==0&&j==m-1)//右上角
                {
                    if(a[i][j-1]=='*') a[i][j]++;
                    if(a[i+1][j]=='*') a[i][j]++;
                    if(a[i+1][j-1]=='*') a[i][j]++;
                    continue;
                }

                if(i==n-1&&j==0)//左下角
                {
                    if(a[i][j+1]=='*') a[i][j]++;
                    if(a[i-1][j]=='*') a[i][j]++;
                    if(a[i-1][j+1]=='*') a[i][j]++;
                    continue;
                }

                if(i==n-1&&j==m-1)//右下角
                {
                    if(a[i][j-1]=='*') a[i][j]++;
                    if(a[i-1][j]=='*') a[i][j]++;
                    if(a[i-1][j-1]=='*') a[i][j]++;
                    continue;
                }

                if(i==0)//上
                {
                    if(a[i][j-1]=='*') a[i][j]++;
                    if(a[i][j+1]=='*') a[i][j]++;
                    if(a[i+1][j-1]=='*') a[i][j]++;
                    if(a[i+1][j]=='*') a[i][j]++;
                    if(a[i+1][j+1]=='*') a[i][j]++;
                    continue;
                }

                if(i==n-1)//下
                {
                    if(a[i][j-1]=='*') a[i][j]++;
                    if(a[i][j+1]=='*') a[i][j]++;
                    if(a[i-1][j-1]=='*') a[i][j]++;
                    if(a[i-1][j]=='*') a[i][j]++;
                    if(a[i-1][j+1]=='*') a[i][j]++;
                    continue;
                }

                if(j==0)//左
                {
                    if(a[i][j+1]=='*') a[i][j]++;
                    if(a[i+1][j]=='*') a[i][j]++;
                    if(a[i+1][j+1]=='*') a[i][j]++;
                    if(a[i-1][j]=='*') a[i][j]++;
                    if(a[i-1][j+1]=='*') a[i][j]++;
                    continue;
                }

                if(j==m-1)//右
                {
                    if(a[i][j-1]=='*') a[i][j]++;
                    if(a[i+1][j]=='*') a[i][j]++;
                    if(a[i+1][j-1]=='*') a[i][j]++;
                    if(a[i-1][j]=='*') a[i][j]++;
                    if(a[i-1][j-1]=='*') a[i][j]++;
                    continue;
                }

                //其他
                if(a[i][j-1]=='*') a[i][j]++;
                if(a[i+1][j]=='*') a[i][j]++;
                if(a[i+1][j-1]=='*') a[i][j]++;
                if(a[i-1][j]=='*') a[i][j]++;
                if(a[i-1][j-1]=='*') a[i][j]++;
                if(a[i][j+1]=='*') a[i][j]++;
                if(a[i-1][j+1]=='*') a[i][j]++;
                if(a[i+1][j+1]=='*') a[i][j]++;
            }
        }
    }
    
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<a[i][j];
        }
        cout<<endl;
    }
    return 0;
}