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

```
3
2 2 3
```

#### Sample Output 1

`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

```
3
2 2 2
```

#### Sample Output 2

`-1`

#### Explanation for Sample Output 2

It can be shown that no possible sequence exists.

## Comments