#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void smax(T &x, T y) {
  x = max((x), (y));
}
template <class T>
inline void smin(T &x, T y) {
  x = min((x), (y));
}
inline void sc(long long &x) { cin >> x; }
void sc(char &x) { scanf("%c", &x); }
void sc(long long &x, long long &y) {
  sc(x);
  return sc(y);
}
void sc(long long &x, long long &y, long long &z) {
  sc(x);
  sc(y);
  return sc(z);
}
const double eps = 1e-7;
long long n, k, m, x, s;
pair<long long, long long> A[2000005], B[2000005];
char str[2000005];
int main() {
  std::ios::sync_with_stdio(false);
  sc(n, m, k);
  sc(x, s);
  for (long long i = 0; i < m; i++) sc(A[i].second);
  for (long long i = 0; i < m; i++) sc(A[i].first);
  A[m++] = {0, x};
  for (long long i = 0; i < k; i++) sc(B[i].second);
  for (long long i = 0; i < k; i++) sc(B[i].first);
  long long ans = x * n;
  for (int i = 0; i < m; i++) {
    if (s - A[i].first < 0) continue;
    long long less = 0;
    auto it = lower_bound(B, B + k, make_pair(s - A[i].first, LLONG_MAX)) - B;
    if (it > 0) less = B[it - 1].second;
    ;
    ;
    smin(ans, A[i].second * (n - less));
  }
  cout << ans << endl;
  return 0;
}
