#include <bits/stdc++.h>

using namespace std;
void ispisi(vector<int> &niz,bool pov,vector<int> &pom){
    int kolko=1;
    for(int i=0;i<niz.size();i++){
        kolko*=pom[i];
        cout<<niz[i]*kolko+(pov ? 1:0)<<" ";
    }
}
int main()
{
    int n;
    cin>>n;
    int k,x;
    cin>>k>>x;
    vector<int> niz(n,1);
    vector<int> pom(n,1);
    for(int i=n-1;i>=0;i--){
        niz[i]=x+1;
        if(i<k){
            pom[i]*=2;
            k-=i;
            continue;
        }
        if(i==k){
            ispisi(niz,false,pom);
            return 0;
        }
        if(i>k){
            for(int j=k;j<i;j++){
                niz[j]++;
            }
            ispisi(niz,true,pom);
            return 0;
        }
     //   ispisi(niz,false,pom);
    }
    cout<<-1;
    return 0;
}