R, p, q = map(int, input().split()) a, b, c, d = map(int, input().split()) s = sorted([a, b, c]) L = [(0, s[0])] cnt = 1 for i in range(1, 3): if s[i] > s[i - 1]: L.append((L[-1][0] + cnt, s[i] - s[i - 1])) cnt = 1 else: cnt += 1 L.append((L[-1][0] + cnt, ((a + b + c + d) // 3) - s[i])) def check(x): ans = p * x i = 0 while x > 0: y = min(x, L[i][1]) ans += L[i][0] * y * q x -= y i += 1 if ans > R: return False return True l = 0 r = (a + b + c + d) // 3 + 1 m = (l + r) // 2 while r - l > 1: if check(m): l = m else: r = m m = (l + r) // 2 print(l)