#include <bits/stdc++.h>
using namespace std;
const long long MX = 300005;
const long long inf = (long long)1e9 + 7;
long long n, mn = (long long)1e9 + 5, m, b[MX], g[MX], mx = -1, mx2 = -1, mxi;
long long ok = 0, ans;
int main() {
  scanf("%lld %lld", &n, &m);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &b[i]);
    if (b[i] > mx) {
      mx = b[i];
      mxi = i;
    }
  }
  for (int i = 0; i < n; i++) {
    if (i == mxi) continue;
    if (mx2 < b[i]) mx2 = b[i];
  }
  for (int i = 0; i < m; i++) {
    scanf("%lld", &g[i]);
    if (g[i] < mn) mn = g[i];
  }
  if (mx > mn) {
    printf("-1\n");
    return 0;
  }
  for (int i = 0; i < m; i++) ans += g[i];
  for (int i = 0; i < n; i++) {
    if (b[i] == mx && ok == 0) {
      ok = 1;
      continue;
    }
    ans += b[i] * m;
  }
  if (mx != mn) {
    ans += mx - mx2;
  }
  printf("%lld\n", ans);
  return 0;
}
