#include <bits/stdc++.h>
using namespace std;
long long n, m;
long long c[100005];
long long r[100005];
long long k[100005];
bool cmp(long long a, long long b) { return a > b; }
int main() {
  long long s = 0;
  scanf("%lld%lld", &n, &m);
  for (long long i = 0; i < n; i++) {
    scanf("%lld", &c[i]);
    k[i] = c[i];
    s += k[i];
  }
  sort(k, k + n, cmp);
  s *= m;
  long long cnt = 0;
  long long flag = 1;
  for (long long i = 0; i < m; i++) {
    scanf("%lld", &r[i]);
    if (flag) {
      if (i != m - 1) {
        if (r[i] > k[0]) {
          cnt++;
          s += r[i] - k[0];
        }
        if (r[i] < k[0]) {
          flag = 0;
        }
      } else {
        if (r[i] > k[0]) {
          if (cnt == m - 1)
            s += r[i] - k[1];
          else
            s += r[i] - k[0];
        } else if (r[i] < k[0]) {
          flag = 0;
        }
      }
    }
  }
  if (flag)
    printf("%lld", s);
  else
    printf("-1");
  return 0;
}
