#abc215e. [abc215_e]Chain Contestant
[abc215_e]Chain Contestant
题目描述
AtCoder 的另一个世界举办了 种类型的比赛,分别称为 AAC, ..., AJC。接下来会有 场比赛。
将这 场比赛的类型以字符串 的形式给出:如果 的第 个字符是 ,则第 场比赛将是 AC。
AtCoDeer 将选择并参加 场比赛中的一场或多场,使得满足以下条件。
- 在他参加的比赛序列中,相同类型的比赛是连续的。
- 具体地说,当 AtCoDeer 参加了 场比赛并且其中第 场比赛的类型是 ,那么对于每个整数三元组 满足 ,如果 ,则必须满足 。
计算 AtCoDeer 选择参加比赛的方式数,取模 。
当存在比赛 ,AtCoDeer 在某一种方式下参加了比赛 ,而在另一种方式下没有参加 ,则认为两种选择方式是不同的。
约束条件
- 由从
A
到J
的大写英文字母组成。
输入
输入以以下格式从标准输入中给出:
输出
输出一个整数表示答案。
示例输入 1
4
BGBH
示例输出 1
13
例如,参加第 场和第 场比赛是有效的,参加第 场和第 场比赛也是有效的。
另一方面,参加第 、第 、第 和第 场比赛是无效的,因为 ABC 类别的参与并不连续,违反了三元组 的条件。
此外,不允许参加零场比赛。
总共有 种有效的参赛方式。
示例输入 2
100
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBIEIJEIJIJCGCCFGIEBIHFCGFBFAEJIEJAJJHHEBBBJJJGJJJCCCBAAADCEHIIFEHHBGF
示例输出 2
330219020
请确保对结果取模 。