n,k=map(int,raw_input().split())
arr = map(int,raw_input().split())
arr1 = map(int,raw_input().split())
key = k*2;
l = len(arr)
l1 = len(arr1)
mi = 100000000000000000000000;
for k in range(l):
add=0
add1=0;
temp = arr[k]-key;
temp1 = arr[k]+key;
for i in range(l):
if i==k:
add += temp*arr1[i]
add1 += temp1*arr1[i]
else:
add += arr[i]*arr1[i]
add1 += arr[i]*arr1[i]
m = min(add,add1)
if(mi>m):
mi = m
print mi
bixrPW1hcChpbnQscmF3X2lucHV0KCkuc3BsaXQoKSkKYXJyID0gbWFwKGludCxyYXdfaW5wdXQoKS5zcGxpdCgpKQphcnIxID0gbWFwKGludCxyYXdfaW5wdXQoKS5zcGxpdCgpKQprZXkgPSBrKjI7CmwgPSBsZW4oYXJyKQpsMSA9IGxlbihhcnIxKQptaSA9IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDsKZm9yIGsgaW4gcmFuZ2UobCk6CiAgICBhZGQ9MAogICAgYWRkMT0wOwogICAgdGVtcCA9IGFycltrXS1rZXk7CiAgICB0ZW1wMSA9IGFycltrXStrZXk7CiAgICBmb3IgaSBpbiByYW5nZShsKToKICAgICAgICBpZiBpPT1rOgogICAgICAgICAgICBhZGQgKz0gdGVtcCphcnIxW2ldCiAgICAgICAgICAgIGFkZDEgKz0gdGVtcDEqYXJyMVtpXQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGFkZCArPSBhcnJbaV0qYXJyMVtpXQogICAgICAgICAgICBhZGQxICs9IGFycltpXSphcnIxW2ldCiAgICBtID0gbWluKGFkZCxhZGQxKQogICAgaWYobWk+bSk6CiAgICAgICAgbWkgPSBtCnByaW50IG1pICAgIA==