Lexicographically minimal topological sort
Problem
You are given a connected acyclic directed graph. Find its lexicographically minimal topological sort.
Input
The first line contains the number of vertices n (1 <= n <= 10000). The second line contains n numbers ai (0 <= ai <= n, ai != i). The value ai is the ancestor of the vertex with the number i (vertices are numbered from 1). If a< sub>i = 0, then the vertex i is a root and has no ancestors, it is guaranteed that there are exactly 1 such vertices.
Output
The solution should output n numbers - the lexicographically minimal topological sort.
Examples
| # |
Input |
Output |
| 1 |
4
2 0 1 2
|
2 1 3 4 |