#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll MOD = 1e9 + 7;
ll AllNegative=1;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n,m;
cin >> n >> m;
vector<ll> Alst(n);
vector<ll> Blst(n);
for(ll i=0;i<n;i++){
cin >> Alst[i];
}
for(ll i=0;i<n;i++){
cin >> Blst[i];
}
vector<ll> Comprehension(n,0);
for(ll i=0;i<n;i++){
Comprehension[i]+=max(Alst[i],Blst[i]);
}
ll ans=LLONG_MAX;
for(ll i:Comprehension){
ans=min(ans,i);
}
priority_queue<pair<ll,ll>, vector<pair<ll,ll>>,greater<pair<ll,ll>>> pq;
for(ll i=0;i<n;i++){
pq.push({Comprehension[i],i});
}
for(ll i=1;i<m;i++){
for(ll j=0;j<n;j++){
pair<ll,ll> Curr=pq.top();
pq.pop();
ll CurrAmount=Curr.first;
ll CurrPos=Curr.second;
if(j==CurrPos){
CurrAmount+=max(Alst[CurrPos],Blst[CurrPos]);
}
else{
CurrAmount+=Blst[CurrPos];
}
pq.push({CurrAmount,CurrPos});
}
}
cout << (pq.top()).first;
}