#include <bits/stdc++.h>
#include <iostream>
using namespace std;
bool fun(int N,int M,char a [1000][1000])
{
    for(int i=0;i<N;i++)
        for(int j=0;j<M;j++)
        if(a[i][j]=='.')
            return true;
    return false;
}
void funk(int N,int M,char a [1000][1000])
{
    for(int i=0;i<N;i++)
        for(int j=0;j<M;j++)
            if(a[i][j]=='.')
            {
            if(a[i-1][j]=='X' || a[i][j-1]=='X' || a[i][j+1]=='X' || a[i+1][j]=='X')
                a[i][j]='x';
            else
            if(a[i-1][j]=='S' || a[i][j-1]=='S' || a[i][j+1]=='S' || a[i+1][j]=='S')
                a[i][j]='s';
                }
}
void f(int N,int M,char a [1000][1000])
{
    for(int i=0;i<N;i++)
        for(int j=0;j<M;j++)
        {
        if(a[i][j]=='x')
                a[i][j]='X';
        if(a[i][j]=='s')
                a[i][j]='S';
        }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int N,M;
    cin>>N>>M;
    char a [1000][1000];
    for(int i=0;i<N;i++)
        for(int j=0;j<M;j++)
            cin>>a[i][j];
    int br=0;
    while(fun( N, M, a ))
    {
        funk(N,M,a);
        f(N,M,a);
    }
     for(int i=0;i<N;i++)
        for(int j=0;j<M;j++)
        {
        if(a[i][j]=='S')
                br++;
        }
        cout<<br;
    return 0;
}