//新生训练
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N], b[N];
int main()
{
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= m; i++)
cin >> b[i];
sort(a + 1, a + 1 + n);
long long ans = 0;
for (int i = 1; i <= m; i++)
{
int l = 0, r = n + 1;
while (l < r)
{
int mid = (l + r) / 2;
if (a[mid] <= b[i])
l = mid + 1;
else
r = mid;
}
if (l == 1)
ans += abs(a[1] - b[i]);
else
ans += min(abs(a[l] - b[i]), abs(a[l - 1] - b[i]));
}
cout << ans;
return 0;
}
//这道题在笔者看来相当于匹配,两个数组匹配差的最小值,求解;
~~~//仅当笔者个人备忘录使用。