#include <bits/stdc++.h>
using namespace std;



int main(){
    int m,n;
    cin>>m>>n;
    int xsteva;
    int ysteva;
    vector<string>lavirint(m);
    vector<string>kopija(m);
    for(int i=0;i<m;i++){
        cin>>lavirint[i];
        kopija[i]=lavirint[i];
    }
    
    int pzo=1;
    while(pzo>0){
        for(int i =0;i<m;i++){
            for(int j =0;j<n;j++)kopija[i][j]='.';
        }
        // for(int i=0;i<m;i++){
        //     cout<<kopija[i]<<endl;
        // }   
        pzo=0;
        for(int i =0;i<m;i++){
            for(int j =0;j<n;j++){
                if(lavirint[i][j]=='.'){
                    if(i-1>=0){
                        if(lavirint[i-1][j]=='X'){
                            kopija[i][j]='X';
                            pzo++;
                        }
                    }
                    if(i+1<m){
                        if(lavirint[i+1][j]=='X'){
                            kopija[i][j]='X';
                            pzo++;
                        }
                    }
                    if(j-1>=0){
                        if(lavirint[i][j-1]=='X'){
                            kopija[i][j]='X';
                            pzo++;
                        }
                    }
                    if(j+1<n){
                        if(lavirint[i][j+1]=='X'){
                            kopija[i][j]='X';
                            pzo++;
                        }
                    }

                }
            }
        }
        for(int i =0;i<m;i++){
            for(int j =0;j<n;j++){
                if(kopija[i][j]=='X')lavirint[i][j]='X';
            }
        }
        for(int i =0;i<m;i++){
            for(int j =0;j<n;j++){
                if(lavirint[i][j]=='.'){
                    if(i-1>=0){
                        if(lavirint[i-1][j]=='S'){
                            kopija[i][j]='S';
                            pzo++;
                        }
                    }
                    if(i+1<m){
                        if(lavirint[i+1][j]=='S'){
                            kopija[i][j]='S';
                            pzo++;
                        }
                    }
                    if(j-1>=0){
                        if(lavirint[i][j-1]=='S'){
                            kopija[i][j]='S';
                            pzo++;
                        }
                    }
                    if(j+1<n){
                        if(lavirint[i][j+1]=='S'){
                            kopija[i][j]='S';
                            pzo++;
                        }
                    }
                }
            }
        }
        for(int i =0;i<m;i++){
            for(int j =0;j<n;j++){
                if(kopija[i][j]=='S')lavirint[i][j]='S';
            }
        }



    }
    int br=0;
    for(int i=0;i<m;i++){
        for(int j = 0;j<n;j++){
            if(lavirint[i][j]=='S'){
                br++;
            }
        }
    }
    cout<<br;
}