#include<bits/stdc++.h>
using namespace std;
struct node{
int p;
int h;
int l;
int sv;
}a[100005];
int cmp(node x,node y){
if(x.p!=y.p)return x.p>y.p;
else return x.l<y.l;
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n-1;i++){
cin>>a[i].p;
a[i].sv=a[i].p;
a[i].h=1;
a[i].l=m-1;
}
for(int i=n;i<=n-1+m-1;i++){
cin>>a[i].p;
a[i].sv=a[i].p;
a[i].h=0;
a[i].l=n-1;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n+m-1-1;i++){
if(a[i].h==1){
for(int j=i;j<n+m+2;j++){
if(a[j].h==0) a[j].p=a[j].p+a[j].sv;
}
}
if(a[i].h==0){
for(int j=i;j<n+m+2;j++){
if(a[j].h==1) a[j].p=a[j].p+a[j].sv;
}
}
}
long long ans=0;
for(int i=1;i<=n+m-1-1;i++){
ans+=a[i].p;
}
cout<<ans;
return 0;
}