#include <bits/stdc++.h>
using namespace std;
#define N 10
int fillin[N];
int sum,m,sum1;
void dfs(int s,int x,int all)
{
if(all>m) return;//大于m : pass
if(m-all>sum-s) return;//还没填的比已经填的的和与总数的差小的pass
if(s==sum&&all==m)//相等+1
{
sum1++;
return;
}
for(int i=fillin[x-1];i<=sum-s;i++)//填数字,要保证该序列为不下降的序列
{
fillin[x]=i;
dfs(s+i,x+1,all+1);
}
}
int main()
{
std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>sum>>m;
fillin[0]=1;
dfs(0,1,0);
cout<<sum1;
return 0;
}