#Lutece2791. 顶点游走 2

顶点游走 2

Migrated from Lutece 2791 顶点游走 2

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

你现在又正在进行一个顶点游走游戏

给你一张 nn 个点 n1n-1 条边的图,你现在从 11 号点出发, 每次可以从一个点走到任意一个相邻顶点,每个点上有一个经验块,你走到经验块时就会吸收该点的经验块。当然有时候经验块带来的经验是负数,因此可能你吸收完后等级也会来到负数,这时候万能的GM会自动把你的经验调整到0级。

但是经验块是有限的,对于每个点来说,其上面只会有一个经验块,并且经验块在吸收之后就会消失。

一开始你在 11 号节点,并且你是 00 级,然后你可以在任何节点离开这个图,你想要最大化自己的等级。

显然这个游戏对你来说太简单了,你能够最大化你自己的等级吗?

Input

第一行输入一个整数 n(1n500000)n(1\le n \le 500000),表示顶点个数

第二行输入 n1n-1 个由空格隔开的整数,第 ii 个数表示编号为 i+1i+1 的点的父亲编号,保证这个编号小于 等于ii

接下来一行 nn 个数,第 ii 个数表示编号为 ii 的点的点权(保证权值为绝对值不超过 1e91e9 的整数)。

Output

输出能达到的最高等级。

Samples

8
1 2 3 2 3 6 1 
-292289435 341297093 -694506256 733409908 676243357 313031328 -466299967 649330825
2372015418

Resources

2022 UESTC ICPC Training for Dynamic Programming