Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 800 点
問題文
すけぬくんは n+1 頂点の木 T を持っています。 この木 T の頂点には整数がひとつずつ書かれていて、それぞれ 1,2,..., n+1 です。 木 T には辺が n 本あり、i 番目の辺は i が書かれた頂点と v_i が書かれた頂点をつないでいます。
ぬすけくんは、すけぬくんが目を離している隙に、木 T に以下のようないたずらをしました。
- 木 T の頂点のうち、次数が 1 である頂点を 1 つ選んで取り除き、隠しておく
- 残った n 個の頂点に書かれた整数をすべて消す
- 残った n 個の頂点それぞれに新しく整数 1,2,..., n をひとつずつ書き加える
ぬすけくんのいたずらのあとの木を T' と呼ぶことにします。 木 T' には辺が n-1 本あり、 i 番目の辺は i が書かれた頂点と u_i が書かれた頂点をつないでいます。
ぬすけくんのいたずらに気がついたすけぬくんは、ぬすけくんが隠し持っている頂点にかかれている整数を言い当てたくなりました。このような整数としてありうるものをすべて求め、昇順に出力してください。
制約
- 2\leq n \leq 2\times 10^5
- i=1, 2, \dots, n について 1\leq v_i \leq n+1
- i=1, 2, \dots, n-1 について 1\leq u_i \leq n
- T (辺 (1, v_1), (2, v_2), \dots, (n, v_{n}) からなるグラフ)は木を成す
- T' (辺(1, u_1), (2, u_2), \dots, (n-1, u_{n-1})からなるグラフ)は木を成す
- ぬすけくんが隠し持っている頂点としてありうるものが 1 つ以上存在する
- 入力は全て整数である
入力
入力は以下の形式で標準入力から与えられる。
n v_1 v_2 \dots v_n u_1 u_2 \dots u_{n-1}
出力
ぬすけくんが隠し持っている頂点に書かれている可能性のある整数すべてを、昇順に空白区切りで一行に出力してください。
入力例 1
10 2 9 2 2 2 2 6 7 10 11 2 3 4 10 4 5 4 4 4
出力例 1
8 11
次数 1 の頂点は 1,3,4,5,8,11 が書かれた頂点です。
例えば、 11 が書かれている頂点を隠したあと、次のように新しく整数を書き加えれば、木 T' と一致します。
また、8 が書かれている頂点を隠したあと、次のように新しく整数を書き加えれば、木 T' と一致します。
これ以外の頂点を隠したときはどのように整数を書いても木 T' にすることができないため、答えはこれらを小さい順に並べた 8 11
となります。
入力例 2
5 6 1 1 1 1 5 5 5 5
出力例 2
2 3 4 5 6
次数 1 の頂点は 2,3,4,5,6 が書かれた頂点です。 どれを取り除いたとしても、うまく整数を書き加えれば木 T' と同じものが作れるので、 これらをすべて出力してください。
入力例 3
5 4 3 4 5 6 2 3 4 5
出力例 3
1
ぬすけくんが隠し持っている頂点には 1 が書かれていることは、すけぬくんにはお見通しです。