Once upon a time there was only one router in the well-known company Bmail. Years went by and over time new routers were purchased. Every time they bought a new router, they connected it to one of the routers bought before it. You are given the values p_i — the index of the router to which the i-th router was connected after being purchased (p_i < i).

There are n routers in Boogle in total now. Print the sequence of routers on the path from the first to the n-th router.

Input

The first line contains integer number n (2 ≤ n ≤ 200000) — the number of the routers. The following line contains n-1 integers p_2, p_3, ..., p_n (1 ≤ p_i < i), where p_i is equal to index of the router to which the i-th was connected after purchase.

Output

Print the path from the 1-st to the n-th router. It starts with 1 and ends with n. All the elements in the path should be distinct.

Examples

Input

8
1 1 2 2 3 2 5


Output

1 2 5 8 

Input

6
1 2 3 4 5


Output

1 2 3 4 5 6 

Input

7
1 1 2 3 4 3


Output

1 3 7 
import java.util.*;
import java.lang.*;
import java.io.*;
 
public class code{
    
 
	public static void main (String[] args) throws java.lang.Exception
	{
	 Scanner obj = new Scanner(System.in);
	 int t = obj.nextInt();
	 int[] parent = new int[t];
	 parent[0] = 0;
	 
	 for(int i=0;i<t-1;i++){
	     parent[i+1] = obj.nextInt()-1;
	 }
	 
	 int v = t-1;
	 Stack<Integer> st = new Stack<Integer>();
	 st.push(v+1);
	 while(v!=0){
	     v = parent[v];
	     st.push(v+1);
	 }
	 
	 while(!st.empty()){
	     System.out.print(st.pop()+" ");
	 }
	 
	 }
	 
	    
	}