#include using namespace std; int main() { int h, w; cin >> h >> w; vector> a(h, vector(w)); for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { cin >> a[i][j]; } } vector v; for (int i = 0; i < h - 1; i++) { v.push_back('D'); } for (int i = 0; i < w - 1; i++) { v.push_back('R'); } int ans = 0; do { int i = 0, j = 0, now = 1; bool ok = true; for (char c : v) { if (c == 'D') { i++; if (a[i][j] == 'o') { now++; } else if (a[i][j] == 'x') { if (now == 0) { ok = false; } now--; } else { ok = false; } } else { j++; if (a[i][j] == 'o') { now++; } else if (a[i][j] == 'x') { if (now == 0) { ok = false; } now--; } else { ok = false; } } } if (ok) { ans++; } } while (next_permutation(v.begin(), v.end())); cout << ans << endl; }