def extended_gcd(a, b): if b == 0: return (a, 1, 0) g, x1, y1 = extended_gcd(b, a % b) x, y = y1, x1 - (a // b) * y1 return (g, x, y) def modinv(a, m): g, x, y = extended_gcd(a, m) if g != 1: raise Exception("Inverse does not exist") return x % m def crt_three_mods(a1, m1, a2, m2, a3, m3): M1M2 = m1 * m2 inv_m1 = modinv(m1, m2) inv_m2 = modinv(m2, m1) x12 = (a1 * m2 * inv_m2 + a2 * m1 * inv_m1) % M1M2 inv_M12 = modinv(M1M2, m3) inv_m3 = modinv(m3, M1M2) M1M2M3 = M1M2 * m3 x = (x12 * m3 * inv_m3 + a3 * M1M2 * inv_M12) % M1M2M3 return x def count_crt_solutions(N, P, Q, R, A, B, C): M = P * Q * R x0 = crt_three_mods(A, P, B, Q, C, R) if x0 > N: return 0 return (N - x0) // M + 1 N = int(input()) P, Q, R = map(int, input().split()) A, B, C = map(int, input().split()) print(count_crt_solutions(N, P, Q, R, A, B, C))