#include bool judge(int l, int r, int k, int d) { if (r - l + 1 < k) return false; int low = 0, high = 0; for (int i = 0; i < k; ++i) { low += l + i; high += r - i; } return low <= d && d <= high; } void solve() { int n, d, k; std::cin >> n >> d >> k; if (!judge(1, n, k, d)) { std::cout << -1 << std::endl; return; } for (int i = 1; i <= n; ++i) { if (judge(i + 1, n, k - 1, d - i)) { std::cout << i << " "; --k; d -= i; } } std::cout << std::endl; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }