#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long n, m, i, maxi, sum, c;
  cin >> n >> m;
  long long a[n + 1], b[m + 1];
  bool flag;
  sum = 0;
  maxi = -LLONG_MAX;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    sum += a[i];
    maxi = max(maxi, a[i]);
  }
  for (i = 0; i < m; i++) {
    cin >> b[i];
    if (b[i] < maxi) {
      cout << "-1";
      return;
    }
  }
  sum *= m;
  sort(a, a + n, greater<long long>());
  sort(b, b + m, greater<long long>());
  flag = false;
  c = 0;
  for (i = 0; i < m; i++) {
    if (b[i] == maxi) {
      flag = true;
      continue;
    }
    sum += b[i];
    c++;
  }
  if (flag) {
    sum -= c * a[0];
  }
  if (!flag) {
    sum -= (m - 1) * a[0];
    sum -= a[1];
  }
  cout << sum << '\n';
}
int main() {
  std::ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  { solve(); }
  cerr << " Execution : " << (1.0 * clock()) / CLOCKS_PER_SEC << "s \n";
  return 0;
}
