#include <bits/stdc++.h>
using namespace std;
long long cal(long long d, long long k, long long a, long long b, long long t,
              long long x) {
  return a * k * x + t * (x - 1) + b * (d - k * x);
}
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", a * d);
  else {
    long long l = 1, r = d / k;
    while (l < r) {
      long long m1 = (2 * l + r) / 3;
      long long m2 = (l + 2 * r + 2) / 3;
      if (cal(d, k, a, b, t, m1) < cal(d, k, a, b, t, m2))
        r = m2 - 1;
      else
        l = m1 + 1;
    }
    long long res = cal(d, k, a, b, t, l);
    res = min(res, a * d + (d - 1) / k * t);
    printf("%I64d", res);
  }
  return 0;
}
