Задача D. Выбор вершин взвешенного дерева

Автор:Тренировки СПбГУ   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Дан граф, являющийся деревом. В вершинах графа написаны целые числа. Множество вершин графа называется допустимым, если никакие две вершины этого множества не соединены ребром.

Рассмотрим все допустимые множества вершин графа. Для каждого такого множества вычислим сумму чисел, написанных в его вершинах. Какова максимальная из этих сумм?

Формат входного файла

Граф в этой задаче задан в виде корневого дерева. В графе выделена вершина — корень дерева. Для каждой вершины i, не являющейся корнем, задан номер вершины-предка pi в корневом дереве. Дерево, заданное таким образом, состоит из рёбер i — pi для всех вершин i, кроме корня.

В первой строке входного файла записано целое число n  — количество вершин в графе . В следующих n строках задан граф. В i-й из этих строк записаны через пробел два целых числа pi и qi; здесь pi  — номер вершины-предка i-ой вершины, а qi  — число, записанное в этой вершине. Для корня дерева pi = 0; для всех остальных вершин 1 ≤ pi ≤ n.

Гарантируется, что заданный во входном файле граф является деревом.

Формат выходного файла

В первой строке выходного файла выведите одно число — максимальную сумму чисел в допустимом множестве.

Ограничения

1 ≤ n ≤ 100

1 ≤ pi ≤ n

|qi| ≤ 104

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
5
0 1
1 2
1 3
2 4
3 5
10
2
6
5 8
6 0
5 -1
1 1
0 3
1 2
8

0.132s 0.021s 15