/**
 * code generated by JHelper
 * More info: https://github.com/AlexeyDmitriev/JHelper
 * @author champon
 */

#include <iostream>
#include <fstream>

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rep(i, n) for(ll i=0; i<n; i++)
#define repr(i, s, e) for(ll i=s; i>=e; i--)
#define reps(i, s, e) for(ll i=s; i<=e; i++)
#define inf 1e18
#define all(v) v.begin(),v.end()
#define ceill(a, b) (a+b-1)/b
#define ok cout << "ok" << endl;
#define sp << " " <<
ll mod = 1e9+7;
void ans(bool b){ cout << (b ? "Yes" : "No") << endl; }
void ans2(bool b){ cout << (b ? "YES" : "NO") << endl; }
template<typename T> inline bool chmax(T &a, T b){ if(a<b) a=b; return a<b; }
template<typename T> inline bool chmin(T &a, T b){ if(b<a) a=b; return b<a; }
template<typename A, size_t N, typename T>
void Fill(A (&array)[N], const T &val){
    fill((T*)array, (T*)(array+N), val);
}
template<typename T> void vdeb(T v){
    cout << "#vector set debug" << endl;
    for(auto vv : v) cout << vv << " ";
    cout << endl;
}
template<typename T1, typename T2> void adeb(T1 arr[], T2 n){
    cout << "#adebug" << endl;
    for(int i=0; i<=n; i++) cout << arr[i] << " ";
    cout << endl;
}
template<typename T1> void mdeb(T1 mp){
    cout << "#map pair debug" << endl;
    for(auto const& m : mp) cout << m.first sp m.second << endl;
}
int dx[] = {1, 0, -1, 0, 1, -1, 1, -1};
int dy[] = {0, 1, 0, -1, 1, -1, -1, 1};


class CSubarraySum {
public:
	void solve(std::istream& in, std::ostream& out) {
        ll n, k, s;
        in >> n >> k >> s;

        ll num1, num2;
        if(s % 2 == 0){
            num1 = num2 = s / 2;
        }else{
            num1 = s/2;
            num2 = s/2+1;
        }

        vector<ll> res;
        if(s == 1){
            rep(i, k){
                res.push_back(1);
            }
            rep(i, n-k){
                res.push_back(1e9);
            }
            for(auto const& e : res){
                out << e << " ";
            }
            out << endl;
            return;
        }

        if(k * 2 > n){
            rep(i, k){
                res.push_back(s);
            }
            rep(i, n-k){
                if(s != 1e9) res.push_back(1e9);
                else res.push_back(1);
            }

            for(auto const& e : res){
                out << e << " ";
            }
            out << endl;
            return;
        }

        int cnt = 0;
        bool flg = true;
        rep(i, n){
            if(cnt == k) break;
            if(flg) {
                res.push_back(num1);
                flg = false;
            }else{
                res.push_back(num2);
                flg = true;
            };
            cnt++;
        }
        if(flg){
            res.push_back(num1);
        }else{
            res.push_back(num2);
        }
        cnt++;

        rep(i, n-cnt){
            if(s != 1e9) res.push_back(1e9);
            else res.push_back(1);
        }

        for(auto const& e : res){
            out << e << " ";
        }
        out << endl;
	}
};


int main() {
	CSubarraySum solver;
	std::istream& in(std::cin);
	std::ostream& out(std::cout);
	solver.solve(in, out);
	return 0;
}


Measured memory_bytes: 2292