n = int(input()) a1, b1 = map(int, input().split()) a2, b2 = map(int, input().split()) a3, b3 = map(int, input().split()) ma = max(a1 * a2, a2 * a3, a3 * a1) ma = min(ma, n) dp = [0] * (ma + 1) for i in range(ma + 1): if i >= a1: dp[i] = max(dp[i], dp[i - a1] + b1) if i >= a2: dp[i] = max(dp[i], dp[i - a2] + b2) if i >= a3: dp[i] = max(dp[i], dp[i - a3] + b3) ans = 0 for i in range(ma + 1): for a, b in [(a1, b1), (a2, b2), (a3, b3)]: tot = dp[i] tot += (n - i) // a * b ans = max(ans, tot) print(ans)