题目描述
一共有n个小行星碎片,编号是1到n,它们的分布构成了一棵树,碎片可能的颜色有m种,编号是1到m。第i块碎片可能的颜色是特定的k[i]种,分别是c[1]到c[k[i]]。在树上相邻的两个碎片不会是同一种颜色。小帅准备编写一个程序计算出所有碎片可能出现的不同颜色的情况有多少种,结果对1000000007取模(n,m <= 2000)。
输入
第一行两个整数n和m。
接下来n行,每行首先一个整数k,然后k个整数,表示该节点的可能颜色。
再接下来n-1行,每行两个整数,表示一条边。
输出
一个整数,表示所有碎片可能出现的不同颜色的情况有多少种。
样例输入
5 5
3 1 2 3
2 1 5
2 1 4
2 2 3
3 2 3 4
1 2
1 5
2 3
2 4
样例输出
36