소수제합

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

요약
150 이하의 소수로 길이 N인 수열을 만들어 제곱의 합이 모든 원소로 나누어떨어지면서 원소가 전부 같지는 않게 하거나, 불가능하면 -1을 출력한다.
난이도

보통10점 중 6점

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

문제

다음 조건을 만족하는 길이 NN의 수열 P_1,P_2,⋯ ,P_NP\_{1}, P\_{2}, \cdots, P\_{N}을 구해보자.

  • 각 원소 P_iP\_i는 150150 이하의 소수이다. (1≤i≤N)(1\leq i \leq N)
  • 수열의 각 원소의 제곱을 모두 더한 값, 즉 P_12+P_22+⋯+P_N2{P\_{1}}^{2} + {P\_{2}}^{2} + \cdots + {P\_{N}}^{2}이 수열에 포함된 모든 원소 P_iP\_i로 나누어떨어져야 한다.
  • 수열 안의 원소가 모두 같아서는 안 된다. 다시 말해 P_1=P_2=⋯=P_N{P\_{1}} = {P\_{2}} = \cdots = {P\_{N}}이어서는 안 된다.

입력

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

출력

만약 조건을 만족하는 수열이 있다면 첫 번째 줄에 수열 P_1,P_2,⋯ ,P_NP\_1, P\_2, \cdots, P\_{N}을 공백으로 구분하여 출력한다. 가능한 수열이 여러 개라면 그중 아무것이나 출력한다.

만약 조건을 만족하는 수열이 없다면 첫 번째 줄에 -1을 출력한다.

제한

  • 2≤N≤2,000,0002 \leq N \leq 2\\,000\\,000

예제2

  1. 예제 1

    입력
    5
    
    예상 출력
    11 3 11 3 13
    
  2. 예제 2

    입력
    2
    
    예상 출력
    -1