#include using namespace std; #define rep(i,n) for(int i=0;i<(n);++i) #define chmax(a,b) a=max(a,b) int N,D,K,A[500],C[500]; long dp[501][501],ndp[501][501]; int main(){ cin>>N>>D>>K; rep(i,N)cin>>A[i]; rep(i,N)cin>>C[i]; rep(i,D+1)rep(j,K+1) dp[i][j]=-1e18; dp[0][0]=0; rep(k,N){ rep(i,D+1)rep(j,K+1) ndp[i][j]=-1e18; rep(i,D+1)rep(j,K+1){ chmax(ndp[i][j],dp[i][j]); if(i+1<=D) chmax(ndp[i+1][min(K,j+C[k])],dp[i][j]+A[k]); } swap(dp,ndp); } long ans=dp[D][K]; if(ans==-1e18) cout<<"NO"<