#include <iostream>

using namespace std;

int main()
{
    int n,m;
    cin>>n>>m;
    char matrix[n+2][m+2];
    int s=0,pont=0;
    for(int i=0; i<n+2; i++)
    {
        for(int j=0; j<m+2; j++)
        {
            matrix[i][j]='*';
        }
    }


    char random;
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            cin>>matrix[i][j];
            if(matrix[i][j]=='.')
            {
                pont++;
            }

        }
    }

    cout<<endl;

    for(int i=0; i<n+2; i++)
    {
        for(int j=0; j<m+2; j++)
        {
            cout<<matrix[i][j];
        }
        cout<<endl;
    }

    cout<<endl;

    while(pont!=0)
    {
        for(int i=1; i<=n; i++)
        {
            for(int j=1; j<=m; j++)
            {
                if(matrix[i][j]=='S')
                {
                    if(matrix[i+1][j]=='.')
                    {
                        matrix[i+1][j]='S';
                        pont--;
                    }
                    if(matrix[i-1][j]=='.')
                    {
                        matrix[i-1][j]='S';
                        pont--;
                    }
                    if(matrix[i][j+1]=='.')
                    {
                        matrix[i][j+1]='S';
                        pont--;
                    }
                    if(matrix[i][j-1]=='.')
                    {
                        matrix[i][j-1]='S';
                        pont--;
                    }
                }
                if(matrix[i][j]=='X')
                {
                    if(matrix[i+1][j]=='.')
                    {
                        matrix[i+1][j]='X';
                        pont--;
                    }
                    if(matrix[i-1][j]=='.')
                    {
                        matrix[i-1][j]='X';
                        pont--;
                    }
                    if(matrix[i][j+1]=='.')
                    {
                        matrix[i][j+1]='X';
                        pont--;
                    }
                    if(matrix[i][j-1]=='.')
                    {
                        matrix[i][j-1]='X';
                        pont--;
                    }
                }

            }
        }
    }

    cout<<endl;
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            cout<<matrix[i][j];
        }
        cout<<endl;
    }

    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            if(matrix[i][j]=='S')
            {
               s++;
            }
        }

    }
    cout<<endl<<endl<<s<<endl;



    return 0;
}