ICPC 的标志有三种颜色:蓝色、黄色和红色。NAC 的志愿者们刚刚充好了大量这些颜色的气球,并将它们排成一行。接下来,他们需要按颜色对气球进行排序,然后才能分发给参赛选手。
不幸的是,由于奥兰多的高温,气球开始随机爆裂:每一秒钟,一个随机的剩余气球会爆裂(志愿者会从队列中移除碎片)。这也不全是坏事:也许如果 NAC 的志愿者们等待足够长的时间,气球会偶然变得有序?计算直到所有蓝色气球排在所有黄色和红色气球之前,且所有黄色气球排在所有红色气球之前这一状态首次出现时,所经过的期望秒数。(即使这些条件是空真成立的,它们也满足:例如,如果剩余的气球中根本没有蓝色气球,那么“所有蓝色气球排在所有黄色和红色气球之前”这一条件即为真。)
输入格式
输入包含一行:一个字符串 $s$ ($1 \le |s| \le 2 \cdot 10^5$),其中每个字符为 B、Y 或 R,分别代表蓝色、黄色和红色——即队列中初始气球的颜色。
输出格式
输出直到所有蓝色气球排在所有黄色和红色气球之前,且所有黄色气球排在所有红色气球之前这一状态首次出现时,所经过的期望秒数。由于该数值可能不是整数,请输出其对 $998\,244\,353$ 取模的结果。
形式化地,令 $p = 998\,244\,353$。可以证明答案可以表示为一个不可约分数 $\frac{a}{b}$,其中 $a$ 和 $b$ 是非负整数且 $b \not\equiv 0 \pmod{p}$。请输出整数 $x$,满足 $0 \le x < p$ 且 $x \equiv a \cdot b^{-1} \pmod{p}$。
说明
在样例 1 中,气球颜色首次变为正确排序的期望时间为 $\frac{17}{6} = 2 \cdot \frac{1}{6} + 3 \cdot \frac{5}{6}$ 秒:气球颜色在 2 秒后正确排序的唯一方式是前两个爆裂的气球是黄色和红色气球(顺序不限)。这些气球在任何蓝色气球之前爆裂的概率为 $\frac{1}{6}$。否则(概率为 $\frac{5}{6}$),气球颜色会在 3 秒后自动排序,此时只剩下一个气球。由于 $6^{-1} \equiv 166\,374\,059 \pmod{p}$,答案为 $17 \cdot 166\,374\,059 \equiv 831\,870\,297 \pmod{p}$。
样例
样例输入 1
RYBB
样例输出 1
831870297
样例输入 2
YRBBR
样例输出 2
598946615