//分为盘子放慢和有盘子剩下
#include<bits/stdc++.h>
using namespace std;
int fun(int m,int n)
{
if(m<0||n<0)
return 0;
else if(m==1||n==1)
return 1;
else{
return fun(m,n-1)+fun(m-n,n);
}
}
int main()
{
int m,n;
cin>>m>>n;
cout<<fun(m,n);
}
//分为盘子放慢和有盘子剩下
#include<bits/stdc++.h>
using namespace std;
int fun(int m,int n)
{
if(m<0||n<0)
return 0;
else if(m==1||n==1)
return 1;
else{
return fun(m,n-1)+fun(m-n,n);
}
}
int main()
{
int m,n;
cin>>m>>n;
cout<<fun(m,n);
}