#include <bits/stdc++.h>
using namespace std;
long double tim[6000];
int main() {
  int n, k, p, x, y;
  cin >> n >> k >> p >> x >> y;
  int all = 0;
  vector<int> smaller;
  vector<int> larger;
  for (int i = 0; i < k; i++) {
    cin >> tim[i];
    all = all + tim[i];
    if (tim[i] < y) {
      smaller.push_back(tim[i]);
    } else {
      larger.push_back(tim[i]);
    }
  }
  int tt = n / 2;
  if (smaller.size() > tt) {
    cout << "-1";
    return 0;
  }
  int ss = tt - smaller.size();
  int sm = min(ss, n - k);
  int pp = (tt + 1) - larger.size();
  int lr = max(pp, 0);
  if (sm + all + lr * y > x) {
    cout << "-1";
    return 0;
  }
  for (int i = 0; i < sm; i++) {
    cout << "1 ";
  }
  for (int i = 0; i < lr; i++) {
    cout << y << " ";
  }
}
