#include <bits/stdc++.h>
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
double EPS = 1e-12;
double INF = 1e100;
const long long MAXN = 1e5 + 10;
long long dx[4] = {0, 0, 1, -1};
long long dy[4] = {1, -1, 0, 0};
long long gcd(long long a, long long b) { return a ? gcd(b % a, a) : b; }
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
int32_t main() {
  long long n, a, b, p, q;
  cin >> n >> a >> b >> p >> q;
  long long qta = ((((n - (n % a)) - a) / a) + 1);
  long long qtb = (((n - (n % b) - b) / b) + 1);
  long long resp = qta * p + qtb * q;
  long long l = lcm(a, b);
  if (p > q)
    resp -= ((n - (n % l) - l) / l + 1) * q;
  else
    resp -= ((n - (n % l) - l) / l + 1) * p;
  cout << resp;
  return 0;
}
