n = int(input()) a0, b0 = (int(x) for x in input().split()) a1, b1 = (int(x) for x in input().split()) a2, b2 = (int(x) for x in input().split()) r1 = max(((n - i * a1 - j * a2) // a0) * b0 + i * b1 + j * b2 for i in range(min(a0, n // a1 + 1)) for j in range(min(a0, (n - i * a1) // a2 + 1))) r2 = max(((n - i * a2 - j * a0) // a1) * b1 + i * b2 + j * b0 for i in range(min(a1, n // a2 + 1)) for j in range(min(a1, (n - i * a2) // a0 + 1))) r3 = max(((n - i * a0 - j * a1) // a2) * b2 + i * b0 + j * b1 for i in range(min(a2, n // a0 + 1)) for j in range(min(a2, (n - i * a0) // a1 + 1))) result = max((r1, r2, r3)) print(result)