#include <iostream>
#include <queue>
using namespace std;
int cnt;
int n,k;
void DFS2(int si,int sum,int step)
{
if(stepk) //基线
{
if(sumn)
cnt++;
else
return;
}
else
{
for(int j=si;j<=(n-sum+1)/(k-step);j++) //优化循环,不然超时
{
if(sum+j<=n&&si<=j)
{
DFS2(j,sum+j,step+1);
}
}
}
return;
}
int main()
{
cin >>n >>k;
DFS2(1,0,0); //第一个数从一开始搜索
cout <<cnt;
return 0;
}