2424: ZCC loves words

内存限制:128 MB 时间限制:20.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

ZCC’s English is so poor that his teacher GPS forced him to memorize words. In order to examine ZCC, GPS created a software. This software works as follow. A user inputs a string S which only consists of uppercase into this software, then the software calculates the score which string S has by using its strange methods.Initially the software stores n different words and the initial score is 1. The length of S is L. The chars of string S is labeled from 1 to L(left to right), and S[i] represent the i-th char of S.

// Prime[k] means the k-th prime number, such as Prime[1]=2, Prime[2]=3 ,Prime[8]=19.
Input >> S
Score = 1
For i = 1 to L do
For k=1 to n do
If S[j..i] equals to Word[k]
Score = Score * Prime[k] * ( i * 2 - j + 1 )
Output << Score

The pseudocode above shows when input S what score we can get.
If n=2,L=3,Word[1]=”AB”,Word[2]=”BB” then
Score[ABB] = 1 * ( 2 * 2 - 1 + 1 ) * Prime[1] * ( 3 * 2 - 2 + 1 ) * Prime[2],
Score[CBA] = 1,
Score[CAB] = 1 * ( 3 * 2 - 2 + 1 ) * Prime[1];
ZCC has found a BUG which can help him to input strings into the software as much as he can. And the score he gets in the end is the sum of the score he gets in each input.ZCC wants to know the score he will get in the end, if he input all the different strings into the software. That is to say if the length of string is L, he can input 26^L strings in all. The answer can be very large, so what ZCC actually want is the ans Mod 5047621.

输入

The input contains several test cases.Two integers N(1≤N≤40),L(1≤L≤10^17) will exist in the first line of each input, indicating the number of words and the length of each S you can input to the software. Next n line contains n words, the i-th line means Word[i].Let Len[i] be the length of Word[i], and Len[1]+Len[2]…+Len[n]<=40.

输出

For each test case, output the score Mod 5047621.

样例输入 复制

2 3
AB
BB
4 1
A
B
C
D
1 2
A
3 3
ZZ
ZZA
ZZZ

样例输出 复制

Case #1: 18894
Case #2: 56
Case #3: 899
Case #4: 20511

提示

For the second test case, all the 4 words can be got. So score is (1*2-1+1)*(2+3+5+7)+22.
5047621=179*173*163