#include <bits/stdc++.h>
using namespace std;
long long b[100005], g[100005];
long long n, m;
long long maxim = 0, minim = LONG_LONG_MAX;
long long sum1 = 0, sum2 = 0;
int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
    maxim = max(maxim, b[i]);
    sum1 += b[i];
  }
  sort(b + 1, b + n + 1);
  for (int i = 1; i <= m; i++) {
    cin >> g[i];
    minim = min(minim, g[i]);
    sum2 += g[i];
  }
  if (maxim > minim) {
    cout << -1;
    return 0;
  }
  long long sol = 0;
  if (maxim == minim) {
    sol = sum1 * m + sum2 - maxim * m;
  } else {
    sol = sum1 * m + sum2 - maxim * (m - 1) - b[n - 1];
  }
  cout << sol;
}
