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())) D = list(map(int,input().split())) ans = 0 for u in range(1<>ku) & 1: Box1.append((A[ku],B[ku])) Box1 = sorted(Box1,key=lambda x:-x[0]) for v in range(1<>kv) & 1: Box2.append((C[kv],D[kv])) Box2 = sorted(Box2,key=lambda x:x[0]) w = 0 j = 0 v = 0 for i in range(len(Box1)): if w+Box1[i][0]<=W: w += Box1[i][0] v += Box1[i][1] while j=Box2[j][0]: w -= Box2[j][0] v -= Box2[j][1] j += 1 if j==len(Box2): ans = max(ans,v) print(ans)