Một số nguyên dương có thể viết thành tổng của các số nguyên tố đôi một khác nhau. Với hai số nguyên dương \(n\) và \(k\), hãy đếm số tập gồm đúng \(k\) số nguyên tố phân biệt có tổng bằng \(n\). Hai cách viết chỉ khác nhau về thứ tự các số hạng được tính là một cách.
Chẳng hạn với \(n = 15\) và \(k = 2\) có đúng một tập \(\{2, 13\}\); với \(n = 12\) và \(k = 3\) chỉ có \(\{2, 3, 7\}\); còn với \(n = 1\), \(k = 1\) đáp án là \(0\) vì \(1\) không phải số nguyên tố.
Input
Gồm nhiều dòng, mỗi dòng là một câu hỏi chứa hai số nguyên dương \(n\) và \(k\) cách nhau bởi dấu cách. Dữ liệu kết thúc bằng một dòng 0 0 (không phải câu hỏi). Số câu hỏi không vượt quá \(10^5\).
Output
Với mỗi câu hỏi in ra một dòng chứa một số nguyên không âm: số tập thoả mãn.
Constraints
- \(1 \le n \le 1120\)
- \(1 \le k \le 14\)
Đáp án luôn nhỏ hơn \(2^{31}\).
Sample Input
10 2
10 3
12 3
2 2
13 1
30 4
500 6
1120 13
0 0
Sample Output
1
1
1
0
1
0
76495
1581918613
Explanation
\(10 = 3 + 7 = 5 + 5\) nhưng \(5+5\) lặp số nên chỉ có tập \(\{3,7\}\) (đáp án \(1\)). \(12 = 2+3+7\) là cách duy nhất ba số phân biệt. \(13\) là số nguyên tố nên \(k=1\) cho đáp án \(1\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.