Подсчет операций
Пингвины нашли самолет в джунглях и почти смогли отремонтировать его. Осталось лишь починить двигатель.
Для этого им нужно разобраться в приборной панели. Она представляет из себя подвешенное дерево c корнем в вершине 0, в каждой вершине которого написано целое число. Поскольку пингвины не хотят работать сами, они наняли на работу обезьян и будут платить им бананами. На каждом этапе ремонтных работ пингвины могут выбрать любую вершину, а далее за один банан обезьяна согласна изменить значения во всех вершинах на пути от корня дерева до выбранной пингвинами вершины: либо прибавить к значениям всех этих вершин 1, либо вычесть из значений всех этих вершин 1.
Самолет заведется только тогда, когда во всех вершинах будут написаны нули. Пингвины хотят за минимальное количество бананов завести двигатель, поэтому им нужна ваша помощь.
Входные данные
В первой строке дано целое число n (1 ≤ n ≤ 10^5
) - количество вершин в дереве.
В следующих n - 1 строках дано по одному целому числу p[i]
- номер вершины, являющейся предком вершины i (0 ≤ p[i]
< n, 1 ≤ i < n). Гарантируется, что вам дано подвешенное дерево с корнем в вершине 0.
В последней строке дано n чисел - исходные значения в вершинах (|a[i]
| ≤ 10^5
).
Выходные данные
Выведите единственное число минимальное количество бананов, необходимое, чтобы завести самолет.