#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long a[100005], b[100005], hash[100005] = {0}, i, j, n, m, k, x, y, z,
                                  sum = 0, ans = 0, c = 0, flag = 0,
                                  pre[100005] = {0}, mat[501][501] = {{0}};
  vector<long long> v;
  map<long long, long long> mp;
  cin >> n >> m;
  for (i = 0; i < n; i++) cin >> a[i];
  for (i = 0; i < m; i++) cin >> b[i];
  sort(a, a + n);
  sort(b, b + m);
  for (i = 0; i < m; i++) {
    c += b[i];
  }
  if (a[0] > b[0]) {
    cout << -1 << endl;
    return 0;
  } else if (a[n - 1] > b[0]) {
    cout << -1 << endl;
    return 0;
  } else {
    sum += (c - b[0] + a[n - 1]);
    if (a[n - 1] != b[0])
      sum += (b[0] + (m - 1) * a[n - 2]);
    else
      sum += (m * a[n - 2]);
    for (i = n - 3; i >= 0; i--) {
      sum += (m * a[i]);
    }
  }
  cout << sum << endl;
  return 0;
}
