n,d,k=map(int,input().split()) A=list(map(int,input().split())) C=list(map(int,input().split())) INF=10**18 dp=[[-INF]*(k+1) for _ in range(d+1)] dp[0][0]=0 for i in range(n): for j in range(d,0,-1): for l in range(k,-1,-1): dp[j][min(k,l+C[i])]=max(dp[j][min(k,l+C[i])],dp[j-1][l]+A[i]) print(dp[d][k] if dp[d][k]>0 else "No")