#include <bits/stdc++.h>
using namespace std;
const long long N = 100005;
long long a[N], b[N], flag[N];
signed main() {
  long long r, c, i, mi = 1e9, ma = 0, ans = 0;
  cin >> r >> c;
  for (i = 1; i <= r; i++) {
    cin >> a[i];
    ans += a[i] * c;
    ma = max(ma, a[i]);
  }
  for (i = 1; i <= c; i++) {
    cin >> b[i];
    mi = min(mi, b[i]);
  }
  if (mi < ma) {
    cout << "-1" << endl;
    return 0;
  }
  sort(a + 1, a + 1 + r);
  long long cnt = r;
  for (i = 1; i <= c; i++) {
    if (a[cnt] == b[i])
      continue;
    else {
      if (flag[cnt] >= c - 1) cnt--;
      flag[cnt]++;
      ans += b[i] - a[cnt];
    }
  }
  cout << ans << endl;
  return 0;
}
