#include <bits/stdc++.h>
using namespace std;
char a[150][150], s[150];
int dir[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}, k[10];
int main() {
  int m, n, ans = 0, sx, sy, es, ey;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) {
    scanf("%s", a[i]);
  }
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) {
      if (a[i][j] == 'S') sx = i, sy = j;
      if (a[i][j] == 'E') es = i, ey = j;
    }
  scanf("%s", s);
  int l = strlen(s);
  for (k[0] = 0; k[0] < 4; k[0]++)
    for (k[1] = 0; k[1] < 4; k[1]++)
      if (k[0] != k[1])
        for (k[2] = 0; k[2] < 4; k[2]++)
          if (k[2] != k[1] && k[2] != k[0])
            for (k[3] = 0; k[3] < 4; k[3]++)
              if (k[3] != k[2] && k[3] != k[1] && k[3] != k[0]) {
                int flag = 1;
                int si = sx, sj = sy;
                for (int t = 0; t < l; t++) {
                  si += dir[k[s[t] - '0']][0];
                  sj += dir[k[s[t] - '0']][1];
                  if (si < 0 || si >= n || sj < 0 || sj >= m ||
                      a[si][sj] == '#') {
                    flag = 0;
                    break;
                  } else if (si == es && sj == ey) {
                    ans++;
                    break;
                  }
                }
              }
  printf("%d\n", ans);
  return 0;
}
