#include <bits/stdc++.h>
long n, f, l, i, j, k, a[102], b[102], min, max, A, m, M;
bool Q;
int main() {
  Q = true;
  scanf("%ld %ld %ld", &n, &f, &l);
  A = n / 2;
  if (n % 2 == 0) {
    max = A * (l - 1);
    min = A * (1 - l);
    if (f < min || f > max) {
      Q = false;
    } else {
      m = A;
      while ((f + m) < A) m++;
      M = f + m;
      for (i = 0; i < A; i++) {
        a[i] = 1;
        b[i] = 1;
      }
      m -= A;
      M -= A;
      j = 0;
      while (m) {
        if (a[j] < l) {
          a[j]++;
          m--;
        } else {
          j++;
        }
      }
      j = 0;
      while (M) {
        if (b[j] < l) {
          b[j]++;
          M--;
        } else {
          j++;
        }
      }
    }
  } else {
    min = (A + 1) - A * l;
    max = (A + 1) * l - A;
    if (f < min || f > max) {
      Q = false;
    } else {
      m = A;
      while ((f + m) < (A + 1)) m++;
      M = f + m;
      for (i = 0; i < A; i++) {
        a[i] = 1;
        b[i] = 1;
      }
      b[A] = 1;
      m -= A;
      M = M - (A + 1);
      j = 0;
      while (m) {
        if (a[j] < l) {
          a[j]++;
          m--;
        } else {
          j++;
        }
      }
      j = 0;
      while (M) {
        if (b[j] < l) {
          b[j]++;
          M--;
        } else {
          j++;
        }
      }
    }
  }
  if (Q) {
    printf("%ld", b[0]);
    for (i = 1; i < n; i++) {
      if (i % 2 == 1)
        printf(" %ld", a[i / 2]);
      else
        printf(" %ld", b[i / 2]);
    }
    printf("\n");
  } else {
    printf("-1\n");
  }
}
