#include using namespace std; using ll = long long int; using ld = long double; const ll MAX = 5000000000000000000; const ld PI = 3.14159265358979; const ll MOD = 0;//2024948111; ld dotorad(ld K){return PI * K / 180.0;} ld radtodo(ld K){return K * 180.0 / PI;} mt19937 mt; void randinit(){srand((unsigned)time(NULL));mt = mt19937(rand());} int main(){ ll N,M,K; cin >> N >> M >> K; ll m = M - ((N - 1) * (N - 2)) / 2; vector ans(N); ll p = 0,i; for(i = 1;i <= N - 1;i++){ if(p + i > K){ i--; break; } p += i; } if(i == N){ cout << m << endl; for(ll i = N - 2;i >= 0;i--) cout << i << endl; return 0; } ll q = i + 1,j = 0; for(j = 0;j <= i;j++){ if(q == i + 1 - (K - p)) q--; ans[j] = q; q--; } ans[i + 1] = i + 1 - (K - p); for(j = i + 2;j < N;j++){ ans[j] = j; } for(ll i = 0;i < N;i++){ if(ans[i] != N - 1) cout << ans[i] << endl; else cout << m << endl; } }