#include <bits/stdc++.h>
using namespace std;
long long int N = 100000, M = 100000;
bool sortbysec(const pair<int, int> &a, const pair<int, int> &b) {
  return (a.second < b.second);
}
long long int pow1(long long int n, long long int k, long long int mm) {
  if (k == 0) return 1;
  if (k % 2 == 0) return (pow1((n % mm) * (n % mm), k / 2, mm)) % mm;
  return ((n % mm) * (pow1((n % mm) * (n % mm), k / 2, mm) % mm)) % mm;
}
long long int pow2(long long int n, long long int k) {
  long long int ans = 1;
  while (k > 0) {
    if (k % 2 == 1) ans = ans * n;
    n = n * n;
    k /= 2;
  }
  return ans;
}
long long int ncr(long long int n, long long int r) {
  if (n == 1 || r == 0) return 1;
  if (r > n / 2) r = n - r;
  long long int ans = 1;
  for (long long int i = 1; i <= r; i++) {
    ans = ((ans * n) / i);
    n--;
  }
  return ans;
}
long long int ncrsum(long long int n, long long int r, long long int mod) {
  if (n == 1 || r == 0) return 1;
  long long int ans = 1, sum = 1;
  for (long long int i = 1; i <= r; i++) {
    ans = (((ans * n) / i) % mod);
    n--;
    sum += ans;
    sum %= mod;
  }
  return sum;
}
bool isprime(long long int n) {
  if (n == 1 || (n != 2 && n % 2 == 0)) return false;
  if (n == 2) return true;
  for (long long int i = 3; i <= sqrt(n); i += 2)
    if (n % i == 0) return false;
  return true;
}
vector<long long int> factor(long long int n) {
  vector<long long int> ans;
  if (n > 0) ans.emplace_back(1);
  if (n == 2) ans.emplace_back(2);
  for (long long int i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      ans.emplace_back(i);
      if (n / i != i) ans.emplace_back(n / i);
    }
  }
  if (n > 2) ans.emplace_back(n);
  return ans;
}
long long int numoffactor(long long int n) { return factor(n).size(); }
long long int gcd(long long int a, long long int b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
int main() {
  long long int n, m, k;
  cin >> n >> m >> k;
  if (k % 2 == 0) {
    long long int b[n + 1];
    if (m > 0) {
      b[0] = k / 2;
      b[1] = k / 2;
      m--;
    } else {
      if (k < 1e9) {
        b[0] = k + 1;
        b[1] = k + 1;
      } else {
        b[0] = 1;
        b[1] = 1;
      }
    }
    long long int x = 2;
    while (m > 0) {
      b[x] = k;
      x++;
      m--;
    }
    for (long long int i = x; i < n; i++) {
      if (k < 1e9)
        b[i] = k + 1;
      else
        b[i] = 1;
    }
    for (long long int i = 0; i < n; i++) cout << b[i] << " ";
  } else {
    long long int b[n + 1];
    if (m > 0) {
      b[0] = k / 2;
      b[1] = (k / 2) + 1;
      m--;
    } else {
      b[0] = k + 1;
      b[1] = k + 1;
    }
    long long int x = 2;
    while (m > 0) {
      b[x] = k;
      x++;
      m--;
    }
    for (long long int i = x; i < n; i++) b[i] = k + 1;
    for (long long int i = 0; i < n; i++) cout << b[i] << " ";
  }
}
