우아한 소수 분해
면접 대비시간 제한1초메모리 제한128 MB
K 이하 소수들로 N을 만들되 이웃한 소수가 서로 다르도록 순서 있게 더하는 경우의 수를 구합니다.
문제
양의 정수 을 소수들의 합으로 나타내려고 합니다. 를 이하의 소수 만 사용해 을 분해하는 경우의 수로 정의합니다. 즉, 을 다음과 같은 소수의 합으로 씁니다.
가장 작은 소수는 임에 유의하세요.
이 분해에는 한 가지 추가 규칙이 있습니다. 우아한(graceful) 규칙은 서로 이웃한 두 소수가 항상 달라야 한다는 것으로, 모든 에 대해 이어야 합니다. 이런 분해를 우아한 소수 분해(Graceful Prime Decomposition, GPD) 라고 부르며, 간단히 로 표기합니다.
순서는 구별합니다. 예를 들어 와 는 서로 다른 분해로 셉니다.
예를 들어 입니다.
그리고 입니다.
은 이웃한 가 서로 같으므로 올바른 GPD가 아닙니다. 마찬가지로 는 올바르지만 는 올바르지 않습니다. 주어진 정수 과 에 대해 를 구하세요.
입력
첫째 줄에 테스트 케이스의 개수 가 주어집니다. 각 테스트 케이스는 두 정수 과 가 주어지는 한 줄로 이루어지며, 입니다.
출력
각 테스트 케이스마다 의 값을 정수 하나로 한 줄에 출력합니다.