#include <bits/stdc++.h>
using namespace std;
long long n, m, k, x, tot_cost, mini = 9e18;
long long seconds[2 * 100005], cost1[2 * 100005], potion[2 * 100005],
    cost2[2 * 100005];
int binary_fn(int idx) {
  int lo = 0, hi = k - 1, ans = -1;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    if ((long long)cost2[mid] + cost1[idx] <= (long long)tot_cost)
      lo = mid + 1, ans = mid;
    else
      hi = mid - 1;
  }
  return ans;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  ;
  cin >> n >> m >> k >> x >> tot_cost;
  seconds[0] = x;
  for (int i = 1; i <= m; i++) cin >> seconds[i];
  for (int i = 1; i <= m; i++) cin >> cost1[i];
  for (int i = 0; i < k; i++) cin >> potion[i];
  for (int i = 0; i < k; i++) cin >> cost2[i];
  for (int i = 0; i <= m; i++) {
    int ret = binary_fn(i);
    long long nn = n;
    long long timee = 9e18;
    if (cost1[i] <= tot_cost) {
      if (ret != -1) {
        nn -= potion[ret];
        if (nn > 0)
          timee = min((seconds[i] * nn), seconds[0] * nn);
        else
          timee = 0;
      } else
        timee = min((seconds[i] * nn), (seconds[0] * nn));
      mini = min(mini, timee);
    }
  }
  cout << mini << endl;
  return 0;
}
