#include <bits/stdc++.h>
using namespace std;
int n,m,l,k,xs,ys,fx[1015],fy[1015],br=1,d,res=0;
char a;
int idx[1015][1015];
int idx2[1015][1015];
int dc[4]={1,0,-1,0};
int dr[4]={0,1,0,-1};
void bfs(int x, int y){
    queue <int> qr,qc,qd;
    int r,c;
    qr.push(x);
    qc.push(y);
    qd.push(0);
    while(qr.size()){
    r=qr.front();
    c=qc.front();
    d=qd.front();
    for(int k=0; k<4; k++){
        if(idx[r+dr[k]][c+dc[k]]==9999){
            qr.push(r+dr[k]);
            qc.push(c+dc[k]);
            qd.push(d+1);
            idx[r+dr[k]][c+dc[k]]=d+1;
        }
    }
    qr.pop();
    qc.pop();
    qd.pop();
    }
}
void bfs2(){

    queue <int> qr,qc,qd;
    int r,c;
    for(int i=1; i<=br; i++){
        qr.push(fx[i]);
        qc.push(fy[i]);
        qd.push(0);
    }
    while(qr.size()){
    r=qr.front();
    c=qc.front();
    d=qd.front();
    for(int k=0; k<4; k++){
        if(idx2[r+dr[k]][c+dc[k]]==9999){
            qr.push(r+dr[k]);
            qc.push(c+dc[k]);
            qd.push(d+1);
            idx2[r+dr[k]][c+dc[k]]=d+1;
        }
    }
    qr.pop();
    qc.pop();
    qd.pop();
    }
}

int main(){
    scanf("%d%d",&n,&m);
    memset(idx,-1,sizeof(idx));
    memset(idx2,-1,sizeof(idx2));
    for(int i=1; i<=n; i++){
        for(int j=1; j<=m; j++){
            cin>>a;
            if(a=='.'){
                idx[i][j]=9999;
                idx2[i][j]=9999;
            }
            if(a=='S'){
                xs=i;
                ys=j;
                idx[i][j]=0;
                idx2[i][j]=9999;
            }
            if(a=='X'){
                idx[i][j]=9999;
                idx2[i][j]=0;
                fx[br]=i;
                fy[br]=j;
                br++;
            }
        }
    }
    bfs(xs,ys);
    bfs2();
    idx[xs][ys]=0;
    for(int i=1; i<=br; i++){
        idx2[fx[i]][fy[i]]=0;
    }
    for(int i=1; i<=n; i++){
        for(int j=1; j<=m; j++){
            if(idx[i][j]<idx2[i][j]){
                res++;
            }
        }
    }
    cout << res << endl;
    return 0;
}