#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:100000000000")
bool ascending(int i, int j) { return (i < j); }
bool descending(int i, int j) { return (i > j); }
using namespace std;
int n, d, l;
void handle1() {
  if (n % 2 == 1) {
    if (d == 1)
      for (int(i) = 0; (i) < (n); (i)++) cout << 1 << " ";
    else
      cout << -1 << endl;
  } else {
    if (d == 0)
      for (int(i) = 0; (i) < (n); (i)++) cout << 1 << " ";
    else
      cout << -1 << endl;
  }
}
int main() {
  cin >> n >> d >> l;
  if (l == 1) {
    handle1();
    return 0;
  }
  if (n % 2 == 1 &&
      (d > ((n + 1) / 2) * l - (n / 2) || d < -(n / 2) * l + ((n + 1) / 2))) {
    cout << -1 << endl;
    return 0;
  }
  if (n % 2 == 0 && abs(d) > (n / 2) * l - (n / 2)) {
    cout << -1 << endl;
    return 0;
  }
  int R[110];
  for (int(i) = 0; (i) < (n); (i)++)
    if (i % 2)
      R[i] = 1;
    else
      R[i] = l;
  int sum = ((n + 1) / 2) * l - (n / 2);
  int it = 0;
  while (sum != d) {
    R[it] += (it % 2) ? 1 : -1;
    sum--;
    if (!(it % 2) && R[it] == 1) it++;
    if (it % 2 && R[it] == l) it++;
  }
  for (int(i) = 0; (i) < (n); (i)++) cout << R[i] << " ";
  cout << endl;
}
