#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 display(vector &vec) { for (int i = 0; i < vec.size(); i++) { if (i > 0) { cout << " "; } cout << vec[i]; } cout << endl; } void dfs(vector &vec, int sum, int num, int cur) { if (num == K) { if (sum == D) { display(vec); exit(0); } return; } if (sum >= D) { return; } if (cur > N) { return; } vec.push_back(cur); dfs(vec, sum + cur, num + 1, cur + 1); vec.pop_back(); dfs(vec, sum, num, cur + 1); } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); // int N, D, K; cin >> N >> D >> K; vector v; dfs(v, 0, 0, 1); cout << -1 << endl; return 0; }