한 집단에 번부터 번까지 번호가 매겨진 명의 사람이 있습니다. 처음에 번 사람은 정확히 개의 동전을 가집니다.
여러분은 다음과 같이 혁명을 일으킬 수 있습니다.
세 번째 단계의 지시대로 동전의 개수가 남아있는 사람 수로 나누어떨어지지 않는다면 혁명을 일으킬 수 없습니다.
혁명을 번 연속으로 일으켜 마지막에는 한 사람만 남아있도록 할 수 있나요? 가능하다면, 각 단계에 선택할 사람의 수열을 출력하세요.
첫 번째 줄에는 테스트 케이스의 개수 가 주어집니다 ().
그다음 줄부터 개의 테스트 케이스가 각각 한 줄씩 주어집니다.
각 테스트 케이스의 첫 번째 줄에는 사람의 수 이 주어집니다 ().
각 테스트 케이스에 대해 다음과 같이 정답을 출력합니다.
혁명을 번 연속으로 일으킬 수 있다면 첫 번째 줄에 "YES"를 출력합니다. 그후 다음 줄에 개의 정수 을 공백으로 구분해 출력합니다. 이때 는 번째 혁명에서 제거된 사람의 번호입니다. 인 경우는 발생한 혁명이 없으므로 두 번째 줄은 공백으로 두어야 합니다.
이 문제에는 개의 입력 파일이 있으며, 각각 다음과 같이 생성되었습니다.
번째 테스트 케이스에서 동전의 개수는 로 시작됩니다. 그후 번의 혁명이 다음과 같이 진행됩니다.
혁명 |
혁명을 번 연속으로 일으킬 수 없다면 한 줄에 "NO"를 출력합니다.
정답이 될 수 있는 출력이 여러 개라면 그중 아무거나 출력합니다. 출력의 "YES"와 "NO"는 대소문자를 구분하지 않습니다.
이 문제의 점수는 점 만점입니다. 각 입력 파일은 정확히 점 만점이며, 각 테스트 케이스를 정확히 답할 때마다 점을 얻습니다.
선택한 번호
몰수한 동전 |
남은 사람들의 동전 수 |
번 | 개 | 번 개, 번 개, 번 개, 번 개 |
번 | 개 | 번 개, 번 개, 번 개 |
번 | 개 | 번 개, 번 개 |
번 | 개 | 번 개 |