Statement
음이 아닌 정수 가 주어진다.
길이가 인 수열 를 다음과 같이 정의한다.
서로 다른 두 인덱스 를 골라 와 를 모두 로 바꾸는 연산을 원하는 만큼 수행할 수 있다.
수열의 모든 원소를 같게 만드는 데 필요한 연산 횟수의 최솟값을 구하고, 이를 달성하는 연산 방법을 하나 출력하여라. 불가능하다면 을 출력하여라.
가능한 경우, 주어진 제약조건 하에서 최소 연산 횟수는 항상 회 이하임을 증명할 수 있다.
이 문제에는 부분 점수가 있다. 자세한 내용은 Scoring 섹션을 참고하라.
Input
입력은 다음과 같은 형식으로 주어진다.
Output
불가능한 경우 한 줄에 을 출력한다.
가능한 경우, 첫째 줄에 최소 연산 횟수 를 출력한다. 이어지는 개의 줄의 번째 줄에 번째 연산에서 고를 두 인덱스 를 다음과 같이 출력한다.
Constraints
- .
- .
Subtasks
Scoring
각 테스트케이스의 점수는 해당 테스트케이스가 속한 서브태스크 배점에 대한 비율로 다음과 같이 계산된다.
모든 원소를 같게 만드는 것이 불가능한 경우:
- 을 출력하면 .
- 그렇지 않으면 .
모든 원소를 같게 만드는 것이 가능한 경우:
- 을 출력하면 .
- 음이 아닌 정수를 출력하여 가능하다고 올바르게 판별했지만, 그 값이 최소 연산 횟수가 아니면 .