using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var s = ReadLine(); var mod = 998_244_353; var dp = new long[3]; if (s[0] == 'L') dp[0] = 1; else if (s[0] == 'R') dp[1] = 1; else if (s[0] == 'U') dp[2] = 1; else { dp[0] = 1; dp[1] = 1; dp[2] = 1; } for (var i = 1; i < n; ++i) { var ndp = new long[3]; if (s[i] == 'L') { ndp[0] = (dp[0] + dp[2]) % mod; } else if (s[i] == 'R') { ndp[1] = (dp[0] + dp[1] + dp[2]) % mod; } else if (s[i] == 'U') { ndp[2] = (dp[0] + dp[1] + dp[2]) % mod; } else { ndp[0] = (dp[0] + dp[2]) % mod; ndp[1] = (dp[0] + dp[1] + dp[2]) % mod; ndp[2] = (dp[0] + dp[1] + dp[2]) % mod; } dp = ndp; } WriteLine((dp[0] + dp[1] + dp[2]) % mod); } }