#include <bits/stdc++.h> using namespace std; using lint = long long; int main() { int h, w; cin >> h >> w; int n = h+w-2; vector<string> vec(h); for (int i = 0; i < h; i++) cin >> vec[i]; int ans = 0; for (int i = 0; i < (1<<n); i++) { int now = 1; bool flag = true; int x = 0, y = 0; for (int j = 0; j < n; j++) { int a = (i&(1<<j)); if (a != 0) x++; else y++; if (x >= h || y >= w) { flag = false; break; } if (vec[x][y] == 'o') now++; else if (vec[x][y] == 'x') { now--; if (now == -1) { flag = false; break; } } else if (vec[x][y] == '#') { flag = false; break; } } if (flag) ans++; } cout << ans << endl; }