#P0409. 树的划分方案数

树的划分方案数

题目描述

给你一棵包含 nn 个节点的有根树。树上节点编号从 11nn,根节点编号为 11

树上每个节点有一个颜色,非黑即白,且至少存在一个黑色的点。

现在你需要删掉树上的一些边,使得删完边之后,每个连通块中均包含恰好一个黑色的点。

求总的方案数,对 109+710^9 + 7 取模。

输入格式

第一行,一个整数 n(2n105)n(2 \le n \le 10^5)

第二行,n1n-1 个整数 p2,p3,,pnp_2, p_3, \ldots, p_n,以空格分隔。其中 pip_i 表示节点 ii 的父节点编号。

第三行,nn 个整数 x1,x2,,xnx_1, x_2, \ldots, x_n,以空格分隔,表示每个节点的颜色。其中,若 xi=1x_i = 1,表示节点 ii 的颜色是黑色的,若 xi=0x_i = 0,表示节点 ii 的颜色是白色的。

输出格式

输出一个整数,表示答案。

样例

3
1 1
0 1 1
2
6
1 2 2 1 5
1 1 0 0 1 0
1
10
1 2 3 2 5 5 5 1 9
0 0 0 1 0 1 1 0 0 1
27

说明/提示

题目出处:CF461B