#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline T sqr(T x) {
  return x * x;
}
int main() {
  int n, k, p, x, y;
  cin >> n >> k >> p >> x >> y;
  int sum = 0;
  vector<int> v(k);
  for (int i = 0; i < (k); ++i) {
    cin >> v[i];
    sum += v[i];
  }
  sort((v).begin(), (v).end());
  sum = x - sum;
  int cnt = n - k;
  if (sum < cnt) {
    cout << -1 << endl;
    return 0;
  }
  for (int c1 = 0; c1 <= cnt; ++c1) {
    int s = sum;
    vector<int> r = v;
    for (int i = 0; i < (c1); ++i) {
      r.push_back(y);
      s -= y;
    }
    if (s < 0) continue;
    int c2 = cnt - c1;
    if (c2 > 0) {
      for (int i = 0; i < (c2 - (s % c2)); ++i) {
        r.push_back(min(p, s / c2));
      }
      for (int i = 0; i < (s % c2); ++i) {
        r.push_back(min(p, s / c2 + 1));
      }
      s -= r.back();
    }
    if (s < 0) continue;
    vector<int> tr = r;
    sort((r).begin(), (r).end());
    if (r[n / 2] < y) continue;
    bool ok = true;
    for (int i = 0; i < (n); ++i) {
      if (r[i] > p || r[i] <= 0) ok = false;
    }
    if (!ok) continue;
    for (int i = 0; i < (cnt); ++i) {
      cout << tr.back() << " ";
      tr.pop_back();
    }
    cout << endl;
    return 0;
  }
  cout << -1 << endl;
  return 0;
}
