#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=3e5+5;
ll n,m,a[N],b[N];
bool check(ll x){
__int128 y=0;
for(int i=0;i<n;i++){
ll k=(x+a[i]-1)/a[i];
if(m<k){
y+=(x-m*a[i]+b[i]-1)/b[i];
}else{
y-=m-k;
}
}
return y<=0;
}
ll bs(){
ll l=1,r=1e18;
while(l<r){
ll mid=(l+r+1)/2;
if(check(mid)){
l=mid;
}else{
r=mid-1;
}
}
return l;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
cin>>n>>m;
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<n;i++){
cin>>b[i];
a[i]=max(a[i],b[i]);
}
cout<<bs();
}