#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 50;
long long ai[maxn], bi[maxn], ci[maxn], di[maxn];
long long find(long long tmp, long long k) {
  long long l = 0, r = k;
  while (l < r) {
    long long t = (l + r + 1) / 2;
    if (di[t] <= tmp)
      l = t;
    else
      r = t - 1;
  }
  return l;
}
int main() {
  long long n, m, k, x, s;
  cin >> n >> m >> k >> x >> s;
  for (int i = 1; i <= m; i++) cin >> ai[i];
  for (int i = 1; i <= m; i++) cin >> bi[i];
  for (int i = 1; i <= k; i++) cin >> ci[i];
  for (int i = 1; i <= k; i++) cin >> di[i];
  ai[0] = x;
  bi[0] = 0;
  ci[0] = 0;
  di[0] = 0;
  long long ans = n * x;
  for (int i = 0; i <= m; i++)
    if (bi[i] <= s) {
      long long tmp = s - bi[i];
      long long pos = find(tmp, k);
      ans = min(ai[i] * (n - ci[pos]), ans);
    }
  cout << ans << endl;
  return 0;
}
