#include #define rep(i,a,b) for (int i = a; i < b; i++) #define rrep(i,a,b) for (int i = a - 1; i >= b; i--) #define rng(a) a.begin(), a.end() #define rrng(a) a.rbegin(), a.rend() #define eb emplace_back #define pb push_back #define fi first #define se second #define pvec(a) for (int i = 0; i < a.size(); i++) cout << a[i] << " "; cout << '\n' #define dbwt(a) cout << fixed << setprecision(15) << a << '\n' using namespace std; using ll = long long; void wt() {cout << endl;} templatebool chmin(T& a, U b) {if (a > b) {a = b; return 1;} return 0;} templatebool chmax(T& a, U b) {if (a < b) {a = b; return 1;} return 0;} templatelong long llceil(T a, U b) {return (long long)(a + b - 1) / b;} templatevoid wt(H&& h, T&&... t){cout<(t)...);} //-------------------------------------------------------------------------------------// int main() { ll N, K, M; cin >> N >> M >> K; deque dq; dq.pb(0); rep (i, 1, N) { if (K >= i) { dq.push_front(i); K -= i; } else if (K == 0) { dq.pb(i); } else { dq.insert(dq.end()-K, i); K = 0; } } rep (i, 0, N) { if (dq[i] != N - 1) cout << dq[i] << endl; else cout << dq[i] + M - (N-1)*N/2 << endl; } return 0; }