#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  return b ? gcd(b, a % b) : a;
}
long long int lcm(long long int a, long long int b) {
  return a / gcd(a, b) * b;
}
long long int countDigit(long long int n) { return floor(log10(n) + 1); }
static const long long int dy[4] = {0, 1, 0, -1}, dx[4] = {1, 0, -1, 0};
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
  for (int i = 0; i < (int)v.size(); ++i) {
    os << v[i];
    if (i != (int)v.size() - 1) os << " ";
  }
  return os;
}
long long int nCrModp(long long int n, long long int r, long long int p) {
  long long int C[r + 1];
  memset(C, 0, sizeof(C));
  C[0] = 1;
  for (long long int i = 1; i <= n; i++) {
    for (long long int j = min(i, r); j > 0; j--) C[j] = (C[j] + C[j - 1]) % p;
  }
  return C[r];
}
int main() {
  long long int N, K, S;
  cin >> N >> K >> S;
  for (long long int i = 0; i < (long long int)(N - K - 1); i++) {
    cout << S << " ";
  }
  cout << S - (N - K - 1) << " ";
  for (long long int i = 0; i < (long long int)(K); i++) {
    cout << 1 << " ";
  }
  cout << endl;
  return 0;
}
