#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, m, slip=0, vrt=0, x=0, y=0;
    cin>>n>>m;
    char Z[n][m];
    bool dval=false;
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            cin>>Z[i][j];
            if (Z[i][j]=='S')
            {
                x=i; y=j;
            }
            else if (Z[i][j]=='.') slip++;
            else if (Z[i][j]=='X') vrt++;
            else if (Z[i][j]=='*' && dval==false) dval=true;
        }
    }
    if (slip==0)
    {
        cout<<"1";
        return 0;
    }
    if (vrt==false && dval==false)
    {
        cout<<slip;
        return 0;
    }
    if (dval==false && vrt==1)
    {
        for (int i=0; i<n; i++)
        {
            if (Z[i][y]=='X')
            {
                int pqrst;
                if (i<x)
                    pqrst=(x-i-1)/2+n-x;
                else if (x<i)
                    pqrst=(i-x-1)/2+x;
                cout<<pqrst;
            }
        }
        for (int i=0; i<m; i++)
        {
            if (Z[x][i]=='X')
            {
                int lmnop;
                if (i<y)
                    lmnop=(y-i+1)/2+m-y;
                else if (y<i)
                    lmnop=(i-y+1)/2+y;
                cout<<lmnop;
            }
        }
    }
    return 0;
}