다음 순열

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

1부터 NN까지의 수로 이루어진 순열이 하나 주어진다. 이 순열의 사전순 바로 다음 순열을 구하는 프로그램을 작성하시오.

사전순으로 가장 앞서는 순열은 오름차순 순열이고, 가장 뒤에 오는 순열은 내림차순 순열이다.

N=3N = 3일 때 순열을 사전순으로 나열하면 다음과 같다.

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

입력

첫째 줄에 NN이 주어진다. (1N100001 \le N \le 10000)

둘째 줄에 1부터 NN까지의 수로 이루어진 순열이 공백으로 구분되어 주어진다.

출력

첫째 줄에 입력으로 주어진 순열의 사전순 다음 순열을 공백으로 구분해 출력한다. 주어진 순열이 사전순으로 마지막 순열이면 -1을 출력한다.