using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (t, a, b) = (c[0], c[1], c[2]); WriteLine(Bus(t, a, b)); } static long Bus(long t, long a, long b) { var ans = (t + a - 1) / a + (t + b - 1) / b; var gcd = GCD(a, b); var lcm = a / gcd * b; if (lcm % b == 0 && lcm / b == a / gcd) ans -= (t + lcm - 1) / lcm; else --ans; return ans; } static long GCD(long a, long b) { if (a < b) return GCD(b, a); if (a % b == 0) return b; return GCD(b, a % b); } }