#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
const int mod = 1e9 + 7;
int n, m, a[maxn], b[maxn], vis[maxn];
int main() {
  while (scanf("%d%d", &n, &m) != EOF) {
    long long ans = 0;
    for (int i = 1; i <= (n); i++) {
      scanf("%d", &a[i]);
    }
    sort(a + 1, a + 1 + n);
    for (int i = 1; i <= (m); i++) {
      scanf("%d", &b[i]);
      ans += b[i];
    }
    sort(b + 1, b + 1 + m);
    if (a[n] > b[1]) {
      printf("-1\n");
      continue;
    }
    for (int i = 1; i <= (n - 1); i++) ans += 1ll * a[i] * m;
    if (a[n] < b[1]) ans -= b[1] - a[n], ans = ans - a[n - 1] + b[1];
    printf("%lld\n", ans);
  }
  return 0;
}
