cin >> n >> k >> s; if (n == 1) returncout << s << "\n", 0; ll sum; bool ok = 0; for (int i = 0; i <= k; ++i) { ll v = max(0ll, n - min(n, k - i + 1)) / (k + 1); ll r = (n - min(n, k - i + 1) - v * (k + 1)) % (k + 1); sum = (v * k * (k + 1) + r * (r - 1) + (min(i + n - 1, k) + i) * (min(i + n - 1, k) - i + 1)) / 2; if (s >= sum && s % (k + 1) == sum % (k + 1)) { a[1] = i; ok = 1; break; } } if (!ok) returncout << "-1\n", 0; cnt[a[1]].push_back(1); for (int i = 2; i <= n; ++i) a[i] = (a[i - 1] + 1) % (k + 1), cnt[a[i]].push_back(i); ll p = (s - sum) / (k + 1), v = p / n, r = p % n; sum = 0; for (int i = 1; i <= n; ++i) a[i] += v * (k + 1); for (int i = 0; i <= k && sum < r; ++i) for (auto u : cnt[i]) { a[u] += k + 1; if (++sum == r) break; } for (int i = 1; i <= n; ++i) cout << a[i] << " \n"[i == n]; return0; }