操作集锦
题号:NC204019
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有一款自走棋有26种操作,每种操作我们都用的符号来代替. 
现在牛牛有一个长度为的操作序列,他现在可以从里面拿出某些操作来组合成一个操作视频, 比如说操作序列是,那么操作视频就有等(也就是操作序列的子序列).他现在想知道长度为且本质不同的操作视频有多少种.
比如对于,长度为且本质不同的结果有
考虑到答案可能非常大,你只需要输出在模意义下的答案就可以了.

输入描述:

第一行两个整数.
第二行一个长度为的字符串,保证只存在小写字母.

输出描述:

一行一个整数表示长度为且本质不同的操作视频的个数. 
示例1

输入

复制
3 1
abc

输出

复制
3

备注: