#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 100005;
int a[maxn], b[maxn];
int main() {
  long long d, k, a, b, t;
  scanf("%I64d%I64d%I64d%I64d%I64d", &d, &k, &a, &b, &t);
  if (d < k) {
    printf("%I64d\n", d * a);
    return 0;
  }
  d -= k;
  long long ans = k * a;
  long long k1 = k * a + t, k2 = k * b;
  if (k1 >= k2) {
    ans += d * b;
  } else {
    ans += d / k * k1;
    d %= k;
    ans += min(t + d * a, d * b);
  }
  printf("%I64d\n", ans);
  return 0;
}
