https://www.luogu.org/problemnew/show/P1025
dfs:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <queue>
#include <deque>
#include <stack>
#define INF 0x3f3f3f3
using namespace std;
typedef long long LL;
int N,k,ans;
void dfs(int last,int sum,int cnt)
{
if(cnt==k)
{
if(sum==N)ans++;
return ;
}
for(int i=last;sum+(k-cnt)*i<=N;i++)
dfs(i,sum+i,cnt+1);
}
int main()
{
scanf("%d%d",&N,&k);
dfs(1,0,0);
printf("%d\n",ans);
return 0;
}