#include <bits/stdc++.h>
using namespace std;
long long int search(long long int mana, vector<long long int>& c,
                     vector<long long int>& d) {
  long long int n = c.size();
  long long int low = 0, high = n - 1, mid;
  long long int ans = 0;
  while (low <= high) {
    mid = (low + high) / 2;
    if (d[mid] <= mana) {
      ans = c[mid];
      low = mid + 1;
    } else {
      high = mid - 1;
    }
  }
  return ans;
}
int main() {
  long long int n, m, k, total, nn, x, s, i;
  cin >> n >> m >> k;
  cin >> x >> s;
  vector<long long int> a(m), b(m), c(k), d(k);
  for (i = 0; i < m; i++) {
    cin >> a[i];
  }
  for (i = 0; i < m; i++) {
    cin >> b[i];
  }
  for (i = 0; i < k; i++) {
    cin >> c[i];
  }
  for (i = 0; i < k; i++) {
    cin >> d[i];
  }
  long long int mini = (n * x);
  for (i = 0; i < m; i++) {
    long long int mana = s;
    long long int nn = n;
    if (a[i] < x) {
      if (mana >= b[i]) {
        mana -= b[i];
        if (mana >= d[0]) {
          nn -= search(mana, c, d);
        }
        total = (nn)*a[i];
        mini = min(total, mini);
      }
    }
  }
  nn = n;
  nn -= search(s, c, d);
  total = nn * x;
  mini = min(total, mini);
  cout << max(mini, (long long int)0);
}
