#include <iostream>

using namespace std;

int brojMesta;

char lav[10][10];
int N,M;

int izbrojStevu() {
    int brojsteva=0;
    for(int i=0;i<N;i++) {
        for(int j=0;j<M;j++) {
            if (lav[i][j] == 'S') brojsteva++;
        }
    }
    return brojsteva;
}

void ispisi() {
    cout<<endl<<endl;
    for(int i=0;i<N;i++) {
        for(int j=0;j<M;j++) {
            cout << lav[i][j];
        }
        cout<<endl;
    }
}

void popravi() {
    for(int i=0;i<N;i++) {
        for(int j=0;j<M;j++) {
            if (lav[i][j] == 'x') lav[i][j] = 'X';
            if (lav[i][j] == 's') lav[i][j] = 'S';
        }
    }
}

void pomeriVatru() {
    for(int i=0;i<N;i++) {
        for(int j=0;j<M;j++) {
            // Vatra
            if (lav[i][j] == 'X') {
                //gore
                if (i>0 && lav[i-1][j] == '.') {
                    lav[i-1][j] = 'x';
                }
                //dole
                if (i<N-1 && lav[i+1][j] == '.') {
                    lav[i+1][j] = 'x';
                }
                //levo
                if (j>0 && lav[i][j-1] == '.') {
                    lav[i][j-1] = 'x';
                }
                //desno
                if (j<M-1 && lav[i][j+1] == '.') {
                    lav[i][j+1] = 'x';
                }
            }
            if(lav[i][j] == '.') brojMesta++;
        }
    }
    popravi();
}



void pomeriStevu() {
    for(int i=0;i<N;i++) {
        for(int j=0;j<M;j++) {
            // Steva
            if (lav[i][j] == 'S') {
                //gore
                if (i>0 && lav[i-1][j] == '.') {
                    lav[i-1][j] = 's';
                }
                //dole
                if (i<N-1 && lav[i+1][j] == '.') {
                    lav[i+1][j] = 's';
                }
                //levo
                if (j>0 && lav[i][j-1] == '.') {
                    lav[i][j-1] = 's';
                }
                //desno
                if (j<M-1 && lav[i][j+1] == '.') {
                    lav[i][j+1] = 's';
                }
            }
            if(lav[i][j] == '.') brojMesta++;
        }
    }
    popravi();
}

int main() {

    cin >> N >> M;

    for(int i=0;i<N;i++) {
        for(int j=0;j<M;j++) {
            cin >> lav[i][j];
        }
    }

    while(true) {
        brojMesta=0;
        pomeriVatru();
        //ispisi();
        pomeriStevu();
        //ispisi();
        if(brojMesta==0) break;
    }

    cout << izbrojStevu();
    return 0;
}