开始: 2026-10-25 00:00:00

【集训17】复赛模拟赛1025下午

结束: 2026-10-28 00:00:00
当前  2026-10-28 17:03:34  类型: IOI  状态: 已经结束 

P4. 鲁的串串string
描述

在遥远的银河系中,宇宙大帝 Luke 正在研究一种神秘的古老语言。这个语言由 k 个神秘的符文组成(即前 k 个小写字母),每个符文对应一种宇宙中的基本元素。Luke 发现了一个长度为 n 的古老字符序列,这个序列中所有的符文都来自这 k 个基本符文。为了进一步揭示这段语言的奥秘,Luke 决定在这个字符序列的基础上,添加更多的符文来扩展它。

Luke 可以在现有的字符序列后再添加 m 个符文,使得新的字符序列包含尽可能多的不同子序列。唯一的限制是,Luke 只能使用那 k 个基本符文(即前 k 个小写字母)来进行添加。

现在,Luke 想知道,在他添加这些符文之后,长度为 n+m 的新字符序列最多可以包含多少个不同的子序列。由于答案可能非常庞大,请将结果对 10^9 + 7 取模。

你的任务是帮助宇宙大帝 Luke 计算这个最大可能的子序列数量,帮助他破解古老语言的奥秘。


输入

输入第一行两个数 m,k。 

接下来一行一个字符串,长度为 n,表示原始的字符串。


输出

一个数,表示答案。

样例

输入

1 3
ac

输出

8

输入

2 3
aa

输出

12

输入

2 3
ba

输出

15
提示

|   测试点    |     n \leq       | m\leq            | k \leq |

| :---------: | :----------------: | :------------------: | :---------: |

|     1     | 1 | 1 | 1     |

|  2\sim 3  |     5     | 0 | 5     |

|  4\sim 5  |       0       | 5 | 5     |

|     6     | 5 | 5 | 5      |

|  7\sim 8  | 1000 | 0 | 26     |

| 9 \sim 10 | 0 | 1000 | 26     |

|    11     |     1000     | 1000   | 1     |

|    12     |     1000     | 1000   | 26    |

|    13     |     20000     | 0         | 26    |

|    14     |     0     | 20000     | 26     |

|    15     |     20000     | 20000    | 1     |

|    16     |     20000     | 20000    | 26    |

|    17     |     100000     | 0       | 26    |

|    18     |     0     | 100000    | 26     |

|    19     |     100000     | 100000   | 1     |

|    20     |     100000     | 100000   | 26    |


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交