MOD = 998244353 N = int(input()) S = list(input()) assert 1 <= N <= 2 * 10**5 assert all(s in (".", "U", "L", "R") for s in S) assert len(S) == N # dp[i][j] := i 本目の棒まで見て、最右の棒が方向 j に倒れている場合の数 # (j = 0: U,j = 1: L, j = 2: R) dp = [[0] * 3 for _ in range(N + 1)] dp[0][0] = 1 for i in range(N): if S[i] == ".": dp[i + 1][0] = (dp[i][0] + dp[i][1] + dp[i][2]) % MOD dp[i + 1][1] = (dp[i][0] + dp[i][1]) % MOD dp[i + 1][2] = (dp[i][0] + dp[i][1] + dp[i][2]) % MOD elif S[i] == "U": dp[i + 1][0] = (dp[i][0] + dp[i][1] + dp[i][2]) % MOD elif S[i] == "L": dp[i + 1][1] = (dp[i][0] + dp[i][1]) % MOD elif S[i] == "R": dp[i + 1][2] = (dp[i][0] + dp[i][1] + dp[i][2]) % MOD print((dp[N][0] + dp[N][1] + dp[N][2]) % MOD)