숙제 베끼기
시간 제한1초메모리 제한512 MB
1부터 N까지의 순열 A가 주어질 때, A와의 절댓값 차이 합이 N 이상이 되는 순열 B를 아무거나 출력한다.
문제
Danang과 Darto는 같은 반 친구다. 두 사람은 1부터 N까지의 정수로 이루어진 순열을 만드는 숙제를 받았다. Danang은 숙제를 끝내고 N개의 정수로 이루어진 순열 A를 만들었다. Darto는 Danang의 숙제를 베끼고 싶어 하지만, Danang은 Darto에게 티가 나지 않게 조금 바꿔 오라고 한다.
N개의 정수로 이루어진 두 순열 A와 B의 차이 diff(A, B)는 모든 i에 대한 Ai와 Bi의 차의 절댓값의 합이다. 즉, diff(A, B) = Σ|Ai − Bi| (1 ≤ i ≤ N)이다. Darto는 A와의 차이가 최대가 되는 N개의 정수 순열을 만들고 싶어 한다. 형식적으로, 모든 N개의 정수 순열 B'에 대해 diff(A, Bmax) ≥ diff(A, B')를 만족하는 순열 Bmax를 찾으려 한다.
Darto에게 도움이 필요하다! 숙제를 내주신 선생님은 관대하셔서, N개의 정수 순열 B는 A와의 차이가 N 이상이면 A와 다른 것으로 본다. 따라서 diff(A, B) ≥ N인 N개의 정수 순열 B는 무엇이든 출력해도 된다.
물론 원한다면 Bmax를 출력해도 된다. 임의의 순열 A와 N > 1에 대해 diff(A, Bmax) ≥ N임이 증명될 수 있기 때문이다. 이는 임의의 N개 정수 순열 A에 대해 해가 항상 존재한다는 것도 보여준다. 조건을 만족하는 답이 여러 개라면 그중 아무거나 출력해도 된다.
입력
첫 줄에 Danang의 순열의 크기를 나타내는 정수 N (2 ≤ N ≤ 100 000)이 주어진다. 다음 줄에 Danang의 순열을 나타내는 N개의 정수 Ai (1 ≤ Ai ≤ N)가 주어진다. A의 모든 원소는 서로 다름이 보장된다.
출력
diff(A, B) ≥ N인 N개의 정수 순열 B를 나타내는 N개의 정수를 한 줄에 하나의 공백으로 구분하여 출력한다. 상기하자면, 순열의 모든 원소는 1부터 N 사이이고 서로 달라야 한다.