#include<iostream>
using namespace std;
int n,k,x,y[1000];
bool ind=true;
void unos()
{
    cin>>n>>k>>x;
}
void niz(int &s,int a,int i,int &p)
{
    for(int j=1;j<=a;j++)
    {
        if (s>1)
        {
            s--;
            y[p]=i;
            //cout<<p<<' '<<y[p]<<endl;
            p++;
        }
    }
}
void ispis()
{
    int i=1,j,l,s=0,p=0,s1=0;
    s=n;
    for(j=1;s1<k;j++)
            s1+=n-j;
    if (s1==k)
        s-=(j-2);
   // cout<<j<<' ';
    if (k==0)
    {
        for(i=0;i<n;i++)
            cout<<1<<' ';
    }
    else
    {
        //l=n/x;
        //cout<<l;
        while(s>1)
        {
            niz(s,k,i,p);
            i++;
            if (i>x)
                ind=false;
        }

    }
    if (ind)
    {
    for(i=0;i<p;i++)
        cout<<y[i]<<' ';
    for(i=0;i<j-1;i++)
        cout<<1+(i+1)*x<<' ';
    }
    else
        cout<<-1;
}
int main()
{
    unos();
    ispis();
}