N, M = map(int, input().split()) S = [input() for _ in range(N)] a = [[0, 0] for _ in range(3)] for i in range(N): for j in range(M): if S[i][j] == "B": a[(i+j)%3][0] += 1 elif S[i][j] == "?": a[(i+j)%3][1] += 1 ans = [[0, 0] for _ in range(3)] for i in range(3): if a[i][1] == 0: ans[i][(a[i][0]+1)%2] = -10000000 else: ans[i][0] = a[i][1]-1 ans[i][1] = a[i][1]-1 #print(ans) cnt = max(ans[0][0]+ans[1][0]+ans[2][0], ans[0][1]+ans[1][1]+ans[2][1]) #print(cnt) if cnt < 0: print(0) else: print(pow(2, cnt, 998244353))