#include <bits/stdc++.h>
using namespace std;
struct debugger {
  template <typename T>
  debugger& operator,(const T& v) {
    cerr << v << " ";
    return *this;
  }
} debug;
template <typename T1, typename T2>
inline ostream& operator<<(ostream& os, const pair<T1, T2>& p) {
  return os << "(" << p.first << ", " << p.second << ")";
}
template <typename T>
inline ostream& operator<<(ostream& os, const vector<T>& v) {
  bool first = true;
  os << "[";
  for (typename vector<T>::const_iterator ii = v.begin(); ii != v.end(); ++ii) {
    if (!first) os << ", ";
    os << *ii;
    first = false;
  }
  return os << "]";
}
void solve() {
  long long n, y, x;
  cin >> n >> x >> y;
  long long en = y - n + 1LL;
  long long sum = (long long)(n - 1LL) + en * en;
  if (sum < x or y < n)
    cout << "-1\n";
  else {
    for (int i = 1; i < n; ++i) cout << 1LL << "\n";
    cout << en << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  solve();
  return 0;
}
