logo AlgoBeat OnlineJudge
登录 注册

#1045. [Algo Beat Contest 006 H] 怅惘

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: sonny2011 管理员

题目描述

小 Z 得到了一棵树!

这棵树共有 个结点,编号为 ,以 号结点为根。根的深度是 ,每一个结点的深度定义为该节点到 号根节点的简单路径上的边数加 。对于 号节点有一个权值 。令 为树的深度,保证

定义 号结点对应的子树中深度为 的结点权值的可重集合

需要注意的是,这里深度的定义如第一段所描述,指的是以节点 为根的深度,而非以节点 为根。

特别地,若不存在 号结点对应的子树中不存在深度 ,则

小 Z 会对你进行 次询问,每次询问给定两个正整数 ,你需要计算有多少组 满足以下条件:

输入格式

第一行包含两个正整数 ,分别表示树上结点的数量和询问的次数。

第二行包含 个非负整数 ,表示每个结点的权值。

接下来 行,每行两个正整数 ,表示 号结点和 号结点之间存在一条边。

接下来 行,每行两个正整数 ,表示询问的内容,含义见题目描述。

输出格式

对于每次询问,包含一行一个非负整数,表示答案。

样例

输入输出样例 #1

输入 #1

8 5
1 2 1 2 4 3 3 4
1 2
1 3
1 4
3 5
3 6
4 7
4 8
3 3
1 2
4 3
1 1
2 1

输出 #1

1
0
1
1
11

数据范围与提示

对于 的数据,保证

另有 的数据,保证

另有 的数据,保证

对于 的数据,保证