from bisect import bisect_left 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())) A.sort(reverse=True) acc=[0]*(n+1) for i in range(n): acc[i+1]=acc[i]+A[i] ans=0 for mask in range(1<>i&1: weight+=B[i] val+=C[i] if weight>w:continue val+=acc[min(n,w-weight)] ans=max(ans,val) print(ans)