在2202年,地球人都搬到了一棵大树上住,树的节点用1到n编号。
在这棵树上,每个节点都最多会住一个人,有些节点甚至没人住。
某一天,作为地球球长的你,为了抗击未知瘟疫的发生,决定将树割断,这样树就不再联通,树被割断后会裂成若干块。
为了节约空间资源,不允许存在某一块中没有居民,而同时为了防疫,不允许有两个居民住在同一块。现在你想知道有多少种方案可以切割这棵树。
由于方案数很多,你想问这个方案数对1e9+7取模后的结果。
输入格式:
第一行一个整数n(1<=n<=1e6),表示树上的点数。
接下来n-1行,每行两个整数x,y(1<=x,y<=n),表示x到y有一条边。
接下来一行n个整数,第i个整数p_{i},如果是0表示第i号节点上没有住人,如果是1表示i号节点有住人。
输出格式:
一行整数,表示方案数。
样例:
输入:
3
1 2
1 3
0 1 1
输出:
2