#P8946. The Lost Symbol

The Lost Symbol

背景

题目描述

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

给定 n,mn,m 和一个长度为 n−1n-1 的仅包含 A,C\textrm A,\textrm C 的序列 opt[1,n−1]{\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。

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

输出格式

一行一个整数表示答案。

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

提示

【样例解释】

对于样例 #1:

1C⁡1=11\operatorname C 1=1,1C⁡2=21\operatorname C 2=2,2C⁡1=02\operatorname C 1=0,2C⁡2=12\operatorname C 2=1,求和为 44。

对于样例 #2:

1A⁡1=11\operatorname A 1=1,1A⁡2=21\operatorname A 2=2,2A⁡1=02\operatorname A 1=0,2A⁡2=22\operatorname A 2=2,求和为 55。

【数据范围】

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

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

测试点编号 n≤n\leq m≤m\leq 特殊性质
1∼31\sim3 88 无
4∼64\sim6 314314 159159
7∼107\sim10 27182718 28182818
11∼1311\sim13 10510^5 10510^5 opt\rm opt 仅由 A\rm A 构成
14∼1614\sim16 opt\rm opt 仅由 C\rm C 构成
17∼2017\sim20 opt\rm opt 由不超过 1010 段连续的 A\rm A 和连续的 C\rm C 拼接而成
21,2221,22 84928492 无
23∼2523\sim25 10510^5