#include <bits/stdc++.h>
using namespace std;
#define int long long
#define dd double
#define ld long double
#define ull unsigned long long
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) cout << fixed << setprecision(x)
#define all(v) v.begin(),v.end()
#define dpp(v,val) memset(v,val,sizeof(v))
#define mod 1e9+7
#define oo 1e9
const int N = 1e5 + 5;
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } // log(n) __gcd(a,b)
//todo اى ويل بريبير ماى بيبرز تو بى ذا بيست ان زيس وورلد
vector<pair<int,int>>v;
int n,k;
int dp[103][103][103];
int solve(int i,int t,int c) 
{
   if(i==n) 
   return (t==k*c?t:0);
   int& ret= dp[i][t][c];
   if(ret!=-1) return ret;
   int take= solve(i+1,t+v[i].first,c+v[i].second), leave=solve(i+1,t,c);
   return ret=max(take,leave);
}
void HereWeGoAgain()
{
  cin>>n>>k;
  v.resize(n);
  for(int i=0;i<n;i++) cin>>v[i].first;
  for(int i=0;i<n;i++) cin>>v[i].second;
  dpp(dp,-1);
  if(!solve(0,0,0)) cout<<-1;
  else cout<<solve(0,0,0);
}
int32_t main() 
{
    Arwa
    int t=1;
    //cin>>t;
    for(int i=1;i<=t;i++)
    {
    HereWeGoAgain();
    }
    return 0;
}
 
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRkIGRvdWJsZQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBBcndhIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oeCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBkcHAodix2YWwpIG1lbXNldCh2LHZhbCxzaXplb2YodikpCiNkZWZpbmUgbW9kIDFlOSs3CiNkZWZpbmUgb28gMWU5CmNvbnN0IGludCBOID0gMWU1ICsgNTsKaW50IGdjZChpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGIgPT0gMCA/IGEgOiBnY2QoYiwgYSAlIGIpOyB9IC8vIGxvZyhuKSBfX2djZChhLGIpCi8vdG9kbyDYp9mJINmI2YrZhCDYqNix2YrYqNmK2LEg2YXYp9mJINio2YrYqNix2LIg2KrZiCDYqNmJINiw2Kcg2KjZitiz2Kog2KfZhiDYstmK2LMg2YjZiNix2YTYrwp2ZWN0b3I8cGFpcjxpbnQsaW50Pj52OwppbnQgbixrOwppbnQgZHBbMTAzXVsxMDNdWzEwM107CmludCBzb2x2ZShpbnQgaSxpbnQgdCxpbnQgYykgCnsKICAgaWYoaT09bikgCiAgIHJldHVybiAodD09aypjP3Q6MCk7CiAgIGludCYgcmV0PSBkcFtpXVt0XVtjXTsKICAgaWYocmV0IT0tMSkgcmV0dXJuIHJldDsKICAgaW50IHRha2U9IHNvbHZlKGkrMSx0K3ZbaV0uZmlyc3QsYyt2W2ldLnNlY29uZCksIGxlYXZlPXNvbHZlKGkrMSx0LGMpOwogICByZXR1cm4gcmV0PW1heCh0YWtlLGxlYXZlKTsKfQp2b2lkIEhlcmVXZUdvQWdhaW4oKQp7CiAgY2luPj5uPj5rOwogIHYucmVzaXplKG4pOwogIGZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+dltpXS5maXJzdDsKICBmb3IoaW50IGk9MDtpPG47aSsrKSBjaW4+PnZbaV0uc2Vjb25kOwogIGRwcChkcCwtMSk7CiAgaWYoIXNvbHZlKDAsMCwwKSkgY291dDw8LTE7CiAgZWxzZSBjb3V0PDxzb2x2ZSgwLDAsMCk7Cn0KaW50MzJfdCBtYWluKCkgCnsKICAgIEFyd2EKICAgIGludCB0PTE7CiAgICAvL2Npbj4+dDsKICAgIGZvcihpbnQgaT0xO2k8PXQ7aSsrKQogICAgewogICAgSGVyZVdlR29BZ2FpbigpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K