#include<bits/stdc++.h>
using namespace std;
long long s;
int a[100000],b[100000],o,n,m;
int ss(int l,int r,int x){
if(l==r){
o=min(min(abs(a[l-1]-x),abs(a[l]-x)),abs(a[l+1]-x));
if(o==abs(a[l-1]-x)) return l-1;
else if(o==abs(a[l]-x)) return l;
else return l+1;
}
int m=(l+r)/2;
if(a[m]==x){
o=0;return m;
}
else if(a[m]<x) ss(m+1,r,x);
if(a[m]>x) ss(l,m-1,x);
}
int main(){
scanf("%d",&n);
scanf("%d",&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=m;i++) scanf("%d",&b[i]);
sort(a+1,a+n+1);
sort(b+1,b+m+1);
for(int i=1;i<=m;i++){
a[ss(i,n,b[i])]=-999;
sort(a,a+n+1);
s+=o;
}
cout<<s;
return 0;}
/**************************************************************
Problem: 1899
User: fzy001
Language: C++
Result: Memory Limit Exceed
****************************************************************/