#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
****************************************************************/