#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m;
  cin >> n >> m;
  long long b[n + 1], g[m + 1];
  b[0] = g[0] = 0;
  for (int i = 1; i <= n; i++) cin >> b[i];
  for (int i = 1; i <= m; i++) cin >> g[i];
  sort(b + 1, b + n + 1);
  sort(g + 1, g + m + 1);
  if (b[n] > g[1])
    cout << -1;
  else if (b[n] == g[1]) {
    long long tot = 0;
    for (int i = 1; i <= m; i++) tot += g[i];
    for (int i = 1; i <= (n - 1); i++) tot += m * b[i];
    cout << tot;
  } else {
    long long tot = 0;
    for (int i = 1; i <= m; i++) tot += g[i];
    tot += b[n];
    tot += (m - 1) * b[n - 1];
    for (int i = 1; i <= (n - 2); i++) tot += m * b[i];
    cout << tot;
  }
  return 0;
}
