Next permutation

No attempts yetTime limit1sMemory limit256 MB

Problem

You are given one permutation of the numbers from 1 to NN. Write a program that finds the permutation that comes right after it in lexicographic order.

The first permutation in lexicographic order is the ascending one, and the last one is the descending one.

For N=3N = 3, the permutations in lexicographic order are:

  • 1, 2, 3
  • 1, 3, 2
  • 2, 1, 3
  • 2, 3, 1
  • 3, 1, 2
  • 3, 2, 1

Input

The first line contains NN. (1N100001 \le N \le 10000)

The second line contains a permutation of the numbers from 1 to NN, separated by spaces.

Output

On the first line, print the permutation that comes right after the given one in lexicographic order, separated by spaces. If the given permutation is the last one in lexicographic order, print -1.