#include<iostream>
using namespace std;
it main(){
    int n,T;
    cin>>n>>T;
    if(n<=0){
        cout<<-1;
        return 0;
    }
    it score[101],time[101];
    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;
      }
    int do[101]={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;
}