#include <bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp> // Common file
#include <ext/pb_ds/tree_policy.hpp> // Including tree_order_statistics_node_update
using namespace __gnu_pbds;
using namespace std;
#define int long long
//for set
// typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;   
// for multiset
typedef tree<
int,
null_type,
less<int>,
rb_tree_tag,
tree_order_statistics_node_update> ordered_set;

#define ff first
#define ss second
#define endl "\n"
#define all(x) (x).begin(), (x).end()
#define sz(x) (int)(x.size())
#define PI 3.1415926535897932384626433832795
int MOD=1e9+7;
int powmod(int a,int l, int md){int res=1;while(l){if(l&1)res=res*a%md;l/=2;a=a*a%md;}return res;}
int binpow(int a,int l){int res=1;while(l){if(l&1)res=res*a;l/=2;a=a*a;}return res;}
typedef long long ll; typedef vector<ll> vi; typedef pair<ll, ll> ii; typedef vector<ii> vii;
#define pb push_back
int __set(int b, int i) {return b|(1<<i);} //set ith bit
int __unset(int b, int i) {return b&(~(1UL<<i));}
int __check(int b, int i) {return b&(1<<i);} //returns 0 if ith bit is 0
int mulmod(int a, int b, int md) {return ((a%md)*(b%md))%md;}
int addmod(int a, int b, int md) {return (a+b)%md;}
int submod(int a, int b, int md) {return (((a-b)%md)+md)%md;}
int divmod(int a, int b, int md) {return mulmod(a, powmod(b, md-2, md), md);} //if md is prime;
const ll inf = 0xFFFFFFFFFFFFFFFL; //very large number
priority_queue<int, vector<int>, greater<int> > pq; //for min priority_queue
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
clock_t time_p=clock();
void time()
{
    time_p=clock()-time_p;
    cerr<<"Time Taken : "<<(float)(time_p)/CLOCKS_PER_SEC<<"\n";
}

signed main(void)
{
	IOS;
	// int n; cin>>n;
	// vii s(n);
	// for(int i = 0; i < n; i++) {
	// 	int x,l; cin>>x>>l;
	// 	s[i]={x-l,x+l};
	// }
	// sort(all(s));
	// priority_queue<int> pq1;
	// pq1.push(s[0].ss);
	// int cnt=n;
	// for(int i = 1; i < n; i++) {
	// 	int rr  = pq1.top();
	// 	if(rr > s[i].ff) {
	// 		if(rr >= s[i].ss) {
	// 			pq1.pop();
	// 			pq1.push(s[i].ss);
	// 			cnt--;
	// 		} else {
	// 			cnt--;
	// 		}
	// 	}
	// }
	// cout<<cnt<<endl;

	int n,k,s;
	cin>>n>>k>>s;
	vi a(n);
	for(int i = 0; i < k; i++) {
		a[i]=s;
	}
	for(int i = k; i < n; i++)
		a[i]=s+1;
	for(int i: a)
		cout<<i<<" ";
	cout<<endl;
	time();
	return 0;
}