#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
long long n, m, a[300001], b[300001];
long long MST = 0, row = 1, column = 1, edgesum = 0;
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= m; i++)
cin >> b[i];
stable_sort(a + 1, a + n + 1); stable_sort(b + 1, b + n + 1);
MST = a[1] * (m - 1) + b[1] * (n - 1); edgesum = n + m - 2;
while (edgesum < n * m - 1) {
if (a[column + 1] < b[row + 1])
MST += a[++column] * (m - row), edgesum += m - row;
else
MST += b[++row] * (n - column), edgesum += n - column;
} cout << MST;
return 0;
}