// m 个苹果,n 个盘子
const dp = (m, n) => {
if(m == 0 || n == 1) return 1;
if(n > m) {
return dp(m, m)
} else {
return dp(m, n-1) + dp(m-n, n)
}
}
while(input = readline()) {
const [m, n] = input.split(" ");
console.log(dp(~~m, ~~n))
}
// m 个苹果,n 个盘子
const dp = (m, n) => {
if(m == 0 || n == 1) return 1;
if(n > m) {
return dp(m, m)
} else {
return dp(m, n-1) + dp(m-n, n)
}
}
while(input = readline()) {
const [m, n] = input.split(" ");
console.log(dp(~~m, ~~n))
}