import sys
m,n = map(int,sys.stdin.readline().split())
sys.setrecursionlimit(10**5)  # 写一个递归边界防止爆栈
# 在写完之前就先假设这个函数能够实现计算m个苹果放到n个篮子里的功能

def apple(m,n):
    if m == 0 or n == 1 :
        return 1
    if m >= n:
        # 两种情况之和:至少一个空盘,盘-1;放满:n个盘消耗掉n个苹果
        return apple(m,n-1) + apple(m-n,n)
        # 如果盘子比苹果多,最多也只能铺满m个盘子,多出来的盘子没用,边界改成m
    else:
        return apple(m,m)
print(apple(m,n))