#include <bits/stdc++.h>
using namespace std;
const int INF = 0x7fffffff;
long long n, m, k, x, s;
const int maxn = 2e5 + 10;
long long a[maxn], b[maxn], c[maxn], d[maxn];
int main(void) {
  cin.sync_with_stdio(false);
  cin >> n >> m >> k >> x >> s;
  for (int i = (0); i < (m); i++) {
    cin >> a[i];
  }
  for (int i = (0); i < (m); i++) {
    cin >> b[i];
  }
  for (int i = (0); i < (k); i++) {
    cin >> c[i];
  }
  for (int i = (0); i < (k); i++) {
    cin >> d[i];
  }
  long long ans = n * x;
  for (int i = (0); i < (m); i++) {
    long long cur = 0;
    long long curd = s - b[i];
    if (curd < 0) continue;
    int idx = upper_bound(d, d + k, curd) - d - 1;
    if (idx < 0) {
      cur = n * a[i];
      ans = min(ans, cur);
    } else {
      cur = (n - c[idx]) * a[i];
      ans = min(ans, cur);
    }
  }
  int idx = upper_bound(d, d + k, s) - d - 1;
  if (idx >= 0) {
    long long cur = (n - c[idx]) * x;
    ans = min(ans, cur);
  }
  cout << ans << endl;
  return 0;
}
