#include <bits/stdc++.h>
using namespace std;
long long n, m, b[100005], g[100005], bmx, gmi, sum[100005], sumg;
int main() {
  scanf("%lld%lld", &n, &m);
  bmx = 0, gmi = 100000000;
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &b[i]);
    bmx = max(bmx, b[i]);
  }
  for (int i = 1; i <= m; i++) {
    scanf("%lld", &g[i]);
    gmi = min(gmi, g[i]);
    sumg += g[i];
  }
  if (gmi < bmx)
    printf("-1\n");
  else {
    sort(b + 1, b + 1 + n);
    for (int i = 1; i <= n; i++) {
      sum[i] = sum[i - 1] + b[i];
    }
    long long ans = sum[n] * m + sumg;
    if (gmi == bmx)
      ans -= bmx * m;
    else
      ans -= b[n] * (m - 1) + b[n - 1];
    printf("%lld\n", ans);
  }
}
