//Sun Jan 12 20:14:41 2014 //Author:Minshik #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long n,k; int dp[300][10]; int dfs(int m,int k,int deep) { if(m-deep<=0 || k>m)return 0; int &d = dp[m][k]; if(d)return d; if(k==1)return d=1; for(int l = deep;l>n>>k; for(int l=1;l=j) // dp[i][j] = dp[i-j][j] +dp[i-1][j-1]; // } // } // cout<