# N, M < 7と小さいが、全permutaitonsは間に合わない # NもMも使っても使わなくてもいい # NはB降順でソートするか? # MはD昇順でソート?、しかし、d小さいの2つより、d大きくてc大きい方がいい可能性ある # どれを使うのかというのもあるし、どの順番で使うのか、というのもある # トラベリングセールスマン、巡回セールスマン、ビットdp # dp[集合sに到達済み][重さw]での最高価値 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())) AC = A+C BD = B+D # bit dp、dp[集合sに到達済み][重さw]での最高価値 INF = 10**20 NM = N+M set_num = 1<>i) & 1 == 1: # 既にiに到達済みならばcontinue continue if i < N: #商品 if w+AC[i] <= W: dp[s|(1<