After decades of searching, you have discovered a special machine that allows you to transform different elements into each other!
The world consists of
elements labelled from
to
. Internally, the machine stores a sequence
such that
for all
. If you place element
into the machine, the machine will transform this into element
. Note that it is possible that
, in which case the machine does not do anything.
Let
be the number of distinct elements that you can obtain, starting with only a sample of element
and by using the machine zero or more times. You know the sequence
, but do not know the sequence
. Can you find any possible sequence
, or determine that you must have made a mistake and that no such sequence exists?
Constraints


Subtask 1 [30%]
For all
such that sequence
contains
, it is guaranteed that sequence
also contains
.
Subtask 2 [70%]
No additional constraints.
Input Specification
The first line contains a single integer,
.
The second line contains
space-separated integers,
.
Output Specification
If there is no possible sequence
which would produce sequence
, output
on a single line.
Otherwise, output
, space-separated on a single line.
If there are multiple valid answers, you may output any of them.
Sample Input 1
Copy
3
2 2 3
Sample Output 1
Copy
2 1 1
Explanation for Sample Output 1
Starting with a sample of element
or element
, we can obtain elements
and
.
Starting with a sample of element
, we can obtain elements
,
and
.
Note that
is another valid possibility for sequence
, and would also be accepted.
Sample Input 2
Copy
3
2 2 2
Sample Output 2
Copy
-1
Explanation for Sample Output 2
It can be shown that no possible sequence
exists.
Comments