//#include <bits/stdc++.h>
//#define INT long long int
//using namespace std;
//INT n, m;
//string t = "SJOI";
//int main()
//{
//    srand(time(NULL));
//    for(int i = 1 ; i <= 40 ; i++ )
//    {
//        cin>>n>>m;
//        char in[100];
//        sprintf(in, ".%d.in", i);
//        freopen(in, "w", stdout);
//        cout<<n<<" "<<m<<endl;
//        for(int i = 0 ; i < n ; i++ )
//        {
//            for(int j = 0 ; j < m ; j++ )
//                cout<<t[rand()%4];
//            cout<<endl;
//        }
//    }
//}

#include <bits/stdc++.h>
#define INT long long int
using namespace std;
INT n, m, dx[4] = {1,0,-1,0}, dy[4] = {0, 1, 0, -1}, ans;
string s[50], t = "SJOI";
INT dp(int x, int y, int z, int w)
{
    if( w > 1 ) return 0;
    if( z == 3 ) return 1;
    INT ret = 0;
    for(int i = 0 ; i < 4 ; i++ )
    {
        int p = x+dx[i], q = y+dy[i];
        if( 0 <= p&&p < n and 0 <= q&&q < m )
            if( s[p][q] == t[z+1] )
                ret += dp(p, q, z+1, w);
            else
                ret += dp(p, q, z, w+1);
    }
    return ret;
}
//INT dp(int x, int y, int z)
//{
//    if( z == 3 ) return 1;
//    INT ret = 0;
//    for(int i = 0 ; i < 4 ; i++ )
//    {
//        int p = x+dx[i], q = y+dy[i];
//        if( 0 <= p&&p < n and 0 <= q&&q < m )
//            if( s[p][q] == t[z+1] )
//                ret += dp(p, q, z+1);
//    }
//    return ret;
//}
int main()
{
    char in[100];
    ios::sync_with_stdio(false);
    for(int xx = 1 ; xx <= 1 ; xx++ )
    {
        ans = 0;
      //  sprintf(in, ".%d.in", xx);
      //  freopen(in, "r", stdin);
        cin>>n>>m;
        for(int i = 0 ; i < n ; i++ )
            cin>>s[i];
        for(int i = 0 ; i < n; i ++ )
            for(int j = 0 ; j < m ; j++ )
                if( s[i][j] == 'S' )
                {
                    ans += dp(i, j, 0, 0);
                    cout<<ans<<" ("<<i<<", "<<j<<")"<<endl;
                }
     //   sprintf(in, ".%d.out", xx);
     //   freopen(in, "w", stdout);
        cout<<ans<<endl;
    }

}
