#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k, s, u, v, mid, x, ans, left;
  long long int time_req;
  cin >> n >> m >> k;
  cin >> x >> s;
  pair<int, int> s1[m + 1], s2[k + 1];
  s1[0].first = x;
  s1[0].second = 0;
  for (int i = 1; i <= m; i++) {
    cin >> u;
    s1[i].first = u;
  }
  for (int i = 1; i <= m; i++) {
    cin >> u;
    s1[i].second = u;
  }
  for (int i = 1; i <= k; i++) {
    cin >> u;
    s2[i].first = u;
  }
  for (int i = 1; i <= k; i++) {
    cin >> u;
    s2[i].second = u;
  }
  long long int min_time = (long long int)n * (long long int)x;
  for (int i = 0; i <= m; i++) {
    ans = 0;
    left = s - s1[i].second;
    if (left < 0) continue;
    u = 1;
    v = k;
    if (left < s2[u].second) {
      time_req = (long long int)n * (long long int)s1[i].first;
      min_time = min(min_time, time_req);
      continue;
    }
    while (u <= v) {
      mid = (u + v) / 2;
      if (s2[mid].second <= left) {
        ans = mid;
        u = mid + 1;
      } else
        v = mid - 1;
    }
    if (!ans) {
      time_req = (long long int)n * (long long int)s1[i].first;
    } else {
      time_req = ((long long int)n - (long long int)s2[ans].first) *
                 (long long int)s1[i].first;
    }
    min_time = min(min_time, time_req);
  }
  cout << min_time;
}
