#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m, k, x, s, input;
  vector<long long> a, b, c, d;
  cin >> n >> m >> k;
  cin >> x >> s;
  for (int i = 0; i < m; i++) {
    cin >> input;
    a.push_back(input);
  }
  for (int i = 0; i < m; i++) {
    cin >> input;
    b.push_back(input);
  }
  for (int i = 0; i < k; i++) {
    cin >> input;
    c.push_back(input);
  }
  for (int i = 0; i < k; i++) {
    cin >> input;
    d.push_back(input);
  }
  long long ans = n * x;
  for (int i = 0; i < m; i++) {
    long long rem = s - b[i];
    int l = lower_bound(d.begin(), d.end(), rem) - d.begin();
    int r = upper_bound(d.begin(), d.end(), rem) - d.begin();
    int f = r - l;
    int flag = 0;
    if (f == 0) {
      if (--l >= 0) {
        flag = 1;
        long long cal = (n - c[l]) * a[i];
        ans = min(ans, cal);
      }
    } else {
      if (--r >= 0) {
        flag = 1;
        long long cal = (n - c[r]) * a[i];
        ans = min(ans, cal);
      }
    }
    if (rem >= 0) ans = min(ans, n * a[i]);
  }
  for (int i = 0; i < k; i++) {
    if (d[i] <= s) ans = min(ans, (n - c[i]) * x);
  }
  cout << ans << "\n";
  return 0;
}
