#P1018. 元音切片

元音切片

题目描述

Bob 在元音城中遇到了一个难题。

他有一个长度为 nn 的小写字符串 SS,他的任务是将 SS 切成若干个段,使得每段恰好包含 kk 个元音。

元音指的是 a, e, i, o, u 共五个字母,并且保证 SS 中的元音数量是 kk 的正倍数。

请求出有多少种不同的分段方案。

由于答案可能很大,你只需要求出其对 109+710^9+7 取模后的值。

输入格式

第一行一个整数 TT 表示数据组数。

对于每组数据:

第一行两个整数 n,kn,k

第二行一个长度为 nn 的小写字符串 SS

输出格式

对于每组数据,输出一行一个整数表示答案对 109+710^9+7 取模后的值。

2 
3 1
neo
10 2
babylonian
1
2

数据范围

对于 30%30\% 的数据,1T101\leq T\leq 101n201\leq n\leq 20

对于 60%60\% 的数据,1T1041\leq T\leq 10^41n1061\leq n\leq 10^61kmin(n,20)1\leq k\leq \min(n,20)

对于 100%100\% 的数据,1T1041\leq T\leq 10^41n1061\leq n\leq 10^61kn1\leq k\leq nn106\sum n\leq 10^6,保证 SS 中的元音数量是 kk 的正倍数。