#!usr/bin/env python3 from collections import defaultdict,deque from heapq import heappush, heappop import sys import math import bisect import random def LI(): return [int(x) for x in sys.stdin.readline().split()] def I(): return int(sys.stdin.readline()) def LS():return [list(x) for x in sys.stdin.readline().split()] def S(): res = list(sys.stdin.readline()) if res[-1] == "\n": return res[:-1] return res def IR(n): return [I() for i in range(n)] def LIR(n): return [LI() for i in range(n)] def SR(n): return [S() for i in range(n)] def LSR(n): return [LS() for i in range(n)] sys.setrecursionlimit(1000000) mod = 1000000007 #A def A(): a,b,c,d,e,f = LI() s = pow(a,b,2)+pow(c,d,2)+pow(e,f,2) if s&1: print(":-(") else: print(":-)") return #B def B(): n = I() a = LIR(n) ans = [] q = [deque() for i in range(n)] for i in range(n): for j in a[i][1:]: q[i].append(j) f = 1 while f: f = 0 for i in range(n): if q[i]: f = 1 ans.append(q[i].popleft()) print(*ans) return #C def C(): def gcd(a,b): if a == 0: return b return gcd(b%a,a) def lcm(a,b): return a*b//gcd(a,b) t,a,b = LI() l = lcm(a,b) print((t-1)//a+(t-1)//b-(t-1)//l+1) return #D def D(): return #E def E(): return #F def F(): return #Solve if __name__ == "__main__": C()