#include <bits/stdc++.h>
using namespace std;
const int N = 2 * 100000 + 10;
long long a[N], b[N], c[N], d[N];
int main() {
  long long n;
  int m, k;
  while (cin >> n >> m >> k) {
    long long x, s;
    cin >> 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 left = s - b[i];
      if (left < 0) continue;
      long long tmp = n;
      if (left >= d[0]) {
        int p = upper_bound(d, d + k, left) - d - 1;
        tmp = max(0ll, n - c[p]);
      }
      ans = min(ans, tmp * a[i]);
    }
    if (s >= d[0]) {
      int p = upper_bound(d, d + k, s) - d - 1;
      ans = min(ans, x * max(0ll, n - c[p]));
    }
    printf("%I64d\n", ans);
  }
}
