#include <bits/stdc++.h>
using namespace std;
vector<int> a;
int main() {
  int N, K, P, X, Y;
  int l, m;
  cin >> N >> K >> P >> X >> Y;
  int sum = 0;
  for (int i = 0; i < K; ++i) {
    cin >> l;
    a.push_back(l);
    sum += a[i];
  }
  sort(a.begin(), a.end());
  l = X - sum;
  if (K >= ((N + 1) / 2) && a[((N + 1) / 2 - 1)] < Y) {
    cout << "-1" << endl;
    return 0;
  }
  int p = ((N + 1) / 2) - 1;
  m = lower_bound(a.begin(), a.end(), Y) - a.begin();
  int lef = p - m;
  int rig = N - (K + lef);
  if (rig < 0) {
    lef += rig;
    rig = 0;
  }
  if ((lef + rig * Y) > l) {
    cout << "-1" << endl;
    return 0;
  }
  for (int i = 0; i < lef; ++i)
    cout << "1"
         << " ";
  for (int i = 0; i < rig; ++i) cout << Y << " ";
  cout << endl;
  return 0;
}
