#include <bits/stdc++.h>
int f[10005], c, d, n, m, k;
inline int min(int x, int y) { return x < y ? x : y; }
int main() {
  scanf("%d %d %d %d %d", &c, &d, &n, &m, &k);
  if (n * m <= k) {
    puts("0");
    return 0;
  }
  memset(f, 0x3f, sizeof(f));
  f[0] = 0;
  for (int i = 1; i <= n * m; ++i) {
    if (i >= n) f[i] = f[i - n] + c;
    f[i] = min(f[i], f[i - 1] + d);
  }
  int ans = 0x3f3f3f3f;
  for (int i = n * m - k; i <= n * m; ++i)
    if (f[i] < ans) ans = f[i];
  printf("%d\n", ans);
  return 0;
}
