#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double EPS = 1e-9;
const long long MOD = 100000000;
const int N = 300009;
const int N2 = 300009;
void fast() { std::ios_base::sync_with_stdio(0); }
int main() {
  long long n, m;
  long long x = 0;
  scanf("%lld%lld", &n, &m);
  vector<long long> b(n), g(m);
  for (long long &i : b) {
    scanf("%lld", &i);
    x += i * m;
  }
  for (long long &i : g) scanf("%lld", &i);
  sort(b.rbegin(), b.rend());
  sort(g.rbegin(), g.rend());
  long long i = 0, cnt = 0;
  long long ans = 0;
  if (g[m - 1] < b[0] || b[0] > g[m - 1]) {
    puts("-1");
    return 0;
  }
  for (long long j = 0; j < m; j++) {
    if (cnt == m - 1) i++, cnt = 0;
    if (g[j] > b[0]) {
      ans += g[j] - b[i];
      cnt++;
    }
  }
  printf("%lld", ans + x);
  return 0;
}
