#include <bits/stdc++.h>
using namespace std;
const int MaxN = (int)1e5 + 10;
const int INF = (int)1e9;
const int MOD = 998244353;
int n, a[MaxN], b[MaxN];
long long m;
bool chk(long long val) {
// max(0, a[i]-x)*b[i] <= val
long long ans = 0LL;
for (int i = 1; i <= n; ++i) {
if (b[i] != 0) {
//(a[i]-x) <= val/b[i]
//a[i]-val/b[i] <= x
ans += max(0LL, a[i] - val / b[i]);
if (ans > m) {
ans = m + 1;
}
}
}
return ans <= m;
}
int main() {
// freopen("input.txt", "r", stdin);
scanf("%d%lld", &n, &m);
assert (1 <= n && n <= 1e5);
assert (0 <= m && m <= 1e18);
for (int i = 1; i <= n; ++i) {
scanf("%d", &a[i]);
assert (0 <= a[i] && a[i] <= INF);
}
for (int i = 1; i <= n; ++i) {
scanf("%d", &b[i]);
assert (0 <= b[i] && b[i] <= INF);
}
long long l = 0, r = 1e18, ans = 1e18 + 1;
while (l <= r) {
long long md = (l + r) / 2;
if (chk(md)) {
ans = md;
r = md - 1;
} else {
l = md + 1;
}
}
cout << ans << "\n";
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPiAKICAgICAKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgCiAgICBjb25zdCBpbnQgTWF4TiA9IChpbnQpMWU1ICsgMTA7CiAgICBjb25zdCBpbnQgSU5GID0gKGludCkxZTk7CiAgICBjb25zdCBpbnQgTU9EID0gOTk4MjQ0MzUzOwogICAgIAogICAgaW50IG4sIGFbTWF4Tl0sIGJbTWF4Tl07CiAgICBsb25nIGxvbmcgbTsKICAgICAKICAgIGJvb2wgY2hrKGxvbmcgbG9uZyB2YWwpIHsKICAgIC8vCW1heCgwLCBhW2ldLXgpKmJbaV0gPD0gdmFsCiAgICAJbG9uZyBsb25nIGFucyA9IDBMTDsKICAgIAlmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgIAkJaWYgKGJbaV0gIT0gMCkgewogICAgCQkJLy8oYVtpXS14KSA8PSB2YWwvYltpXQogICAgCQkJLy9hW2ldLXZhbC9iW2ldIDw9IHgKICAgIAkJCWFucyArPSBtYXgoMExMLCBhW2ldIC0gdmFsIC8gYltpXSk7CiAgICAJCQlpZiAoYW5zID4gbSkgewogICAgCQkJCWFucyA9IG0gKyAxOwogICAgCQkJfQogICAgCQl9CiAgICAJfQogICAgCXJldHVybiBhbnMgPD0gbTsKICAgIH0KICAgICAKICAgIGludCBtYWluKCkgewogICAgLy8JZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICAJc2NhbmYoIiVkJWxsZCIsICZuLCAmbSk7CiAgICAJYXNzZXJ0ICgxIDw9IG4gJiYgbiA8PSAxZTUpOwogICAgCWFzc2VydCAoMCA8PSBtICYmIG0gPD0gMWUxOCk7CiAgICAJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CiAgICAJCXNjYW5mKCIlZCIsICZhW2ldKTsKICAgIAkJYXNzZXJ0ICgwIDw9IGFbaV0gJiYgYVtpXSA8PSBJTkYpOwogICAgCX0KICAgIAlmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgIAkJc2NhbmYoIiVkIiwgJmJbaV0pOwogICAgCQlhc3NlcnQgKDAgPD0gYltpXSAmJiBiW2ldIDw9IElORik7CiAgICAJfQogICAgCWxvbmcgbG9uZyBsID0gMCwgciA9IDFlMTgsIGFucyA9IDFlMTggKyAxOwogICAgCXdoaWxlIChsIDw9IHIpIHsKICAgIAkJbG9uZyBsb25nIG1kID0gKGwgKyByKSAvIDI7CiAgICAJCWlmIChjaGsobWQpKSB7CiAgICAJCQlhbnMgPSBtZDsKICAgIAkJCXIgPSBtZCAtIDE7CiAgICAJCX0gZWxzZSB7CiAgICAJCQlsID0gbWQgKyAxOwogICAgCQl9CiAgICAJfQogICAgCWNvdXQgPDwgYW5zIDw8ICJcbiI7CiAgICAJcmV0dXJuIDA7CiAgICB9CiAgICAg