luogu#P8946. The Lost Symbol

The Lost Symbol

题目背景

题目描述

设二元运算符 kAnk\operatorname A n 为排列数 Ank{\rm A}_n^kkCnk \operatorname C n 为组合数 Cnk{\rm C}_n^k,定义 k>nk>n 时两者的值都为 00

给定 n,mn,m 和一个长度为 n1n-1 的仅包含 A,C\textrm A,\textrm C 的序列 opt[1,n1]{\rm opt}_{[1,n-1]},对所有长度为 nn,且每一个数都是 [1,m][1,m] 中的整数的序列 a[1,n]a_{[1,n]} 求 $(\cdots(((a_1\operatorname{opt}_1 a_2)\operatorname{opt}_2 a_3)\operatorname{opt}_3 a_4)\cdots\operatorname{opt}_{n-2}a_{n-1})\operatorname{opt}_{n-1}a_n$ 的和。

答案对质数 1141760311417603 取模。

输入格式

第一行两个整数 n,mn,m

接下来一行一个长度为 n1n-1 的字符串表示 opt\text{opt}

输出格式

一行一个整数表示答案。

2 2
C
4
2 2
A
5
8 8
CCACAAC
399968

提示

【样例解释】

对于样例 #1:

1C1=11\operatorname C 1=11C2=21\operatorname C 2=22C1=02\operatorname C 1=02C2=12\operatorname C 2=1,求和为 44

对于样例 #2:

1A1=11\operatorname A 1=11A2=21\operatorname A 2=22A1=02\operatorname A 1=02A2=22\operatorname A 2=2,求和为 55

【数据范围】

不开启捆绑测试,按点给分。

对于 100%100\% 的数据,2n,m1052\leq n,m\leq 10^5opt{\rm opt} 仅包含 A,C\textrm A,\textrm C

测试点编号 nn\leq mm\leq 特殊性质
131\sim3 88
464\sim6 314314 159159
7107\sim10 27182718 28182818
111311\sim13 10510^5 10510^5 opt\rm opt 仅由 A\rm A 构成
141614\sim16 opt\rm opt 仅由 C\rm C 构成
172017\sim20 opt\rm opt 由不超过 1010 段连续的 A\rm A 和连续的 C\rm C 拼接而成
21,2221,22 84928492
232523\sim25 10510^5