#include <iostream>
#include <vector>

int main()
{
    std::ios::sync_with_stdio(false);
    int N, K, X;
    std::cin >> N >> K >> X;
    if(K==3)
    {
        if(N<3) std::cout << "-1";
        else if(N==3) std::cout << "1 " << X+1 << " " << 2*X+1;
        else
        {
            std::cout << "1 " << X+1 << " " << X+1 << " " << X+1;
            for(int i=4; i<N; i++) std::cout << " " << X;
        }
    }
    else if(N==K)
    {
        if(K<3) std::cout << "-1";
        else
        {
            std::cout << "1 " << X+1;
            for(int i=N-3; i>0; i--) std::cout << " " << X+2;
            std::cout << " " << 2*X+1;
        }
    }
    else if(K==(N-1)*N/2)
    {
        int br=1;
        for(int i=0; i<N; i++, br+=X) std::cout << br << " ";
    }
    else
    {
        std::vector<int> niz(N, 1);
        int br=N-1, num=X+1, p=0, u=0;
        if(K<br)
        {
            niz[N+u-K-1]=num;
            br=(X+2)/2;
            for(int i=N+u-K-2; i>=0; i--) niz[i]=br;
        }
        else
        {
            while(u+br<=K)
            {
                u+=br;
                br--;
                niz[p]=num;
                num+=X;
                p++;
            }
            if(u<K) niz[N+u-K-1]=num;
        }
        for(int i=0; i<N; i++) std::cout << niz[i] << " ";
    }
    return 0;
}