import subprocess
import gzip, base64, os
import stat

gz = b'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'
bin = gzip.decompress(base64.b64decode(gz))
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
with open(pymain, "wb") as f:
    f.write(bin)
os.chmod(pymain, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
if p == "":
    pymain = "./" + pymain
subprocess.call(pymain)


# compiled by pythran
'''
#pythran export main2()
import numpy as np
i8 = np.int64
i4 = np.int32


def solve(A, F, K):
    min_ = 0
    max_ = 10 ** 12
    while min_ < max_:
        mid = (min_ + max_) // 2
        count = A - mid // F
        sum_ = count[count > 0].sum()
        if sum_ <= K:
            max_ = mid
        else:
            min_ = mid + 1
    return min_


def main2():
    stdin = open('/dev/stdin')
    N, K = map(int, stdin.readline().split())
    A = np.array(map(int, stdin.readline().split()), i8)
    F = np.array(map(int, stdin.readline().split()), i8)
    A = np.sort(A)[::-1]
    F = np.sort(F)
    ans = solve(A, F, K)
    print(ans)
'''


Measured memory_bytes: 31864