#include <bits/stdc++.h>
using namespace std;
int arr[100500],brr[100500];
int ef1(int x,int n){
int l=1,r=n,ans=-1;
while(l<=r){
int mid=(l+r)/2;
if(arr[mid]>x){
r=mid-1;
}else if(arr[mid]<=x){
ans=x-arr[mid];
l=mid+1;
}
}
return ans;
}
int ef4(int x,int n){
int l=1,r=n,ans=-1;
while(l<=r){
int mid=(l+r)/2;
if(arr[mid]<x){
l=mid+1;
}else if(arr[mid]>=x){
ans=arr[mid]-x;
r=mid-1;
}
}
return ans;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>arr[i];
}
for(int i=1;i<=m;i++){
cin>>brr[i];
}
sort(arr+1,arr+1+n);
int ans=0;
for(int i=1;i<=m;i++){
int minn1=ef1(brr[i],n),minn2=ef4(brr[i],n);
if(minn1==-1){
ans+=minn2;
continue;
}else if(minn2==-1){
ans+=minn1;
continue;
}
int cnt=min(minn1,minn2);
ans+=cnt;
}
cout<<ans<<"\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBhcnJbMTAwNTAwXSxicnJbMTAwNTAwXTsKaW50IGVmMShpbnQgeCxpbnQgbil7CglpbnQgbD0xLHI9bixhbnM9LTE7Cgl3aGlsZShsPD1yKXsKCQlpbnQgbWlkPShsK3IpLzI7CgkJaWYoYXJyW21pZF0+eCl7CgkJCXI9bWlkLTE7CgkJfWVsc2UgaWYoYXJyW21pZF08PXgpewoJCQlhbnM9eC1hcnJbbWlkXTsKCQkJbD1taWQrMTsKCQl9Cgl9CglyZXR1cm4gYW5zOwp9CmludCBlZjQoaW50IHgsaW50IG4pewoJaW50IGw9MSxyPW4sYW5zPS0xOwoJd2hpbGUobDw9cil7CgkJaW50IG1pZD0obCtyKS8yOwoJCWlmKGFyclttaWRdPHgpewoJCQlsPW1pZCsxOwoJCX1lbHNlIGlmKGFyclttaWRdPj14KXsKCQkJYW5zPWFyclttaWRdLXg7CgkJCXI9bWlkLTE7CgkJfQoJfQoJcmV0dXJuIGFuczsKfQppbnQgbWFpbigpewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZSgwKSxjb3V0LnRpZSgwKTsKCWludCBuLG07CgljaW4+Pm4+Pm07Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJY2luPj5hcnJbaV07Cgl9Cglmb3IoaW50IGk9MTtpPD1tO2krKyl7CgkJY2luPj5icnJbaV07Cgl9Cglzb3J0KGFycisxLGFycisxK24pOwoJaW50IGFucz0wOwoJZm9yKGludCBpPTE7aTw9bTtpKyspewoJCWludCBtaW5uMT1lZjEoYnJyW2ldLG4pLG1pbm4yPWVmNChicnJbaV0sbik7CgkJaWYobWlubjE9PS0xKXsKCQkJYW5zKz1taW5uMjsKCQkJY29udGludWU7CgkJfWVsc2UgaWYobWlubjI9PS0xKXsKCQkJYW5zKz1taW5uMTsKCQkJY29udGludWU7CgkJfQoJCWludCBjbnQ9bWluKG1pbm4xLG1pbm4yKTsKCQlhbnMrPWNudDsKCX0KCWNvdXQ8PGFuczw8IlxuIjsKCQoJcmV0dXJuIDA7Cn0=