#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int potion, m, n;
  cin >> potion >> m >> n;
  long long int tiem, punt;
  cin >> tiem >> punt;
  vector<long long int> tiempos, cost1, inst, cost2;
  vector<long long int>::iterator it;
  long long int num, rpta = tiem * potion;
  for (int i = 0; i < m; i++) {
    cin >> num;
    tiempos.push_back(num);
  }
  for (int i = 0; i < m; i++) {
    cin >> num;
    cost1.push_back(num);
  }
  tiempos.push_back(tiem);
  cost1.push_back(0);
  inst.push_back(0);
  cost2.push_back(0);
  for (int i = 0; i < n; i++) {
    cin >> num;
    inst.push_back(num);
  }
  for (int i = 0; i < n; i++) {
    cin >> num;
    cost2.push_back(num);
  }
  for (int i = 0; i < m + 1; i++) {
    if (punt - cost1[i] >= 0) {
      num = punt - cost1[i];
      it = upper_bound((cost2).begin(), (cost2).end(), num);
      long long int aux = inst[it - cost2.begin() - 1];
      if (num - cost2[it - cost2.begin() - 1] >= 0) {
        if (potion < aux) aux = potion;
        rpta = min(rpta, (potion - aux) * tiempos[i]);
      }
    }
  }
  cout << rpta << endl;
  return 0;
}
