Jousting is a medieval contest that involves people on horseback trying to strike each other with wooden lances while riding at high speed. A total of knights have entered a jousting tournament — knights from each of the two great rival houses. Upon arrival, each knight has challenged a single knight from the other house to a duel.
A kernel is defined as some subset of knights with the following two properties:
No knight in was challenged by another knight in .
Every knight not in was challenged by some knight in .
Given the set of the challenges issued, find one kernel. It is guaranteed that a kernel always exists.
The first line contains an integer n~(1 \le n \le 10^5) — the number of knights of each house. The knights from the first house are denoted with integers through , knights from the second house with integers n + 1 through .
The following line contains integers f_1, f_2, ..., f_n — the -th integer f_k is the index of the knight challenged by knight k~(n + 1 \le f_k \le 2n).
The following line contains integers s_1, s_2, ..., s_n — the -th integer s_k is the index of the knight challenged by knight n + k~(1 \le s_k \le n).
Output the indices of the knights in the kernel on a single line. If there is more than one solution, you may output any one.
Example 1