#include using namespace std; struct iofast_t { iofast_t() { ios::sync_with_stdio(false); cin.tie(nullptr); } } iofast; struct uns_t {} uns; template auto vec(Element init, Head arg, Args ...args) { if constexpr (sizeof...(Args) == 0) return std::vector(arg, init); else return std::vector(arg, vec(init, args...)); } template auto vec(uns_t, Head arg, Args ...args) { return vec(Element(), arg, args...); } template > T &chmin(T &l, T r, Compare &&f = less()) { return l = min(l, r, f); } template > T &chmax(T &l, T r, Compare &&f = less()) { return l = max(l, r, f); } int main() { int64_t n, m, k; cin >> n >> m >> k; auto a = [&] { auto a = vec(uns, n); auto r = m; for (int i = 0; i < n - 1; ++i) { a[i] = i; r -= i; } a[n - 1] = r; return a; }(); int shift = 0; int64_t r = k; for (int i = 0; i < n && n - i - 1 <= r; ++i) { r -= n - i - 1; ++shift; } auto b = vec(uns, n); for (int i = 0; i < shift; ++i) { b[i] = a[n - i - 1]; } for (int i = shift; i < n; ++i) { b[i] = a[i - shift]; } rotate(end(b) - (r + 1), end(b) - 1, end(b)); for (auto v : b) { cout << v << endl; } }