#include <iostream>
#include <string>
#include <vector>

using namespace std;

int sirenjeVatre(vector<string> &matrica, int x, int y, int n, int m)
{
    int out = 0;
    if (x == 0)
    {
        if (y == 0)
        {
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X')
            {
                matrica[x][y + 1] = 'X';
                out ++;
            }
            if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X')
            {
                matrica[x + 1][y] = 'X';
                out ++;
            }
            
        }
        else if (y == m - 1)
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y-1] != 'X')
            {
                matrica[x][y - 1] = 'X';
                out ++;
            }
            if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X')
            {
                matrica[x + 1][y] = 'X';
                out ++;
            }
        }
        else
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X')
            {
                matrica[x][y - 1] = 'X';
                out ++;
            }
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X')
            {
                matrica[x][y + 1] = 'X';
                out ++;
            }

            if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X')
            {
                matrica[x + 1][y] = 'X';
                out ++;
            }
        }
    }
    else if (x == n - 1)
    {
        if (y == 0)
        {
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X')
            {
                matrica[x][y + 1] = 'X';
                out ++;
            }
            if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X')
            {
                matrica[x - 1][y] = 'X';
                out ++;
            }
        }
        else if (y == m - 1)
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X')
            {
                matrica[x][y - 1] = 'X';
                out ++;
            }
            if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X')
            {
                matrica[x - 1][y] = 'X';
                out ++;
            }
        }
        else
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X')
            {
                matrica[x][y - 1] = 'X';
                out ++;
            }
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X')
            {
                matrica[x][y + 1] = 'X';
                out ++;
            }
            if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X')
            {
                matrica[x - 1][y] = 'X';
                out ++;
            }
        }
    }
    else
    {
        if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X')
        {
            matrica[x][y - 1] = 'X';
            out ++;
        }
        if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X')
        {
            matrica[x][y + 1] = 'X';
            out ++;
        }
        if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X')
        {
            matrica[x - 1][y] = 'X';
            out ++;
        }
        if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X')
        {
            matrica[x + 1][y] = 'X';
            out ++;
        }
    }
    return out;
}
int sirenjeSteve(vector<string> &matrica, int x, int y, int n, int m)
{
    int out = 0;
    if (x == 0)
    {
        if (y == 0)
        {
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X' && matrica[x][y + 1] != 'S')
            {
                matrica[x][y + 1] = 'S';
                out ++;
            }
            if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X' && matrica[x + 1][y] != 'S')
            {
                matrica[x + 1][y] = 'S';
                out ++;
            }
        }
        else if (y == m - 1)
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X' && matrica[x][y - 1] != 'S')
            {
                matrica[x][y - 1] = 'S';
                out ++;
            }
            if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X' && matrica[x + 1][y] != 'S')
            {
                matrica[x + 1][y] = 'S';
                out ++;
            }
        }
        else
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X' && matrica[x][y - 1] != 'S')
            {
                matrica[x][y - 1] = 'S';
                out ++;
            }
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X' && matrica[x][y + 1] != 'S')
            {
                matrica[x][y + 1] = 'S';
                out ++;
            }
            if (matrica[x + 1][y] != '*' && matrica[x + 1][y] != 'X' && matrica[x + 1][y] != 'S')
            {
                matrica[x + 1][y] = 'S';
                out ++;
            }
        }
    }
    else if (x == n - 1)
    {
        if (y == 0)
        {
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X' && matrica[x][y + 1] != 'S')
            {
                matrica[x][y + 1] = 'S';
                out ++;
            }
            if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X' && matrica[x - 1][y] != 'S')
            {
                matrica[x - 1][y] = 'S';
                out ++;
            }
        }
        else if (y == m - 1)
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X' && matrica[x][y - 1] != 'S')
            {
                matrica[x][y - 1] = 'S';
                out ++;
            }
            if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X' && matrica[x - 1][y] != 'S')
            {
                matrica[x - 1][y] = 'S';
                out ++;
            }
        }
        else
        {
            if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X' && matrica[x][y - 1] != 'S')
            {
                matrica[x][y - 1] = 'S';
                out ++;
            }
            if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X' && matrica[x][y + 1] != 'S')
            {
                matrica[x][y + 1] = 'S';
                out ++;
            }
            if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X' && matrica[x - 1][y] != 'S')
            {
                matrica[x - 1][y] = 'S';
                out ++;
            }
        }
    }
    else
    {
        if (matrica[x][y - 1] != '*' && matrica[x][y - 1] != 'X' && matrica[x][y - 1] != 'S')
        {
            matrica[x][y - 1] = 'S';
            out ++;
        }
        if (matrica[x][y + 1] != '*' && matrica[x][y + 1] != 'X' && matrica[x][y + 1] != 'S')
        {
            matrica[x][y + 1] = 'S';
            out ++;
        }
        if (matrica[x - 1][y] != '*' && matrica[x - 1][y] != 'X' && matrica[x - 1][y] != 'S')
        {
            matrica[x - 1][y] = 'S';
            out ++;
        }
        if (matrica[x + 1][y] !='*'!= '*' && matrica[x + 1][y] != 'X' && matrica[x + 1][y] != 'S')
        {
            matrica[x + 1][y] = 'S';
            out ++;
        }
    }
    return out;
}

int main()
{
    vector<string> matrica;
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
        string linija;
        cin >> linija;
        matrica.push_back(linija);
    }
    int steve=1;
    int stevaProsiren = 1;
    int vatraProsirena = 1;
    vector<string> kmatrica;
    while (true)
    {
        if (stevaProsiren==0)
        {
            break;
        }
        stevaProsiren = 0;
        vatraProsirena = 0;
        copy(matrica.begin(), matrica.end(), back_inserter(kmatrica));
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                if (kmatrica[i][j] == 'X')
                {
                    int temp = sirenjeVatre(matrica, i, j, n, m);
                    vatraProsirena+=temp;
                    
                }
            }
        }
        copy(matrica.begin(), matrica.end(), back_inserter(kmatrica));
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                if (kmatrica[i][j] == 'S')
                {
                    int temp = sirenjeSteve(matrica, i, j, n, m);
                    stevaProsiren+=temp;
                }
            }
        }

        steve+=stevaProsiren;
    }

    cout << steve;
}