H, W = map(int, input().split()) S = [input() for i in range(H)] dp = [[0 for i in range(H)] for j in range(H)] dp[0][0] = 1 di, dj = [1, 0], [0, 1] MOD = 998244353 for k in range(0, H+W-2): ndp = [[0 for i in range(H)] for j in range(H)] for ai in range(H): for bi in range(H): aj = k - ai bj = k - bi #Alice : (ai, aj), Bob : (bi, bj) for x in range(2): for y in range(2): #被る移動は行えない nai, naj = ai + di[x], aj + dj[x] nbi, nbj = bi + di[y], bj + dj[y] if 0 <= nai < H and 0 <= naj < W and 0 <= nbi < H and 0 <= nbj < W and S[nai][naj] == '.' and S[nbi][nbj] == '.' and (k == H+W-3 or nai != nbi or naj != nbj): ndp[nai][nbi] += dp[ai][bi] ndp[nai][nbi] %= MOD dp, ndp = ndp, dp # print(dp) print(dp[-1][-1]*pow(2, -1, MOD)%MOD)