n,d,k=map(int,input().split()) a=list(map(int,input().split())) c=list(map(int,input().split())) dp=[[[-10**18 for _ in range(k+1)]for _ in range(d+1)]for _ in range(n+1)] dp[0][0][0]=0 for i in range(n): for j in range(d+1): for l in range(k+1): dp[i+1][j][l]=max(dp[i][j][l],dp[i+1][j][l]) if j!=d: dp[i+1][j+1][min(k,l+c[i])]=max(dp[i][j][l]+a[i],dp[i+1][j+1][min(k,l+c[i])]) if dp[-1][-1][-1]<-10**17: print('No') else: print(dp[-1][-1][-1])