Valera's finally decided to go on holiday! He packed up and headed for a ski resort.
Valera's fancied a ski trip but he soon realized that he could get lost in this new place. Somebody gave him a useful hint: the resort has $*n*$ objects (we will consider the objects indexed in some way by integers from $1$ to $*n*$), each object is either a hotel or a mountain.
Valera has also found out that the ski resort had multiple ski tracks. Specifically, for each object $*v*$, the resort has at most one object $*u*$, such that there is a ski track built from object $*u*$ to object $*v*$. We also know that no hotel has got a ski track leading from the hotel to some object.
Valera is afraid of getting lost on the resort. So he wants you to come up with a path he would walk along. The path must consist of objects $*v*_{1}, *v*_{2}, ..., *v*_{*k*}$ ($*k* ≥ 1$) and meet the following conditions:
- Objects with numbers
$*v*_{1}, *v*_{2}, ..., *v*_{*k* - 1}$are mountains and the object with number$*v*_{*k*}$is the hotel. - For any integer
$*i*$$(1 ≤ *i* < *k*)$, there is exactly one ski track leading from object$*v*_{*i*}$. This track goes to object$*v*_{*i* + 1}$. - The path contains as many objects as possible (
$*k*$is maximal).
Help Valera. Find such path that meets all the criteria of our hero!
Input
The first line contains integer $*n*$ ($1 ≤ *n* ≤ 10^{5}$) — the number of objects.
The second line contains $*n*$ space-separated integers $*type*_{1}, *type*_{2}, ..., *type*_{*n*}$ — the types of the objects. If $*type*_{*i*}$ equals zero, then the $*i*$-th object is the mountain. If $*type*_{*i*}$ equals one, then the $*i*$-th object is the hotel. It is guaranteed that at least one object is a hotel.
The third line of the input contains $*n*$ space-separated integers $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($0 ≤ *a*_{*i*} ≤ *n*$) — the description of the ski tracks. If number $*a*_{*i*}$ equals zero, then there is no such object $*v*$, that has a ski track built from $*v*$ to $*i*$. If number $*a*_{*i*}$ doesn't equal zero, that means that there is a track built from object $*a*_{*i*}$ to object $*i*$.
Output
In the first line print $*k*$ — the maximum possible path length for Valera. In the second line print $*k*$ integers $*v*_{1}, *v*_{2}, ..., *v*_{*k*}$ — the path. If there are multiple solutions, you can print any of them.
样例
5
0 0 0 0 1
0 1 2 3 4
5
1 2 3 4 5
5
0 0 1 0 1
0 1 2 2 4
2
4 5
4
1 0 0 0
2 3 4 2
1
1
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。