#include <bits/stdc++.h>
using namespace std;
int n, k, p, x, y;
struct ww {
  int biaoji, p;
  bool operator<(const ww& a) const {
    if (p == a.p) return biaoji < a.biaoji;
    return p < a.p;
  }
};
ww tu[1001];
int tt[1001];
int main() {
  cin >> n >> k >> p >> x >> y;
  for (int a = 1; a <= k; a++) cin >> tu[a].p, tu[a].biaoji = 1;
  for (int a = k + 1; a <= n; a++) tu[a] = {0, y};
  sort(tu + 1, tu + n + 1);
  if (tu[(n / 2) + 1].p < y) {
    cout << -1;
    return 0;
  }
  if (tu[(n / 2) + 1].biaoji == 0) tu[(n / 2) + 1].biaoji = 2;
  for (int a = 1; a <= (n / 2) + 1; a++)
    if (!tu[a].biaoji) tu[a].p = 1;
  for (int a = (n / 2) + 1; a <= n; a++)
    if (!tu[a].biaoji) tu[a].p = tu[(n / 2) + 1].p;
  int js = 0;
  for (int a = 1; a <= n; a++) js += tu[a].p;
  if (js > x) {
    cout << -1;
    return 0;
  }
  int jc = 0;
  for (int a = 1; a <= n; a++) {
    if (tu[a].biaoji == 0 || tu[a].biaoji == 2) {
      if (!jc) {
        cout << tu[a].p;
        jc = 1;
        continue;
      }
      cout << " " << tu[a].p;
    }
  }
}
