#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000 using namespace std; typedef long long ll; int N, D, K; vector > ans; bool isVisit[110][1010][12]; void dfs(int n, int d, int k, vector& s) { if (isVisit[n][d][k]) return; isVisit[n][d][k] = true; if (k == 0) { if (d == 0) ans.push_back(s); return; } for (int i = n; i <= min(d, N); i++) { s.push_back(i); dfs(i+1, d-i, k-1, s); s.pop_back(); } } int main(void) { cin >> N >> D >> K; vector tmp; dfs(1, D, K, tmp); if (ans.empty()) cout << -1 << endl; else { for (int i = 0; i < ans[0].size(); i++) { cout << ans[0][i]; if (i != ans[0].size()-1) cout << " "; } cout << endl; } return 0; }