using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; class TEST{ static void Main(){ Sol mySol =new Sol(); mySol.Solve(); } } class Sol{ static long gcd (long a, long b) {return a == 0 ? b : gcd( b%a,a);} static long lcm (long a, long b) { return a * b / gcd (a,b) ;} public void Solve(){ long sum = 0; long[] ABC= new long[]{ A,B,C }; sum += ABC.Select(num => N/num).Sum(); sum -= (new long[]{ lcm(A,B), lcm(B,C), lcm(C,A)}).Select(num => N/num).Sum(); sum += N / ABC.Aggregate((res,num) => lcm(res,num)); Console.WriteLine(sum); } long N; long A,B,C; public Sol(){ N = rl(); var d = rla(); A = d[0]; B = d[1]; C = d[2]; } static String rs(){return Console.ReadLine();} static int ri(){return int.Parse(Console.ReadLine());} static long rl(){return long.Parse(Console.ReadLine());} static double rd(){return double.Parse(Console.ReadLine());} static String[] rsa(char sep=' '){return Console.ReadLine().Split(sep);} static int[] ria(char sep=' '){return Array.ConvertAll(Console.ReadLine().Split(sep),e=>int.Parse(e));} static long[] rla(char sep=' '){return Array.ConvertAll(Console.ReadLine().Split(sep),e=>long.Parse(e));} static double[] rda(char sep=' '){return Array.ConvertAll(Console.ReadLine().Split(sep),e=>double.Parse(e));} }