import java.util.Scanner;
/**
* HJ61 放苹果 - 简单
*/
public class HJ061 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(count(a, b));
}
sc.close();
}
/**
* m 苹果数
* n 盘子数
*/
private static int count(int m, int n) {
// 一个盘 或者 没有苹果 代表一种方案
if (n == 1 || m == 0) {
return 1;
} else if (n > m) {
// 盘子过多情况,多余的盘子不起任何作用,最大的有效盘子是 m 个
return count(m, m);
} else {
// 情况一: 只用 n - 1个盘子
// 情况二: 每个盘子里先放一个苹果,等价于 m - n个苹果放到 n 个盘子
return count(m, n - 1) + count(m - n, n);
}
}
}