Біочіпи#7486

Біочіпи

1 секунда
64 мегабайти
Середня

Вчені відкрили біочіп, який за певних умов може поділятися на кілька нових біочіпів. Після поділу батьківський біочіп припиняє існування. Кожен нащадок-біочіп має власний незалежний обсяг пам'яті, не пов'язаний з обсягом пам'яті батька. Біочіп можна або використати (зупинивши подальший поділ), або дозволити йому ділитися за заздалегідь визначеною деревоподібною схемою.

Вчені підготували деревоподібні структури, що описують процес поділу біочіпів, повністю визначаючи можливих нащадків та їхній обсяг пам'яті. Ваше завдання — обрати з дерева рівно біочіпів так, щоб їхня сумарна пам'ять була максимальною. Зауважте, що якщо ви обираєте якийсь біочіп, не можна обирати жодного з його предків або нащадків у цьому дереві.

\InputFileУ першому рядку містяться два цілих числа і — кількість елементів дерева та кількість біочіпів, які слід обрати (1 \le n \le 200\ 000, 1 \le m \le 500).

У наступних рядках подано по два невід'ємних цілих числа: номер батька у дереві та обсяг пам'яті біочіпа (1 \le x \le 1000). Кожен біочіп унікально пронумерований від до . Рядок з номером (1 \le i \le n) містить інформацію про біочіп з номером . Лише один біочіп (корінь) не має батька; його номер батька дорівнює .

Гарантовано, що обрати біочіпів можливо.

\OutputFileВиведіть одне ціле число — максимальний можливий сумарний обсяг пам'яті обраних біочіпів.

Приклади

Приклад 1

Loading
Loading