#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const int inf = 0x3f3f3f3f;
const double eps = 1e-15;
int arr[1100];
int sc[1100];
int main() {
  int n, k, p, x, y;
  while (cin >> n >> k >> p >> x >> y) {
    int now = 0;
    for (int i = 1; i <= k; ++i) {
      cin >> arr[i];
      now += arr[i];
    }
    bool flag = 0;
    if (now >= x) {
      cout << -1 << endl;
      continue;
    }
    for (int i = y; i <= p; ++i) {
      int les = 0, equ = 0, large = 0;
      for (int j = 1; j <= k; ++j) {
        if (arr[j] < i) {
          ++les;
        } else if (arr[j] == i) {
          ++equ;
        } else {
          ++large;
        }
      }
      if (les >= (n + 1) / 2) {
        flag = 0;
        break;
      }
      flag = 1;
      int can = x - now;
      for (int j = 1; j <= n - k; ++j) {
        if (les + equ < (n + 1) / 2 - 1) {
          sc[j] = 1;
          ++les;
          if (can == 0) {
            flag = 0;
            break;
          }
          --can;
        } else {
          if (les < (n + 1) / 2 - 1) {
            sc[j] = 1;
            ++les;
            if (can == 0) {
              flag = 0;
              break;
            }
            --can;
          } else {
            sc[j] = i;
            ++equ;
            if (can < i) {
              flag = 0;
              break;
            }
            can -= i;
          }
        }
      }
      if (flag) {
        break;
      }
    }
    if (!flag) {
      cout << -1 << endl;
    } else {
      cout << sc[1];
      for (int i = 2; i <= n - k; ++i) {
        cout << " " << sc[i];
      }
      cout << endl;
    }
  }
  return 0;
}
