1869 - 树的最大和
Description

给定一棵 n 个结点的树,1 号点为根。每个点都有一个权值,第 i 个点的权值为 a_i,权值有正有负。请在这棵树里找到一个连通分量,该连通分量内结点的权值之和达到最大,输出这个最大和。

连通分量是指树上一些点的集合,如果用树上的边连接这些点不需要经过连通分量外的点。连通分量可以是空集,空集的权值之和定义为 0


Input

第一行:单个整数表示 n

第二行:n−1 个整数表示 p_2p_np_i表示 i 号点父亲的编号,保证有 1\leq p_i

第三行:n 个整数表示 a_1a_na_i表示i 号点的权值


Output

单个整数:表示答案。


Examples

Input

6
1 1 2 2 3
10 20 -30 40 -50 60

Output

100
Hint

对于 30\% 的数据, n\leq 200

对于 60\% 的数据, n\leq 5000

对于 100\%的数据, 1\leq n\leq 200,000

-1,000,000,000\leq a_i\leq 1,000,000,000

样例说明:

10+20-30+40+60=100

题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 10
通过次数 7