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

int main()
{
    ios_base::sync_with_stdio(0);
    long long n, i, k, x, br = 0, indeks;
    cin >> n >> k >> x;
    long long niz[n];
    if(n == k)
    {
        if(n < 3)
        {
            cout << -1;
            return 0;
        }
        niz[0] = 1;
        niz[1] = x + 1;
        br = 2;
        for(long long a = 0; a < n-3; a++)
        {
            niz[br] = 3*x/2 + 1;
            br++;
        }
        niz[br] = 2*x + 1;
    }
    else if(n > k)
    {
        for(long long a = 0; a < k; a++)
        {
            niz[br] = 1;
            br++;
        }
        for(long long a = 0; a < n - k - 1; a++)
        {
            niz[br] = 2;
            br++;
        }
        niz[br] = x + 1;
    }
    else
    {
        long long maxk = 0;
        for(br = 0; br < n; br++)
            {
                niz[br] = br*x;
                maxk += n-br-1;
            }
        long long razlika = maxk - k, s = 0;
        for(long long a = 0; a < n; a++)
        {
            s += a;
            if(s + a + 1 >= razlika)
            {
                indeks = n - a - 1;
                maxk -= s;
                a = n;
            }
        }
        for(i = n - 1; i > indeks; i--) niz[i] = niz[indeks];
        razlika = maxk - k;
        for(i = 0; i < razlika; i++) niz[n - i - 1] = (niz[n - i - 1] + niz[indeks-1]) / 2;

        if(niz[n-1] > 1000000)
        {
            cout << -1;
            return 0;
        }
    }
    cout << niz[0];
    for(br = 1; br < n; br++)
    {
        cout << " " << niz[br];
    }
    return 0;
}