# 设有m个苹果,n个盘子
# 1.n>m,必定有n-m个盘子空着,空着不影响。所以(m,n)问题依旧可以是(m,m)
# 2.n<=m,
# (1)至少一个盘子空着,(m,n)问题转为(m,n-1)
# (2)每个盘子都有苹果,假设至少有一个苹果,最多剩下m-n个苹果,(m,n)问题转为(m-n,n)
# 3.如果只有一个苹果或者只有一个盘子,返回1,
# 4.如果没有苹果或者没有盘子,返回1
def f(m,n):
if m==0 or n==0 or m==1 or n==1:
return 1
elif n>m:
return f(m,m)
elif n<=m:
return f(m,n-1)+f(m-n,n)
m,n=map(int,input().split())
print(f(m,n))

京公网安备 11010502036488号