#include<bits/stdc++.h>
using namespace std;
const int xx=1e6+6;
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9') {
if(ch=='-')f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') {
x=x*10+ch-'0';
ch=getchar();
}
return x*f;
}
int n,m;
vector<int> a;
vector<int> b;
int ans=0;
int jdz(int a,int b)
{
if((a-b)<0) {
return (a-b)*(-1);
} else {
return a-b;
}
}
int ef(int left,int right,int n)
{
int minn=xx;
while(left<=right) {
int mid=left+(right-left)/2;
if(a[mid]<n) {
left = mid + 1;
minn=min(minn,jdz(n,a[mid]));
} else if(a[mid]>n) {
right = mid - 1;
minn=min(minn,jdz(n,a[mid]));
} else {
return 0;
}
}
return minn;
}
int main()
{
m=read(),n=read();
for(int i=1; i<=m; i++) {
int num;
cin>>num;
a.push_back(num);
}
for(int i=1; i<=n; i++) {
int num;
cin>>num;
b.push_back(num);
}
sort(a.begin(),a.end());
sort(b.begin(),b.end());
for(int i=0; i<b.size(); i++) {
ans+=ef(0,m-1,b[i]);
}
cout<<ans<<"\n";
return 0;
}