#include <bits/stdc++.h>
using namespace std;
bool compare1(pair<long long, long long> a, pair<long long, long long> b) {
  return a.second < b.second;
}
bool compare2(pair<long long, long long> a, pair<long long, long long> b) {
  return a.first > b.first;
}
double p = 3.14159265358979323846;
double area(int r) { return p * r * r; }
int abs(int a, int b) {
  if (a > b)
    return a - b;
  else
    return b - a;
}
void assign(int a, int b, int c, map<int, int> &v) {
  if (v[a] == 1) {
    v[b] = 2;
    v[c] = 3;
  } else if (v[a] == 2) {
    v[b] = 1;
    v[c] = 3;
  } else {
    v[b] = 1;
    v[c] = 2;
  }
}
int main() {
  int n, d, l, i;
  cin >> n >> d >> l;
  vector<int> v(n);
  for (i = 0; i < n - 2; i++) {
    if (d > 0) {
      v[i] = l;
      d = l - d;
    } else {
      v[i] = 1;
      d = 1 - d;
    }
  }
  if (d > 0) {
    v[n - 2] = l;
    v[n - 1] = l - d;
  } else {
    v[n - 2] = 1;
    v[n - 1] = 1 - d;
  }
  if (v[n - 1] >= 1 && v[n - 1] <= l) {
    for (i = 0; i < n; i++) cout << v[i] << " ";
  } else
    cout << "-1";
}
