import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random #sys.setrecursionlimit(10**9) #sys.set_int_max_str_digits(0) #input = sys.stdin.readline n = int(input()) s = input().rstrip() dp = [[0,0,0] for i in range(n)] mod = 998244353 if s[0] == 'L': dp[0][0] = 1 elif s[0] == 'R': dp[0][1]= 1 elif s[0] == 'U': dp[0][2] = 1 else: dp[0][0] = 1 dp[0][1] = 1 dp[0][2] = 1 for i in range(1,n): for j in range(3): if j == 0: if s[i] == 'R'or s[i] == 'U': continue if j == 1: if s[i] == 'L'or s[i] == 'U': continue if j == 2: if s[i] == 'R'or s[i] == 'L': continue for k in range(3): if j == 0 and k == 1: continue dp[i][j] += dp[i-1][k] dp[i][j] %= mod print(sum(dp[-1])%mod)