#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp> 
#define ll long long
#define ld long double
#define mk make_pair
#define fi first
#define se second
#define vll vector<ll>
#define pii pair<ll,ll>
#define vvll vector< vector<ll> >
#define pb push_back
#define sz(v) (v).size()
#define inf 1e18
#define md 1000000007
#define all(v) (v).begin(),(v).end()
#define rep(i,a,b) for(ll i=a;i<b;++i)
#define tel(a){cout<<a<<"\n";}
#define tell(a,b){cout<<a<<" | "<<b<<"\n";}
#define telll(a,b,c){cout<<a<<" | "<<b<<" | "<<c<<"\n";}
#define teln(v,n){cout<<"v- ";rep(i,0,n)cout<<v[i]<<" ";cout<<"\n";}
#define IOS ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); 
 
using namespace std;
using namespace __gnu_pbds;
 
// template<typename T>
using o_set=tree<pii, null_type, less<pii>, rb_tree_tag, tree_order_statistics_node_update>;
 
#define M 1000010


int main(){
	IOS;
	ll n,k,s;cin>>n>>k>>s;
	ll a[n];
	rep(i,0,n)a[i]=1e9;
	if(k==0){
		rep(i,0,n)cout<<a[i]<<" ";
		return 0;
	}
	if(k==n){
		rep(i,0,n)cout<<s<<" ";
		return 0;
	}
	if(s==1){
		rep(i,0,k)a[i]=1;
		rep(i,0,n)cout<<a[i]<<" ";
		return 0;
	}
	if(s&1){
		ll m=s/2;
		rep(i,0,k+1){
			a[i]=m;
			if(i&1)a[i]++;
		}
		rep(i,0,n)cout<<a[i]<<" ";
	}
	else {
		rep(i,0,k+1)a[i]=s/2;
		rep(i,0,n)cout<<a[i]<<" ";
	}
	return 0;
}