/*
解题分析:1.当盘子数目n大于苹果数目m时,必定有n-m个盘子空着
2.当盘子数目不大于苹果数目时,有两种情况:至少一个盘子空着,
没有盘子空着
*/
#include<iostream>
using namespace std;
int fac(int m,int n)
{
if(n>m)
return fac(m,m);
if(m==0) //没苹果,一种情况
return 1;
if(n==1) //就一个盘子,一种情况
return 1;
return fac(m,n-1)+fac(m-n,n); //两种情况 至少一个盘子空着,没有盘子空着
}
int main()
{
int m,n;
cin>>m>>n;
cout<<fac(m,n)<<endl;
return 0;
}