#include<iostream>
#include<vector>
using namespace std;

int main(){
    int n,T;
    
    if(!(cin>>n>>T)) {
        cout<<"Invalid input";
        return 0;
    }
    if(n<=0){
        cout<<"-1";
        return 0;
    }
    vector<int>score(n),time(n);
    
    for(int i=0;i<n;i++){
        if(!(cin>>score[i])){
            cout<<"Invalid input";
            return 0;
        }
    }
    for(int i=0;i<n;i++){
        if(!(cin>>score[i])) {
            cout<<"Invalid input";
            return 0;
        }
    }
    for(int i=0;i<n;i++){
        if(!(cin>>time[i])) {
            cout<<"Invalid input";
            return 0;
        }
    }
    vector<int>dp(T+1,0);
    
    for(int i=0;i<n;i++) {
        for(int j=T;j>=time[i];j--)
    }
            dp[j]=max(dp[j],dp[j-time[i]]+score[i]);
        }
    }
    cout<<dp[T];
    
    return 0;
    
}