Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

F. Пути в дереве

Дано укоренённое дерево на N вершинах и число X. В каждой вершине записано число — её вес.

Назовём восходящим путь ai, p (ai), p(p(ai)), ..., где p(a) — родитель вершины a. Проще говоря, восходящий путь — это путь, который начинается с некоторой вершины и двигается в сторону корня (не обязательно доходя до него). Путь может состоять из одной вершины. Весом пути назовём суммарный вес вершин на этом пути. Найдите количество восходящих путей с весом X .

Формат ввода

В первой строке дано число вершин n (1 ≤ n ≤ 2⋅105) и число X (−109 ≤ X ≤ 109).

В следующих n строках по одной в строке заданы вершины. i -я вершина задаётся двумя числами — pi и wi, записанными через пробел. pi — это либо номер вершины-родителя вершины i, в этом случае 0 ≤ pi ≤ n−1, либо −1, если вершина i является корнем.

wi — это вес вершины i (−104 ≤ wi ≤ 104).

Формат вывода

Выведите одно целое число — количество восходящих путей веса X.

Пример 1

6 3
-1 1
0 1
0 1
1 1
2 2
3 1
3






Пример 2

1 2
-1 1
0