N,D,K=map(int,input().split()) A=list(map(int,input().split())) C=list(map(int,input().split())) dp=[[-10**18]*(K+1) for _ in range(D+1)] dp[0][0]=0 for i in range(N): ai=A[i] ci=C[i] for j in range(D)[::-1]: for k in range(K+1)[::-1]: nj=j+1 nk=min(k+ci,K) dp[nj][nk]=max(dp[nj][nk],dp[j][k]+ai) ans=dp[D][K] if ans<-10**17: print('No') else: print(ans)