#include <bits/stdc++.h>
using namespace std;
const long long int N = 1e5;
const long long int mod = 1e9 + 7;
bool is_prime[N + 50];
vector<long long int> prime, primeFactor;
long long int digit(long long int n) { return log10(n) + 1; }
long long int bit_on(long long int n, long long int pos) {
  return n = n | (1 << pos);
}
long long int bit_off(long long int n, long long int pos) {
  return n = n & ~(1 << pos);
}
bool check(long long int n, long long int pos) {
  return (bool)(n & (1 << pos));
}
void fast() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
string toString(long long int n) {
  stringstream ss;
  ss << n;
  string s;
  ss >> s;
  return s;
}
long long int toInt(string s) {
  stringstream ss;
  ss << s;
  long long int n;
  ss >> n;
  return n;
}
bool isVowel(char ch) {
  ch = tolower(ch);
  if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
    return true;
  return false;
}
bool isConst(char ch) {
  if (isalpha(ch) && !isVowel(ch)) return true;
  return false;
}
double dis(double x, double y, double x2, double y2) {
  double res = sqrt(pow(x - x2, 2) + pow(y - y2, 2));
  return res;
}
void sieve() {
  prime.push_back(2);
  for (long long int i = 4; i <= N; i += 2) is_prime[i] = 1;
  for (long long int i = 3; i < N; i += 2) {
    if (is_prime[i] == 0) {
      prime.push_back(i);
      for (long long int j = i * i; j < N; j += (i * 2)) is_prime[j] = 1;
    }
  }
}
bool isPrime(long long int n) {
  if (n == 1) return false;
  if (n == 2) return true;
  if (n % 2 == 0) return false;
  for (long long int i = 3; i * i <= n; i += 2)
    if (n % i == 0) return false;
  return true;
}
void primeFac(long long int n) {
  long long int tmp = sqrt(n);
  for (long long int i = 0; prime[i] <= tmp; i++) {
    if (n % prime[i] == 0) {
      while (n % prime[i] == 0) {
        n /= prime[i];
        primeFactor.push_back(prime[i]);
      }
    }
  }
  if (n > 1) primeFactor.push_back(n);
}
long long int SOD(long long int n) {
  long long int sum = 1;
  for (long long int i = 0; prime[i] <= n; i++) {
    if (n % prime[i] == 0) {
      long long int cnt = 1;
      while (n % prime[i] == 0) {
        n /= prime[i];
        cnt++;
      }
      sum *= (pow(prime[i], cnt) - 1) / (prime[i] - 1);
    }
  }
  return sum;
}
long long int NOD(long long int n) {
  long long int till = sqrt(n + 1);
  long long int p, divisor = 1;
  for (long long int i = 0; prime[i] <= till; i++) {
    if (n % prime[i] == 0) {
      p = 1;
      while (n % prime[i] == 0) {
        n /= prime[i];
        p++;
      }
      till = sqrt(n);
      divisor *= p;
    }
  }
  if (n > 1) divisor *= 2;
  return divisor;
}
bool isDigit(char ch) {
  if (ch >= 48 && ch <= 57)
    return true;
  else
    return false;
}
string Upper(string s) {
  transform(s.begin(), s.end(), s.begin(), ::toupper);
  return s;
}
string Lower(string s) {
  transform(s.begin(), s.end(), s.begin(), ::tolower);
  return s;
}
long long int dx[] = {0, 0, 1, -1, 2, 2, -2, -2, 1, -1, 1, -1};
long long int dy[] = {1, -1, 0, 0, 1, -1, 1, -1, 2, 2, -2, -2};
int32_t main() {
  fast();
  long long int tc = 1;
  for (long long int T = 1; T <= tc; T++) {
    long long int n, k, s;
    cin >> n >> k >> s;
    for (long long int i = 0; i < k; i++) {
      cout << s << " ";
    }
    for (long long int i = 0; i < (n - k); i++) {
      if (s == N) {
        cout << s - 1 << " ";
      } else {
        cout << s + 1 << " ";
      }
    }
  }
  return 0;
}
