만드는 중입니다

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

소수의 합

면접 대비

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

요약
정수 N이 주어지면 연속된 소수들의 합이 정확히 N이 되는 구간을 찾고, 없으면 NIE를 출력합니다.
난이도

보통10점 중 5점

유형
투 포인터, 슬라이딩 윈도우, 수학
정답자
아직 제출이 없습니다

문제 정의

자연수 nn이 서로 다른 약수를 정확히 11과 nn, 두 개만 가지면 nn을 소수라고 한다. 예를 들어 66은 22로 나누어떨어지므로 소수가 아니다. 11은 약수가 11뿐이므로 소수가 아니다. 22와 77은 소수다.

문제

바이타자르는 소수를 아주 좋아한다. 그는 연속된 소수를 종이에 적었다: 2,3,5,7,11,13,17,19,23,29,31,…2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, \ldots 그는 이 수열의 연속된 구간을 골라 합이 가장 좋아하는 수 NN이 되게 하려고 한다. 주어진 NN에 대해 소수 수열에서 합이 정확히 NN이 되는 연속 구간을 하나 찾는 프로그램을 작성하라.

입력

첫 번째이자 유일한 줄에 바이타자르가 원하는 합인 자연수 NN (1≤N≤10111 \le N \le 10^{11})이 주어진다.

출력

첫 번째이자 유일한 줄에 두 소수 LL과 RR (1≤L≤R≤N1 \le L \le R \le N)을 출력한다. 닫힌 구간 [L,R][L, R]에 있는 소수의 합이 정확히 NN이어야 한다. 해가 여러 개이면 그중 아무거나 출력해도 된다. 해가 없으면 NIE라는 단어 하나만 출력한다.

예제1

  1. 예제 1

    입력
    15
    
    예상 출력
    3 7