using System;

namespace ConsoleApp6
{
    internal class Program
    {

        static void KorakVatre(char[,] L)
        {
            int N = L.GetLength(0);
            int M = L.GetLength(1);
            char[,] L1 = (char[,])L.Clone();
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    if (L1[i, j] == 'X')
                    {
                        if (i - 1 >= 0)
                        {
                            if (L[i - 1, j] == '.')
                            {
                                L[i - 1, j] = 'X';
                            }
                        }
                        if (i + 1 < N)
                        {
                            if (L[i + 1, j] == '.')
                            {
                                L[i + 1, j] = 'X';
                            }
                        }
                        if (j - 1 >= 0)
                        {
                            if (L[i, j - 1] == '.')
                            {
                                L[i, j - 1] = 'X';
                            }
                        }
                        if (j + 1 < M)
                        {
                            if (L[i, j + 1] == '.')
                            {
                                L[i, j + 1] = 'X';
                            }
                        }
                    }
                }
            }
        }
        static bool Steva(char[,] L)
        {
            bool StevaSePomerio = false;
            int N = L.GetLength(0);
            int M = L.GetLength(1);
            char[,] L1 = (char[,])L.Clone();
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    if (L1[i, j] == 'S')
                    {
                        if (i - 1 >= 0)
                        {
                            if (L[i - 1, j] == '.')
                            {
                                L[i - 1, j] = 'S';
                                StevaSePomerio = true;
                            }
                        }
                        if (i + 1 < N)
                        {
                            if (L[i + 1, j] == '.')
                            {
                                L[i + 1, j] = 'S';
                                StevaSePomerio = true;
                            }
                        }
                        if (j - 1 >= 0)
                        {
                            if (L[i, j - 1] == '.')
                            {
                                L[i, j - 1] = 'S';
                                StevaSePomerio = true;
                            }
                        }
                        if (j + 1 < M)
                        {
                            if (L[i, j + 1] == '.')
                            {
                                L[i, j + 1] = 'S';
                                StevaSePomerio = true;
                            }
                        }
                    }
                }
            }
            return StevaSePomerio;
        }
        static void Main(string[] args)
        {
            string unos = Console.ReadLine();
            string[] niz = unos.Split(' ');
            int N = int.Parse(niz[0]);
            int M = int.Parse(niz[1]);
            char[,] L = new char[N, M];
            int i, j;
            for (i = 0; i < N; i++)
            {
                unos = Console.ReadLine();
                for (j = 0; j < M; j++)
                {
                    L[i, j] = unos[j];
                }
            }
            bool kraj = false;
            while (!kraj)
            {
                KorakVatre(L);
                if (!Steva(L))
                {
                    kraj = true;
                }
            }
            int b = 0;
            for (i = 0; i < N; i++)
            {
                for (j = 0; j < M; j++)
                {
                    if (L[i,j] == 'S')
                    {
                        b++;
                    }
                }
            }
            Console.WriteLine(b);
        }
    }
}