#include using namespace std; #define rep(i,n) for(int i = 0; i < (n);i++) #define sz(x) int(x.size()) typedef long long ll; typedef pair P; int dp[110][1010][12]; int main(){ int n, d, K; cin >> n >> d >> K; rep(i,n+1) dp[i][0][0] = 1; rep(i,n+1) { rep(j,d+1) { rep(k,K+1) { if (dp[i][j][k]) { dp[i+1][j+i+1][k+1] = 1; dp[i+1][j][k] = 1; } } } } if (!dp[n][d][K]) { cout << -1 << endl; return 0; } vector res; int s = n, cnt = K, sum = d; while (sum) { for (int i = s; i > 0; i--) { if (sum >= i) { if (dp[i-1][sum-i][cnt-1]) { s = i-1; cnt--; sum -= i; res.push_back(i); break; } } } } reverse(res.begin(), res.end()); for (auto e : res) cout << e << " "; cout << endl; return 0; }