import sys input = sys.stdin.readline def read_values(): return tuple(map(int, input().split())) def main(): N = int(input()) A = [0] * 3 B = [0] * 3 for i in range(3): A[i], B[i] = read_values() if A[1] * B[2] < A[2] * B[1]: A[1], A[2], B[1], B[2] = A[2], A[1], B[2], B[1] if A[0] * B[2] < A[2] * B[0]: A[0], A[2], B[0], B[2] = A[2], A[0], B[2], B[0] print(max(((N - i * A[0] - j * A[1]) // A[2]) * B[2] + i * B[0] + j * B[1] for i in range(min(A[2], N // A[0] + 1)) for j in range(min(A[2], (N - i * A[0]) // A[1] + 1)))) if __name__ == "__main__": main()