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")