만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

선형대수학: 개념과 방법

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

요약
N이 주어질 때, 모든 연속 부분수열에서 최댓값과 최솟값의 차이가 소수가 아닌 1부터 N까지의 순열을 찾거나, 없으면 NO를 출력합니다.
난이도

보통10점 중 7점

유형
수학, 정수론, 구현
정답자
아직 제출이 없습니다

문제

선형대수학 공부에 질려버린 KSA 학생들은 다음 문제를 떠올렸다.

정수 NN이 주어졌을 때, 다음 조건을 만족하는 수열이 존재하는지 판별하고, 존재한다면 그중 아무거나 하나 찾아보자.

  • 수열은 길이가 NN인 순열이다. 즉, 11 이상 NN 이하의 정수가 정확히 한 번씩 등장한다.
  • 수열의 모든 길이가 22 이상인 연속부분수열 SS에 대해 max⁡(S)−min⁡(S)\max(S) - \min(S)의 값은 소수가 아니다.

어떤 수열 BB의 앞에서부터 00개 이상의 원소를 지우고 뒤에서부터 00개 이상의 원소를 지워서 만든 수열 AA를 수열 BB의 연속부분수열이라고 부른다.

하지만 KSA 학생들은 소수를 구별하지 못하는 병에 걸려, 당신에게 이 문제를 해결해 달라고 요청했다.

입력

첫 번째 줄에 정수 NN이 주어진다.

출력

첫 번째 줄에 조건을 만족하는 수열이 존재하면 YES, 존재하지 않으면 NO를 출력한다.

조건을 만족하는 수열 AA가 존재한다면, 두 번째 줄에 NN개의 정수 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N을 공백으로 구분하여 출력한다.

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

제한

2≤N≤10002\leq N\leq 1000

예제2

  1. 예제 1

    입력
    5
    
    예상 출력
    NO
    
  2. 예제 2

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