#include #include #include #include #include #include #include #include #include #include #include using ll = long long; using namespace std; int main(){ int n, d, k, tn, tk, diff, sum1; cin >> n >> d >> k; tn = n; tk = k; sum1 = (1+k)*k/2; diff = d - sum1; vector v(n+1); for (int i = 1; i <= k; i++) v[i]++; if (diff < 0){ cout << -1 << endl; return 0; } else { while (diff){ if (diff >= (tn - tk)){ diff -= (tn - tk); sum1 += (tn - tk); v[tk]--; v[tn]++; tk--; tn--; } else { sum1 += diff; v[tk]--; v[diff+tk]++; break; } } } if (v[0] < 0) cout << -1 << endl; else { string delim = ""; for (int i = 1; i <= n; i++){ if (v[i]){ cout << delim << i; delim = " "; } } cout << endl; } }