#Lutece1290. 赏树的天行廖

赏树的天行廖

Migrated from Lutece 1290 赏树的天行廖

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

神奇的电子科技大学长着一棵神奇的树。

这棵树一共有n+1n+1个节点,从00号到nn号,每条边上有一个字符cic_i

一日天行廖在校园内游历,见到这棵树,忽然想到了一个问题。

定义sis_i为从根节点到ii的路径所构成的字符串。

对于每个节点ii,天行廖想知道一个数f(i)if(i)\neq i,使得sf(i)s_{f(i)}sis_i的最长后缀。

Input

输入一个整数1<=n<=2000001<=n<=200000,接下来两行。

第一行nn个整数,p1,p2,,pnp_1,p_2,\cdots,p_n0<=pi<i0<=p_i<ipip_i表示ii的父亲

第二行nn个整数,c1,c2,,cnc_1,c_2,\cdots,c_n1<=ci<=n1<=c_i<=ncic_i表示ii向其父亲连的边上的字符。

输入保证对于所有iji\neq j(pi,ci)(pj,cj)(p_i,c_i)\neq (p_j,c_j)

Output

输出nn个数,f(1),f(2),,f(n)f(1),f(2),\cdots,f(n)

Samples

2
0 0
1 2
0 0
2
0 1
1 1
0 1

Resources

咦咦。。。