#include <bits/stdc++.h> //#include <iostream> using namespace std; int n,k,ans=0; void dfs(int pre,int x,int co){ if(co>=k){ if(x==n) ans++; return ; } for(int i=pre;i<=n;i++){ //每次从上一个取到的值开始遍历,防止相同方案重复计算 if(i+x>n){ break; }else{ x=x+i; co++; dfs(i,x,co);//将当前取到的值传入pre x=x-i; co--; } } return ; } int main(){ cin>>n>>k; dfs(1,0,0); cout<<ans; return 0; }