#include <bits/stdc++.h>
using namespace std;
int n, k, s;
set<pair<long long, long long> > valid;
void add(long long x, long long y) {
  if (x > y) return;
  valid.insert(make_pair(x, y));
}
bool in(pair<long long, long long> seg, long long x) {
  return seg.first <= x && x <= seg.second;
}
void del(long long x) {
  auto g = valid.lower_bound(make_pair(x, -1));
  if (g == valid.end()) g--;
  if (!in(*g, x)) {
    if (g == valid.begin()) return;
    g--;
  }
  if (!in(*g, x)) return;
  add((*g).first, x - 1);
  add(x + 1, (*g).second);
  valid.erase(g);
}
long long get(long long x) {
  auto g = valid.lower_bound(make_pair(x, -1));
  if (g == valid.end()) g--;
  if (in(*g, x)) return x;
  if (g != valid.begin()) g--;
  if (in(*g, x))
    return x;
  else
    g++;
  return (*g).first;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  valid.insert(make_pair(0, 1e18));
  cin >> n >> k >> s;
  long long cur = 0;
  del(cur + s);
  for (int i = 0; i < k; i++) {
    cur += s;
    del(cur + s);
    cout << s << " ";
  }
  for (int i = 0; i < n - k; i++) {
    long long x = get(cur);
    cout << x - cur << " ";
    cur = x;
    del(cur + s);
  }
  cout << endl;
}
