def knapsack(N, M, W, A, B, C): dp = [0] * (W + 1) items = sorted([(1, a) for a in A] + [(b, c) for b, c in zip(B, C)], key=lambda x: -x[1]/x[0]) for w, v in items: if w == 1: for i in range(W, 0, -1): dp[i] = max(dp[i], dp[i-1] + v if i >= w else 0) else: for i in range(W+1): dp[i] = max(dp[i], dp[i-w] + v if i >= w else 0) return max(dp) N, M, W = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) C = list(map(int, input().split())) print(knapsack(N, M, W, A, B, C))