C1504 [JLOI2012]树

内存限制:256 MB 时间限制:1000 ms

题目描述

给定一个值 $S$ 和一棵树。在树的每个节点有一个正整数,问有多少条路径的节点总和达到 $S$。路径中节点的深度必须是升序的。假设节点 $1$ 是根节点,根的深度是 $0$,它的儿子节点的深度为 $1$。路径不必一定从根节点开始。

输入格式

第一行是两个整数 $N$ 和 $S$,其中 $N$ 是树的节点数。

第二行是 $N$ 个正整数,第 $i$ 个整数表示节点 $i$ 的正整数。

接下来的 $N-1$ 行每行是 $2$ 个整数 $x$ 和 $y$,表示 $y$ 是 $x$ 的儿子。

输出

输出路径节点总和为 $S$ 的路径数量。

样例

样例输入 1

3 3 1 2 3 1 2 1 3

样例输出 1

2

提示

对于 $100\%$ 数据,$N≤100000$,所有权值以及 $S$ 都不超过 $1000$。