#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 vector get(long long N,long long M){ vector ret(N); rep(i,N)ret[i] = i; long long nxt = N-1; rep(i,N){ if(M==0)break; if(nxt<=M){ ret.insert(ret.begin()+i,ret.back()); ret.pop_back(); M -= nxt; nxt--; } else{ ret.insert(ret.begin()+N- 1 - M,ret.back()); ret.pop_back(); M = 0; } } return ret; } int main(){ long long N,M,K; cin>>N>>M>>K; vector num(N); rep(i,N){ num[i] = i; M -= i; } num.back() += M; vector ret = get(N,K); rep(i,ret.size()){ ret[i] = num[ret[i]]; } rep(i,N){ printf("%lld\n",ret[i]); } return 0; }