import sys import math import bisect import heapq from collections import deque, defaultdict #160427717982164055zq # ------------------------------------------------- def ST(): return input().rstrip() def IN(): return int(input()) def ML(typ=int): return [typ(x) for x in input().split()] def IM(): return ML() R, P, Q = IM() A, B, C, D = IM() S = (A+B+C+D)//3 M = min(A, B, C) # 仮定1: 岩井星人さんのレートが低すぎる場合 if M*P >= R: print(R//P) exit() ans = M R -= P*M A -= M B -= M C -= M # one: 「1人のレート変更」でできるルーマニア人の数 X = [A, B, C] X.sort() one = X[1] # two: 「2人のレート変更」でできるルーマニア人の数 two = X[2]-X[1] three = S-X[2]-M #print(ans, one, two, three) ninzuu = [one, two, three] kingaku = [P+Q, P+Q+Q, P+Q+Q+Q] for i in range(3): if kingaku[i]*ninzuu[i] >= R: ans += R//kingaku[i] print(ans) exit() ans += ninzuu[i] R -= kingaku[i]*ninzuu[i] print(ans)