跳到主要内容
图灵 OJTURING / ONLINE JUDGE

#F2481. Close Vertices

    ID: 2487 传统题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>数据结构分治算法思想挑战难度共享题库Codeforces英文题面题目来源题面语言

Close Vertices

题目描述

E. Close Vertices
time limit per test
5 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

You've got a weighted tree, consisting of n vertices. Each edge has a non-negative weight. The length of the path between any two vertices of the tree is the number of edges in the path. The weight of the path is the total weight of all edges it contains.

Two vertices are close if there exists a path of length at most l between them and a path of weight at most w between them. Count the number of pairs of vertices v,u (v<u), such that vertices v and u are close.

Input

The first line contains three integers n, l and w (1≤n≤105,1≤ln,0≤w≤109). The next n-1 lines contain the descriptions of the tree edges. The i-th line contains two integers pi,wi (1≤pi<(i+1),0≤wi≤104), that mean that the i-th edge connects vertex (i+1) and pi and has weight wi.

Consider the tree vertices indexed from 1 to n in some way.

Output

Print a single integer − the number of close pairs.

Please, do not use the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

Examples
Input
4 4 6
1 3
1 4
1 3
Output
4
Input
6 2 17
1 3
2 5
2 13
1 6
5 9
Output
9

题目来源:fps-www.educg.net-codeforce-1-2833.xml.zip;FPS 共享题包,题包内第 2116 题。保留原作者与原赛事署名。