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 
from collections import deque


class Graph():
    def __init__(self, n):
        self.size = n
        self.g = [[] for _ in range(n)]

    def addEdge(self, u, v):
        self.g[u].append(v)
        self.g[v].append(u)

    def findPath(self, _from, _to):
        queue = deque()
        visited = [False] * self.size
        parent = [i for i in range(self.size)]

        queue.append(_from)

        while queue:
            u = queue.popleft()
            visited[u] = True

            if u == _to:
                break

            for v in self.g[u]:
                if not visited[v]:
                    parent[v] = u
                    queue.append(v)

        path = []
        curr = _to
        while curr != parent[curr]:
            path.append(curr)
            curr = parent[curr]

        path.append(_from)
        path.reverse()

        return path


def main():
    n = int(input())
    g = Graph(n)
    for u, v in enumerate(map(int, input().split())):
        g.addEdge(u+1, v-1)

    path = g.findPath(0, n-1)
    print(*(i+1 for i in path))


if __name__ == '__main__':
    main()
