import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### n, d, k = na() a = na() c = na() inf = float("inf") dp = [[-inf] * (k + 1) for i in range(d + 1)] dp[0][0] = 0 for i in range(n): # ndp = [[-inf] * (k + 1) for i in range(d + 1)] # dp, ndp = ndp, dp for j in range(d-1, -1, -1): for x in range(k + 1): # print(dp, max, min) # print(a[i], c[i], dp[j+1]) dp[j + 1][min(x + c[i], k)] = max(dp[j + 1][min(x + c[i], k)], dp[j][x] + a[i]) # for i in range(d+1): # print(dp[i]) # print() if dp[d][k] == -inf: print("No") else: print(dp[d][k])