#include #include using mint = atcoder::modint998244353; using namespace std; using ll = long long; int main() { int n, m; cin >> n >> m; int b[3] = {}, q[3] = {}; for (int i = 0; i < n; i++) { string s; cin >> s; for (int j = 0; j < m; j++) { int k = (i + j) % 3; b[k] ^= s[j] == 'B'; q[k] += s[j] == '?'; } } mint x = 0; for (int h = 0; h < 2; h++) { mint t = 1; for (int k = 0; k < 3; k++) { t *= q[k] ? mint(2).pow(q[k] - 1) : b[k] == h; } x += t; } cout << x.val() << endl; return 0; }