렬정! 렬정! 렬정!
시간 제한1초메모리 제한1024 MB
배열이 주어질 때, 한 원소에서 다른 원소로 양의 값을 옮기는 연산을 floor(N/2)번 이하로 사용해 배열을 내림차순으로 만들고, 각 단계의 배열을 출력하거나 불가능하면 -1을 출력한다.
문제

원소의 순서만 바꾸던 기존 정렬 알고리즘을 공부하던 민석이는 모든 게 부질없음을 깨닫고 원소의 값을 바꿔서 정렬해 버리기로 했다.
길이 의 배열 가 주어진다. 아래의 연산을 번 이상 번 이하로 사용하여 배열 의 모든 원소가 내림차순이 되도록 만들어 보자. 여기서 내림차순이란, 이상 이하의 모든 정수 에 대하여 을 만족하는 상태를 말한다.
- 를 만족하는 서로 다른 두 정수 와 에 대하여 를 만족하는 정수 를 선택하여 에 를 더하고, 에 를 뺀다.
입력
첫 번째 줄에 배열 의 길이를 나타내는 정수 이 주어진다. ()
두 번째 줄에 의 원소 개가 공백으로 구분되어 주어진다. 의 모든 원소는 이상 이하의 정수이다.
출력
첫 번째 줄에 연산을 사용한 횟수 를 출력한다. 가 최솟값일 필요가 없음에 유의하자.
이후 개의 줄에 걸쳐 각 연산이 완료된 배열 의 각 원소를 한 칸의 공백으로 구분하여 출력한다.
가능한 답이 여러 가지라면 그중 아무거나 출력한다.
만약 연산을 번 이상 번 이하로 사용하여 배열 를 내림차순으로 만들 수 없다면, 첫 번째 줄에 -1을 출력한다.
힌트
는 를 초과하지 않는 가장 큰 정수를 말한다. 예를 들어 이고, 이다.