#include <bits/stdc++.h>
using namespace std;
uint64_t gcd(uint64_t a, uint64_t b);
uint64_t lcm(uint64_t a, uint64_t b);
template <typename T>
static inline void ArrayInput(vector<T>& A) {
  for (auto itr = A.begin(); itr < A.end(); ++itr) cin >> *itr;
}
template <typename T>
static inline void ArrayPut(const vector<T>& A) {
  for (auto itr = A.begin(); itr < A.end(); ++itr) cout << *itr << " ";
  cout << endl;
}
bool Sec_compare(pair<uint64_t, uint64_t> a, pair<uint64_t, uint64_t> b) {
  if (a.second != b.second) {
    return a.second < b.second;
  } else {
    return a.first < b.first;
  }
}
int main() {
  uint32_t N, K, S;
  cin >> N >> K >> S;
  for (uint32_t i = 0; i < K; ++i) {
    cout << S << " ";
  }
  for (uint32_t i = K; i < N; ++i) {
    cout << S + 1 << " ";
  }
  cout << endl;
  return 0;
}
uint64_t gcd(uint64_t a, uint64_t b) {
  if (a < b) {
    a ^= b;
    b ^= a;
    a ^= b;
  }
  return b ? gcd(b, a % b) : a;
}
uint64_t lcm(uint64_t a, uint64_t b) { return a * b / gcd(a, b); }
