#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int n, m;
long long minb[100010];
long long maxg[100010];
int main() {
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    scanf("%lld", minb + i);
  }
  sort(minb, minb + n);
  for (int i = 0; i < m; i++) {
    scanf("%lld", maxg + i);
  }
  sort(maxg, maxg + m);
  long long ans = 0;
  if (minb[n - 1] > maxg[0]) {
    cout << -1 << endl;
    return 0;
  }
  if (m == 1) {
    if (minb[n - 1] != maxg[0]) {
      cout << -1 << endl;
      return 0;
    } else {
      for (int i = 0; i < n; i++) {
        ans += minb[i];
      }
      cout << ans << endl;
      return 0;
    }
  }
  for (int i = 0; i < n - 1; i++) {
    ans += minb[i] * m;
  }
  for (int i = 1; i < m; i++) {
    ans += maxg[i];
  }
  if (minb[n - 1] == maxg[0]) {
    ans += minb[n - 1];
  } else {
    if (n == 1) {
      cout << -1 << endl;
      return 0;
    } else {
      ans += minb[n - 1] + maxg[0] - minb[n - 2];
    }
  }
  cout << ans << endl;
  return 0;
}
