#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
int n, m;
LL czx[N];
LL gu[N];
LL ans;
int main()
{
cin >> m >> n;
for (int i = 1; i <= m; i++)
cin >> czx[i];
sort(czx + 1, czx + 1 + m);
for (int i = 1; i <= n; i++)
cin >> gu[i];
for (int i = 1; i <= n; i++)
{
LL minn = 0x3f3f3f3f;
int r = lower_bound(czx + 1, czx + m + 1, gu[i]) - czx;//查找第一个大于等于当前分数的值
minn = min(minn, abs(czx[r] - gu[i]));
minn = min(minn, abs(czx[r - 1] - gu[i]));//再找第一个小于当前分数的值 两者取最小
ans += minn;
}
cout << ans << endl;
return 0;
}