#include <bits/stdc++.h>
using namespace std;

vector <int> vec;
int niz[1005];

int main(){
    ios_base::sync_with_stdio(false);

    int n, k, x;
    cin >> n >> k >> x;
    int t = 1;
    while(1){
        if(t*(t+1)/2 <= k && (t+1)*(t+2)/2 > k) break;
        t++;
    }
    int rz = (t+1)*(t+2)/2 - k;
    for(int i=1; i<=t+1; i++){
        if(rz != i) vec.push_back(i);
    }
    int r = vec.size();
    if(n-r > x){
        cout << -1;
        return 0;
    }
    for(int i=1; i<=n-r; i++) niz[i] = i;
    for(int i=n-r+1; i<=n; i++){
        niz[i] = niz[vec[i-(n-r+1)]] + x;
    }
    if(niz[n] >= 1000000){
        cout << -1;
        return 0;
    }
    for(int i=1; i<=n; i++) cout << niz[i] << " ";
    return 0;
}