다음 3-1-2 패턴 회피 순열

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

문제

순열의 패턴 회피는 조합론과 컴퓨터과학에서 오래 연구된 주제다. 자연수 1,,n1, \dots, n의 순열 p1,p2,,pnp_1, p_2, \dots, p_n3-1-2 패턴을 회피한다는 것은 pi>pjp_i > p_j, pi>pkp_i > p_k, pj<pkp_j < p_k를 동시에 만족하는 첨자 1i<j<kn1 \le i < j < k \le n이 없다는 뜻이다.

3-1-2 패턴을 회피하는 1,,n1, \dots, n의 순열을 모두 사전순으로 나열하자. 이 목록에서 주어진 순열 바로 다음에 오는 순열을 구하라. 감소 수열 n,n1,,1n, n-1, \dots, 1이 목록의 마지막 항목이고 입력은 이 순열이 아니므로 답은 항상 존재한다.

입력

첫째 줄에 정수 nn (3n100003 \le n \le 10000)이 주어진다. 둘째 줄에 1,,n1, \dots, n의 순열이 공백 하나로 구분된 nn개의 정수로 주어진다. 이 순열은 3-1-2 패턴을 회피하며, 감소 수열 n,n1,,1n, n-1, \dots, 1은 아니다.

출력

첫째 줄에 3-1-2 패턴을 회피하는 순열 중 입력 순열의 사전순 바로 다음 순열을 출력한다. 수는 공백 하나로 구분한다.