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