아름다운 수열

시간 제한1초메모리 제한1024 MB

요약
각 N에 대해, 소수 거리에 있는 두 위치의 값 차이도 소수가 되도록 1부터 N까지의 순열을 만들거나, 불가능하면 NO를 출력한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 조합론, 그리디
정답자
아직 제출이 없습니다

문제

이 대회의 운영진 중 한 명인 KSA 학생은 슬슬 소수가 좋아져서 아래 조건들을 모두 만족하는 수열을 길이가 NN인 아름다운 수열이라고 하기로 했다.

  • 수열은 길이가 NN인 순열이다. 즉, 11 이상 NN 이하의 정수들이 정확히 한 번씩 등장한다.
  • 거리가 소수인 두 다른 원소 사이의 차는 소수여야 한다. ii번째 원소와 jj번째 원소 사이의 거리는 ∣j−i∣|j-i|이다.

입력

입력은 하나 이상의 테스트 케이스로 이루어져 있다. 첫 번째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 아래와 같이 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있고, 정수 NN이 주어진다.

출력

각 테스트 케이스에 대해, 길이가 NN인 아름다운 수열이 존재한다면 첫 번째 줄에 YES를 출력하고 두 번째 줄에 그 원소들을 공백으로 구분하여 출력한다. 길이가 NN인 아름다운 수열이 존재하지 않는다면 대신 NO를 출력한다.

정답이 여러 개 존재한다면 그중 아무거나 출력해도 상관없다.

제한

  • 1≤T≤1001\leq T \leq 100
  • 3≤N≤3003\leq N \leq 300

예제1

  1. 예제 1

    입력
    2
    5
    7
    
    예상 출력
    YES
    2 1 5 4 3
    YES
    6 2 3 4 5 1 7