소수란 약수가 과 자기 자신 밖에 없는 이상의 자연수를 말한다. 예를 들어, , , , 과 같은 수들은 소수이고, , , , 와 같은 수 들은 소수가 아니다.
이상의 자연수 이 주어졌을 때, 을 한 개 이상의 소수들의 합으로 나타내는 방법의 수를 구하여라. 여기서 덧셈의 순서만 다른 경우는 모두 한 가지로 센다.
예를 들면, 이므로 일 때의 답은 이다. 여기서, 은 소수이므로 "" 자체도 을 소수의 합으로 표현하는 올바른 방법이다. ""와 "" 같은 경우에는 덧셈의 순서만 다른 경우이므로 한 가지로 센다.
입력 형식
첫째 줄에 정수 이 주어진다. ()
출력 형식
을 한 개 이상의 소수들의 합으로 나타나는 방법의 수를 첫째 줄에 출력하여라. 단, 답이 매우 클 수 있으므로 ()로 나눈 나머지를 출력한다.
예제
입력
7
출력
3
채점 방식
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 13점
종류 2: 31점
종류 3: 56점
별다른 제약조건 없음.
해설
소수들을 전부 에라토스테네스의 체를 사용하여 구할 수 있다. 그 후, 동적 계획법을 사용하여, 이하의 수만 사용하여 합이 이 되도록 하는 배열을 계산해서 문제를 해결할 수 있다.