#include <bits/stdc++.h>
using namespace std;
struct Point {
  double x, y;
  Point() {}
  Point(double x, double y) : x(x), y(y) {}
  void init() { scanf("%lf%lf", &x, &y); }
  Point operator-(const Point& other) const {
    return Point(x - other.x, y - other.y);
  }
  double operator*(const Point& other) const {
    return x * other.y - y * other.x;
  }
  double length() const { return hypot(x, y); }
};
double disptoline(const Point& p, const Point& l1, const Point& l2) {
  return fabs((p - l2) * (l1 - l2)) / (l1 - l2).length();
}
const int MAXN = 128;
const double EPS = 1E-8;
Point point[MAXN];
unsigned long long n, x, y;
int main() {
  cin >> n >> x >> y;
  unsigned long long num = y - (n - 1);
  if (n > y)
    printf("-1\n");
  else if (num * num + (n - 1) < x)
    printf("-1\n");
  else {
    for (int i = 1; i < n; i++) printf("1\n");
    cout << num << endl;
  }
  return 0;
}
