小红有一棵树,共有 n 个节点,每个节点 i 上有一个整数权值 Wi。她希望通过删除若干条边,将这棵树分割为若干个连通块,使得每个连通块中所有节点的权值之和都是偶数。
请你求出,对每个 k (1≤k≤n−1),删除 k 条边后得到的 k+1 个连通块满足条件的方案数。若不存在满足条件的方案,对应的答案记为 0。
注意:两种删除边的方案若删除的边集合不同,则视为不同的方案。结果对 109+7 取模。
小红有一棵树,每个节点上都有一个整数权值。她希望通过删除若干条边,将这棵树分割
为若干个连通块,使得每个连通块中所有节点的权值之和都是偶数。
请你求出,对于每个k(1≦k≦n−1),删除k条边后得到的k+1个连通块满足条件的方案数。如果不存在满足条件的方案,对应的答案记为0。
注意:两种删除边的方案若删除的边集合不同,则视为不同的方案。
第一行给出一个整数n,表示树的节点数。
第二行给出n个整数W1,W2,...,Wn,其中Wi表示节点i的权值。
接下来n−1行,每行包含两个整数u与v(1≦u,v≦n,u=v),表示节点u与节点v 之间有一条边,保证给定的图构成一棵树。
2≦n≦105
1≦wi≦109
1≦u,v≦n
输出n−1个数,第i个数表示删除i条边后满足条件的方案数。由于答案可能非常大,请对答案取模109+7后输出。
输入
5
1 2 3 4 4
1 2
1 3
2 4
2 5
输出
3 3 1 0
当k=1时,删除方案有{(1,2)},{(2,4)},{(2,5)},共3种。
当k=2时,删除方案有{(1,2), (2,4)},{(1,2),(2,5)},{(2,5), (2,4)},共3种。
当k=3时,删除方案有{(1,2),(2,4),(2,5)},共1种。