#include <bits/stdc++.h>
using namespace std;
#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define N 1005
#define pb push_back
#define int long long int
#define s second
#define big 1000000000000
int arr[N][2];
int n,k;
int mx;
int coz(vector<int> v){
int sn=0,kac=0,once=0;
for(auto i:v){
int a=abs(arr[once][0]-arr[i][0]),b;
if(arr[once][0]<arr[i][0])b=arr[once][0]+k-arr[i][0];
else b=arr[i][0]+k-arr[once][0];
int x=min(a,b);
//cout<<i<<" "<<once<<" "<<a<<" "<<b<<" "<<sn<<endl;
if(x+sn<=arr[i][1]){
kac++;
once=i;
sn+=x;
}
}
mx=max(mx,kac);
return kac;
}
signed main(){
lalala;
cin>>n>>k;
mx=0;
for(int i=1;i<=n;i++)cin>>arr[i][0];
for(int i=1;i<=n;i++)cin>>arr[i][1];
vector<int> v;
for(int i=0;i<n;i++){
v.pb(i+1);
}
coz(v);
while(next_permutation(v.begin(),v.end())){
coz(v);
}
cout<<mx<<endl;
}