module main; // https://yukicoder.me/problems/no/316/editorial より // 最小公倍数、包除原理 import std; void main() { // 入力 long N = readln.chomp.to!long; long A, B, C; readln.chomp.formattedRead("%d %d %d", A, B, C); // 答えの計算 long ans = N / A + N / B + N / C; ans -= N / lcm(A, B) + N / lcm(B, C) + N / lcm(C, A); ans += N / lcm(lcm(A, B), C); // 答えの出力 writeln(ans); }