小蓝有一棵树,树中包含 N 个结点,编号为 0, 1, 2, · · · , N − 1 ,其中每个结点上都有一个整数 Xi 。他可以从树中任意选择两个不直接相连的结点 a 、b并获得分数 Xa ⊕ Xb ,其中 ⊕ 表示按位异或操作。
请问小蓝可以获得的最大分数是多少?
输入的第一行包含一个整数 N ,表示有 N 个结点。
第二行包含 N 个整数 X1, X2, · · · , XN ,相邻整数之间使用一个空格分隔。
第三行包含 N 个整数 F1, F2, · · · , FN ,相邻整数之间使用一个空格分隔,其中第 i 个整数表示 i 的父结点编号,Fi = −1 表示结点 i 没有父结点。
5 1 0 5 3 4 -1 0 1 0 1
7
对于 50% 的评测用例,1 ≤ N ≤ 1000 ;
对于所有评测用例,1 ≤ N ≤ 105, 0 ≤ Xi ≤ 231 − 1 ,−1 ≤ Fi ≤ N ,Fi , 0 。