#P1088. 指令序列

指令序列

题目描述

小 W 有一个长度为 2n2nnn 为偶数)的指令序列 SS,其中包含 L\tt L, R\tt R 两种指令,其中 L\tt L 表示往数轴负方向走 1 个单位,R\tt R 表示往数轴正方向走 1 个单位。

小 W 和小 B 会依据指令序列 SS 在数轴上进行一个有趣的游戏,该游戏的具体流程如下:

  • 初始时,小 W 出现在数轴原点。
  • 接下来 nn 步,小 W 会按照 S1,S2,,SnS_1, S_2, \dots, S_n 的指令内容依次执行。
  • nn 步后,小 B 会出现在原点(注意此时若小 W 也在原点也认为二者在此时相遇),接下来第 n+1n+1 步至 2n2n 步,第 n+kn+k1kn1 \le k \le n)步时小 W 会按照 Sn+kS_{n+k} 的指令内容行动一步,同时小 B 会按照 SkS_k 的指令内容行动一步。若在第 n+kn+kk=0,1,,nk = 0, 1, \dots, n)步行动后,小 B 和小 W 出现在同一位置,则认为二者在此时相遇。
  • 2n2n 步执行完毕后,游戏结束。

若依据该指令序列 SS 执行完整整个游戏后,小 W 和小 B 从未相遇,则称该指令序列 SS 是合法的。

现在,你得到了一个长度为 2n2n 的序列 TT,其除了 L\tt L, R\tt R 两种字符之外,还包含 ?\tt ? 字符。你需要将 TT 中每个 ?\tt ? 字符替换为 L\tt L 或者 R\tt R,由此得到一个指令序列 SS。你需要求出所有能得到的合法指令序列 SS 的数目,由于方案数可能很大,答案请对 998244353998244353 取模。

输入格式

输入第一行包含一个正整数 nn1n501 \le n \le 50nn 为偶数)。

输入第二行包含一个长度为 2n2n 的字符串 TT,包含 L\tt L, R\tt R, ?\tt ? 三种字符,含义如题目所示。

输出格式

输出一行一个整数,表示所有合法的指令序列数目对 998244353998244353 取模的结果。

4
L?L?L??R
3

样例解释 1

对于样例中的情况,能得到的合法指令序列数目包括 LLLLLLLR、LRLLLLLR 和 LLLRLLLR 共 33 种情况,故输出 33

数据范围

  • 对于 10%10\% 的数据,TT 中没有 ?\tt ?
  • 对于另外 10%10\% 的数据,n8n \leq 8
  • 对于另外 20%20\% 的数据,TT 只有前半部分可能含有 ?\tt ?
  • 对于另外 20%20\% 的数据,TT 中只有 ?\tt ?
  • 对于 100%100\% 的数据,1n501 \leq n \leq 50nn 为偶数,Ti{L,R,?}T_i \in \{\tt L, \tt R, \tt ?\}