#include <bits/stdc++.h>
using namespace std;
const int sz = 2e6 + 10;
const int mod = 1e9 + 7;
unsigned long long int ar[sz], br[sz], cr[sz], dr[sz];
void solve() {
  unsigned long long int n, m, k, x, s, i, j, mn, have;
  cin >> n >> m >> k >> x >> s;
  mn = 1LL * n * x;
  for (i = 1; i <= m; i++) cin >> ar[i];
  for (i = 1; i <= m; i++) {
    cin >> br[i];
    if (br[i] <= s) mn = min(mn, ar[i] * n);
  }
  for (i = 1; i <= k; i++) cin >> cr[i];
  for (i = 1; i <= k; i++) {
    cin >> dr[i];
    if (dr[i] <= s && cr[i] >= n) mn = 0;
  }
  ar[0] = x;
  for (i = 0; i <= m; i++) {
    if (br[i] <= s) {
      have = s - br[i];
      auto it = upper_bound(dr, dr + k + 1, have) - dr;
      it--;
      mn = min(mn, 1LL * (n - cr[it]) * ar[i]);
    }
  }
  cout << mn << endl;
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
