#include <bits/stdc++.h>
const double INF = std::numeric_limits<double>::infinity();
const int MOD = 1e9 + 7;
using namespace std;
template <typename _Ty>
ostream& operator<<(ostream& ostr, const vector<_Ty>& v) {
  if (v.empty()) {
    ostr << "{ }";
    return ostr;
  }
  ostr << "{" << v.front();
  for (auto itr = ++v.begin(); itr != v.end(); itr++) {
    ostr << ", " << *itr;
  }
  ostr << "}";
  return ostr;
}
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
int main(void) {
  ios::sync_with_stdio(false);
  long long N, K, S;
  cin >> N >> K >> S;
  long long a[N];
  if (N == K) {
    for (int i = (0); i < (N); ++i) {
      a[i] = S;
    }
  } else {
    long long count = 0;
    for (int i = (0); i < (N); ++i) {
      a[i] = 1;
    }
    for (int i = (1); i < (N); ++i) {
      if (count > K) {
        a[i] = S + 1;
      } else {
        if (i == N - 2) {
          count++;
        }
        a[i] = S - a[i - 1];
        count++;
      }
    }
  }
  for (int i = (0); i < (N); ++i) {
    cout << a[i] << ' ';
  }
  return 0;
}
