#前に提出したコードに反例あり """ R, P, Q = map(int, input().split()) a, b, c, d = map(int, input().split()) li = [a, b, c, 5 * 10 ** 11] li.sort() ans = 0 for k in range(4): num = R // (P + Q * k) point = li[k] if(num >= point and point * k <= d): li[0], li[1], li[2], li[3] = li[0] - point, li[1] - point, li[2] - point, li[3] - point ans += point d -= point * k R -= point * (P + Q * k) else: if(k == 0): min_people = R // P else: min_people = min(R // (P + Q * k), d // k) print(ans + min_people) break 反例 45 3 5 1 1 10 6 緑以外の人も変えることができるため たまたま """ R, P, Q = map(int, input().split()) A, B, C, D = map(int, input().split()) def cost(x): need = max(0, x - A) + max(0, x - B) + max(0, x - C) return x * P + need * Q lo, hi = 0, (A + B + C + D) // 3 while lo < hi: mid = (lo + hi + 1) // 2 if cost(mid) <= R: lo = mid else: hi = mid - 1 print(lo)