local mfl, mce = math.floor, math.ceil local mmi, mma = math.min, math.max local n = io.read("*n") local a, b = {}, {} for i = 1, 3 do a[i], b[i] = io.read("*n", "*n") b[i] = 1LL * b[i] end local ans = 0LL local function solve(a1, a2, a3, b1, b2, b3) for i = 0, 2000 do for j = 0, 2000 do local use_sum = a1 * i + a2 * j if use_sum <= n then local rem = n - use_sum local k = mfl(rem / a3) local v = b1 * i + b2 * j + b3 * k if ans < v then ans = v end else break end end end end solve(a[1], a[2], a[3], b[1], b[2], b[3]) solve(a[1], a[3], a[2], b[1], b[3], b[2]) solve(a[2], a[3], a[1], b[2], b[3], b[1]) ans = tostring(ans):gsub("LL", "") print(ans)