N개의 정점으로 구성된 루트 있는 트리가 있다. 각 정점은 1번부터 N번까지 번호가 매겨져 있고, 각 정점에는 0 이상 N 미만의 정수 값이 적혀 있다.
주어진 트리에서 모든 정점에 대해 mex(i)를 구해야 한다. mex(i)는 i번 정점을 루트로 하는 서브 트리의 정점에 적혀 있지 않은 수 중에서 가장 작은 음이 아닌 정수이다.
1이상 N이하의 모든 정수 i에 대해 mex(i)를 출력하여라.
첫째 줄에 정점의 수 N이 주어진다. (1≤N≤200,000)
둘째 줄에 1번 정점부터 N번 정점까지 각 정점의 부모 정점의 번호 p_i가 주어진다. 만약 부모 정점이 없다면 대신 −1이 주어진다. 입력으로 주어지는 그래프는 트리임이 보장된다.
셋째 줄에 1번 정점부터 N번 정점까지 각 정점에 적힌 값 v_i가 주어진다. (0≤v_i<N)
N개의 줄에 걸처 각 정점의 mex(i)를 출력한다. i번째 줄에는 mex(i)를 출력한다.