#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int N, D, K; void dfs(vector &v, int cur) { if (v.size() == K) { if (accumulate(v.begin(), v.end(), 0) == D) { for (int i = 0; i < v.size(); i++) { if (i > 0) cout << " "; cout << v[i]; } cout << endl; exit(0); } return; } for (int n = cur; n <= N; n++) { v.push_back(n); dfs(v, n + 1); v.pop_back(); } } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); // int N, D, K; cin >> N >> D >> K; vector v; dfs(v, 1); cout << -1 << endl; return 0; }