#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, K;
if (!(cin >> n >> K)) return 0;
vector<ll> A(n), B(n);
for (int i = 0; i < n; ++i) cin >> A[i];
for (int i = 0; i < n; ++i) cin >> B[i];
vector<unordered_map<ll, ll>> dp(K + 1);
dp[0][0] = 0;
auto relax = [](unordered_map<ll, ll>& M, ll key, ll val) {
auto it = M.find(key);
if (it == M.end() || val > it->second) M[key] = val;
};
for (int i = 0; i < n; ++i) {
ll t = A[i] + B[i];
ll d = A[i] - B[i];
vector<unordered_map<ll, ll>> nxt = dp;
int up = min(K, i + 1);
for (int j = 1; j <= up; ++j) {
for (const auto& kv : dp[j - 1]) {
ll Dnew = kv.first + d;
ll Tnew = kv.second + t;
relax(nxt[j], Dnew, Tnew);
}
}
dp.swap(nxt);
}
if (dp[K].empty()) {
cout << 0;
return 0;
}
ll ans = LLONG_MIN;
for (const auto& kv : dp[K]) {
ll D = kv.first, T = kv.second;
ans = max(ans, (T - llabs(D)) / 2);
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBpbnQgbiwgSzsKICAgIGlmICghKGNpbiA+PiBuID4+IEspKSByZXR1cm4gMDsKCiAgICB2ZWN0b3I8bGw+IEEobiksIEIobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IEFbaV07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IEJbaV07CgogICAgdmVjdG9yPHVub3JkZXJlZF9tYXA8bGwsIGxsPj4gZHAoSyArIDEpOwogICAgZHBbMF1bMF0gPSAwOwoKICAgIGF1dG8gcmVsYXggPSBbXSh1bm9yZGVyZWRfbWFwPGxsLCBsbD4mIE0sIGxsIGtleSwgbGwgdmFsKSB7CiAgICAgICAgYXV0byBpdCA9IE0uZmluZChrZXkpOwogICAgICAgIGlmIChpdCA9PSBNLmVuZCgpIHx8IHZhbCA+IGl0LT5zZWNvbmQpIE1ba2V5XSA9IHZhbDsKICAgIH07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBsbCB0ID0gQVtpXSArIEJbaV07CiAgICAgICAgbGwgZCA9IEFbaV0gLSBCW2ldOwoKICAgICAgICB2ZWN0b3I8dW5vcmRlcmVkX21hcDxsbCwgbGw+PiBueHQgPSBkcDsKICAgICAgICBpbnQgdXAgPSBtaW4oSywgaSArIDEpOwoKICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSB1cDsgKytqKSB7CiAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYga3YgOiBkcFtqIC0gMV0pIHsKICAgICAgICAgICAgICAgIGxsIERuZXcgPSBrdi5maXJzdCArIGQ7CiAgICAgICAgICAgICAgICBsbCBUbmV3ID0ga3Yuc2Vjb25kICsgdDsKICAgICAgICAgICAgICAgIHJlbGF4KG54dFtqXSwgRG5ldywgVG5ldyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZHAuc3dhcChueHQpOwogICAgfQoKICAgIGlmIChkcFtLXS5lbXB0eSgpKSB7CiAgICAgICAgY291dCA8PCAwOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGxsIGFucyA9IExMT05HX01JTjsKICAgIGZvciAoY29uc3QgYXV0byYga3YgOiBkcFtLXSkgewogICAgICAgIGxsIEQgPSBrdi5maXJzdCwgVCA9IGt2LnNlY29uZDsKICAgICAgICBhbnMgPSBtYXgoYW5zLCAoVCAtIGxsYWJzKEQpKSAvIDIpOwogICAgfQogICAgY291dCA8PCBhbnM7CiAgICByZXR1cm4gMDsKfQo=