#P6412. 公共子序列

公共子序列

Problem Description

光羽一点都不喜欢高代,某一次高代课上,光羽特意挑了最后一排的位置,睡着睡着,他忽然想到了这道字符串水题!

度度熊有$k(k \ge 2)$个序列$s_1,s_2,..,s_k$,每个序列的长度均为$n$,且序列中每个数均是1到n之间某个整数,请问这$k$个串有多少个长度大于0的**公共子序列**?

**解释**:在每个序列中都选出一些位置,并将这些位置对应的字符**顺次**拼接起来,当它们都相等时,称其为公共子序列。

答案可能很大,请对$10^9+7$取模。

Input

第一行一个数,表示数据组数$T$。

每组数据第一行两个数$k,n$;接下来$k$行,每行一个长度为$n$的序列$s_i$。

数据组数T=80,分别有20组数据满足$k=2,3,4,5$。

每组数据均满足$1 \le n \le 1000$,**且$s_1,s_2,...,s_k$中每一个数在1到n之间等概率随机生成!!**

**随机生成!!**

**随机生成!!**

**随机生成!!**

Output

每组数据输出一行,每行仅包含一个数,表示公共子序列个数。

4 2 3 1 2 1 2 3 1 3 3 1 2 3 2 3 1 1 2 3 4 3 3 2 2 3 1 3 2 3 1 3 2 1 5 3 3 1 3 3 1 1 1 2 3 2 3 3 1 3 3
4 4 2 8