//#include #include using namespace std; #include using namespace atcoder; using mint = modint998244353; typedef long long ll; #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() const int MAX = 1e9; const int MIN = -1*1e9; const ll MAXLL = 1e18; const ll MINLL = -1*1e18; int main() { int N; cin >> N; string S; cin >> S; vector> DP(N+1,vector(4)); DP[0][0] = 1; for(int i = 0; i < N; i++) { if(S[i] == 'L' || S[i] == '.') DP[i+1][1] = DP[i][0]+DP[i][1]+DP[i][3]; if(S[i] == 'R' || S[i] == '.') DP[i+1][2] = DP[i][0]+DP[i][1]+DP[i][2]+DP[i][3]; if(S[i] == 'U' || S[i] == '.') DP[i+1][3] = DP[i][0]+DP[i][1]+DP[i][2]+DP[i][3]; } cout << (DP[N][1]+DP[N][2]+DP[N][3]).val() << endl; return 0; }