N,D,K=list(map(int,input().split())) A=list(map(int,input().split())) C=list(map(int,input().split())) dp=[] for i in range(N+1): p=[] for j in range(D+1): p.append([-1]*(K+1)) dp.append(p) dp[0][0][0]=0 for i in range(N): for j in range(min(i+1,D)): for k in range(K+1): if dp[i][j][k]==-1: continue dp[i+1][j][k]=max(dp[i+1][j][k],dp[i][j][k]) dp[i+1][j+1][min(K,k+C[i])]=max(dp[i+1][j+1][min(K,k+C[i])],dp[i][j][k]+A[i]) if dp[N][D][K]==-1: print("No") exit() print(dp[N][D][K])