가환 함수
시간 제한3초메모리 제한256 MB
주어진 순열 f에 대해 f와 교환 가능한 함수 g 중 사전순으로 가장 작은 값 리스트를 찾는 문제입니다.
문제
두 함수 와 ()가 가환이라는 것은 모든 에 대해 가 성립한다는 뜻이다. 예를 들어 과 는 가환이지만, 과 는 가환이 아니다.
모든 함수 (, 여기서 이고 은 양의 정수)는 값 목록으로 나타낼 수 있다. 값 목록이란 번째 원소가 와 같은 목록이다. 예를 들어 에서 로 가는 함수 의 값 목록은 이다.
값 목록은 사전순으로 비교한다. 목록 이 목록 보다 작다는 것은, 어떤 인덱스 가 존재하여 이고 모든 인덱스 에 대해 인 경우를 말한다.
함수 ()가 전단사라는 것은 모든 에 대해 를 만족하는 가 정확히 하나 존재한다는 뜻이다.
전단사 함수 ()가 주어질 때, 와 가환이면서 값 목록이 사전순으로 가장 작은 함수 를 구하여라.
입력
첫째 줄에 전단사 함수 의 값 목록에 들어 있는 원소의 개수를 나타내는 정수 이 주어진다 ().
둘째 줄에 의 값 목록이 주어진다. 이는 의 순열을 이루는 개의 정수이다.
출력
와 가환이면서 값 목록이 사전순으로 가장 작은 함수 의 값 목록을, 개의 정수로 한 줄에 출력한다.