n,D,K=map(int,input().split()) A=list(map(int,input().split())) C=list(map(int,input().split())) X=10**20 q=[[-X]*(K+1) for i in range(D+1)] q[0][0]=0 for a,c in zip(A,C): for i in reversed(range(D)): for j in range(K+1): if q[i][j]>-X: q[i+1][min(j+c,K)]=max(q[i+1][min(j+c,K)],q[i][j]+a) print(q[D][K] if q[D][K]>-X else "No")