import math def IM(): return map(int, input().split()) def IL()->list[int]: return [int(i) for i in input().split()] def extended_euclid(a, b): if b == 0: return a, 1, 0 d, x1, y1 = extended_euclid(b, a % b) x = y1 y = x1 - (a // b) * y1 return d, x, y def crt(a, A, b, B): d, x, y = extended_euclid(A, B) if (b - a) % d != 0: return -1 k = (b - a) // d mod = A * B // d x = (a + A * ((k * x) % (B // d))) % mod return x N = int(input()) P, Q, R = IM() A, B, C = IM() pq = crt(A, P, B, Q) if pq == -1: print(0) exit() G = math.gcd(P, Q, R) min_pqr = 10**18+2 for i in range(10**6): if (pq + i * G) % R ==C: min_pqr = pq + i * G break if min_pqr == 10**18+2: print(0) exit() d, m = divmod(N, math.lcm(P, Q, R)) print(d +1 if m <= min_pqr else d)