9554: 溯源

内存限制:512 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:2 通过:2

题目描述

小 hua 学习了树,并发现一个草履虫家族可以用树的结构很好的刻画。

有一个根节点称为草履虫祖宗(11 号节点),之后会有若干后代,构成一个有根树的结构(每个草履虫有唯一的父亲 fufu)。

每个草履虫(节点)还有一个价值 auau

小 hua 想把草履虫家族割裂,她可以选择删掉若干条树边(共 2n−12n1 种方案),求其中合法的方案的权值和。

其中:

  • 一个方案合法,当且仅当,每个连通块中,在原本树中构成直接祖先后代关系的草履虫的价值差 ≤kk
  • 一个方案的权值定义为,所有连通块大小的乘积
  • 称 u,vu,v 构成直接祖先后代关系,当且仅当 u=f(f(...f(v)))u=f(f(...f(v))) 或 v=f(f(...f(u)))v=f(f(...f(u))),题目即要求同一连通块中所有这样的 u,vu,v 均满足 ∣au−av∣≤kauavk

输入格式

第一行一个正整数 TT 表示测试数据组数,对于之后的每组测试数据:

  • 第一行两个正整数 n,kn,k,表示树的节点个数和极差限制。
  • 第二行 nn 个正整数表示各个点的点权。
  • 第三行 n−1n1 个正整数分别表示 f2,f3,⋯,fnf2,f3,,fn,保证 fifi 小于 ii

输出格式

一个整数表示所有合法方案的权值和,对 109+7109+7 取模。

输入样例 复制

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

输出样例 复制

36

数据范围与提示

对于所有数据,1≤T≤6,n≤5000,1≤ai,k≤1091T6,n5000,1ai,k109