#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=300005;
ll n,m,A[N+2],B[N+3];
ll ch(ll mid){
ll tot=0;
for(int i=1;i<=n;i++){
ll want=mid;
ll tclas=0,tself=0;
//cout<<i<<" "<<endl;
if(A[i]>B[i]){
tclas=want/A[i];
if(tclas*A[i]<want)++tclas;
tclas=min(tclas,m);
want-=tclas*A[i];
tot+=tclas;
}
if(want>0){
tself=want/B[i];
if(tself*B[i]<want)++tself;
tot+=tself;
}
//cout<<tclas<<" "<<tself<<endl<<endl;
}
return tot;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
// cout<<1;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>A[i];
for(int i=1;i<=n;i++)cin>>B[i];
ll ans=1e18;
for(int i=1;i<=n;i++){
ans=min(ans,max(A[i],B[i]));
}
cout<<ans<<endl;
//cout<<ch(18);
return 0;
}