#include <bits/stdc++.h>
using namespace std;
int points[(1005)];
int more[(1005)];
int main() {
  int n, k, p, max_total, median;
  cin >> n >> k >> p >> max_total >> median;
  int sum = 0;
  for (int(i) = 0; (i) < (k); ++(i)) {
    cin >> points[i];
    sum += points[i];
  }
  for (int(i) = 0; (i) < (n - k); ++(i)) {
    more[i] = 1;
    sum++;
  }
  if (sum > max_total) {
    printf("-1\n");
    return 0;
  }
  while (true) {
    vector<int> scores;
    for (int(i) = 0; (i) < (k); ++(i)) scores.push_back(points[i]);
    for (int(i) = 0; (i) < (n - k); ++(i)) scores.push_back(more[i]);
    sort(scores.begin(), scores.end());
    if (scores[n / 2] >= median) {
      break;
    } else {
      int ind = -1;
      sort(more, more + n - k);
      for (int i = n - k - 1; i >= 0; i--) {
        if (more[i] < median) {
          ind = i;
          break;
        }
      }
      if (ind == -1) {
        printf("-1\n");
        return 0;
      } else {
        sum -= more[ind];
        sum += median;
        more[ind] = median;
        if (sum > max_total) {
          printf("-1\n");
          return 0;
        }
      }
    }
  }
  for (int(i) = 0; (i) < (n - k); ++(i)) {
    printf("%d ", more[i]);
  }
  return 0;
}
