P17573 [JAG 2026 Summer Camp #3] ABbreviation

题目描述

给定一个仅由 `A` 和 `B` 组成的字符串 $S$。 你可以对 $S$ 执行任意次(也可以是零次)以下操作。 - 选择 $S$ 中一个作为连续子串出现的 `AB`,将这两个字符替换成一个你选择的大写英文字母(`A` 至 `Z` 中的一个)。如果替换后的字母是 `A` 或 `B`,那么它可以在后续操作中作为 `AB` 的一部分再次参与操作。 例如,当 $S$ 为 `AAB` 时,你可以将最后两个字符 `AB` 替换为 `C`,得到 `AC`。如果改为将它们替换为 `B`,则会得到字符串 `AB`,你还可以再次对它执行操作。 求对 $S$ 执行任意次操作后,能够得到多少个不同的字符串。 由于答案可能很大,请输出答案对 $998244353$ 取模的结果。

输入格式

输入包含一组测试数据,格式如下。 ```text N S ``` 第一行包含一个整数 $N$($1\le N\le10^6$),表示 $S$ 的长度。 第二行包含一个长度为 $N$、仅由 `A` 和 `B` 组成的字符串 $S$。

输出格式

输出一个整数,表示能够得到的不同字符串的数量对 $998244353$ 取模的结果。