#Lutece2575. 老虎道场

老虎道场

Migrated from Lutece 2575 老虎道场

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

你正在开发一款文字冒险游戏。但由于种种原因,你也许无法做完原定的所有路线了,你决定砍掉一些路线使得游戏能够尽快发行。

原定的剧情内容可以看作一棵有根树,树上的一个节点代表一个剧情,每个剧情会有选项分支。而只有当某个剧情被决定开发,才能继续开发选项分支(子节点)上的游戏内容。砍掉一些路线,即可以删除一些边,最终只保留拥有根节点的树作为游戏内容。

根据你敏锐的市场直觉,你为每个剧情标注了满意度,游戏的总体满意度为它所有节点的满意度之和。你知道,现在的人力最多做出 mm 个剧情,请你预计游戏总体满意度的最大值。

Input

第一行输两个整数 n,m (1mn500)n,m\ (1\le m\le n\le 500),表示树有 nn 个节点,砍掉一些路线后,最多剩 mm 个节点。

第二行输入 n1n-1 个整数 f2,f3,,fn (1fin)f_2,f_3,\ldots ,f_n\ (1\le f_i\le n),表示第 ii 个节点的父节点为 fif_i。根节点是第 11 个节点。

第三行输入 nn 个整数 v1,v2,,vn (109vi109)v_1,v_2,\ldots ,v_n\ (-10^9\le v_i\le 10^9),表示第 ii 个节点提供的满意度为 viv_i

Output

输出一个整数 VV,表示能达到的最大总体满意度。

Samples

6 3
1 1 2 2 3
3 2 -1 3 4 7
9

Note

样例中,要获得 99 的总体满意度,其中一种方案:保留由节点 1,3,61,3,6 构成的树。

Resources

2021 UESTC ICPC Training for Dynamic Programming