#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> PII;
const int N = 1e6;
const int INF = 0x7f7f7f7f;
int n,t;
int s[N + 5],b[N + 5];
int dp[5100][5100];
int sum[N + 5];
void solve() {
cin >> n >> t;
for (int i = 1;i <= n;i ++) cin >> s[i],sum[i] = sum[i - 1] + s[i];
for (int i = 1;i <= n;i ++) cin >> b[i];
if (t != 1) dp[1][1] = s[1];
else dp[1][1] = s[1] + b[1];
for (int i = 2;i <= n;i ++) {
for (int j = 0;j <= min(i,t);j ++) {
dp[i][j] = max(dp[i][j],dp[i - 1][j] - s[i]);
if (j == t) dp[i][j] = max(dp[i][j],dp[i - 1][j - 1] + s[i] + b[i]);
else if (j == 1) {
if (i - 1 >= t) dp[i][j] = max(dp[i][j],dp[i - 1][t] + s[i]);
else dp[i][j] = s[i] - s[i - 1];
}
else dp[i][j] = max(dp[i][j],dp[i - 1][j - 1] + s[i]);
}
}
//cout << dp[2][1] << endl;
int ans = -1;
for (int i = 0;i <= t;i ++) ans = max(ans,dp[n][i]);
cout << ans << endl;
}
signed main() {
std::ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int T = 1;//cin >> T;
while (T --) solve();
}