#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; //define #define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl; #define dump(x) cerr << #x << " = " << (x) << endl; #define INF (INT_MAX/2) #define PI (2*acos(0.0)) #define EPS (1e-8) #define REP(i,a,b) for(int i=(a); i<(b);++i) #define rep(i,n) REP(i,0,n) typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef pair pll; typedef vector vint; typedef vector > vvint; typedef vector vll; typedef vector > vvll; int dx[8] = {0, 1, 0, -1, 1, -1, 1, -1}; int dy[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int N, D, K; int dp[1001][11]; void printResult(){ vector l; int o = D; for(int i = K; i >= 1; i--){ l.push_back(dp[o][i]); o -= dp[o][i]; } sort(l.begin(), l.end()); for(size_t i = 0; i < l.size(); i++){ if(i) cout << " "; cout << l[i]; } cout << endl; } void solve(){ for(int i = 2; i <= D; i++){ for(int j = 2; j <= K; j++){ dp[i][j] = dp[i-(j-1)][j-1]; } } printResult(); } int main(void){ ios_base::sync_with_stdio(0); cin >> N >> D >> K; for(int i = 1; i <= D; i++) dp[i][1] = i; solve(); return 0; }