def count(pingguo, panzi):
    if pingguo == 0 or panzi == 1 or pingguo == 1: #苹果没有或者只有一个,盘子只有一个,这三种情况只有一种放法
        return 1
    elif panzi > pingguo:  #盘子比苹果多,肯定有盘子没有苹果,所以对题上的情况,那就是多余的盘子就是没用的
        return count(pingguo, pingguo)
    else:  #另外的情况就是每个盘子都有苹果,多出来的苹果放在盘子中;至少有一个盘子没有,那就是所有的苹果放在panzi-1个盘子中
        return count(pingguo - panzi, panzi) + count(pingguo, panzi - 1)
    return


while True:
    try:
        apple, disk = map(int, input().split())  #使用map函数将split分开的字符串转换成int类型的
        print(count(apple, disk))
    except:
        break