#include <bits/stdc++.h>
using namespace std;
#define FIO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define ll long long
#define pb push_back
#define fi first
#define se second
const ll N = 2e5 + 5;
const ll MOD = 1e9 + 7;
const ll INF = 2e18;
int main(){
FIO
ll n,m; cin>>n>>m;
vector<ll> a(n),b(n);
for(ll i=0; i<n; i++) cin>>a[i];
for(ll i=0; i<n; i++) cin>>b[i];
auto cmp =[](array<ll,3> a, array<ll,3> b){return a[0]>b[0];};
priority_queue<array<ll,3>, vector<array<ll,3>>, decltype(cmp)> pq(cmp);
for(ll i=0; i<n; i++) pq.push({0,i,0});
for(ll i=0; i<n*m; i++){
auto au=pq.top();
pq.pop();
if(au[2]<m) au[0]+=max(a[au[1]],b[au[1]]);
else au[0]+=b[au[1]];
au[2]++;
pq.push(au);
}
auto au=pq.top();
cout<<au[0];
return 0;
}