#include <bits/stdc++.h>
double PI = acos(-1.0);
using namespace std;
int mod = 1000000007;
int inf = INT_MAX;
int minf = INT_MIN;
int main() {
  int n, m;
  cin >> n >> m;
  int b[n + 1];
  int large = 0, small = 1e8;
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
    if (b[i] > large) large = b[i];
  }
  int g[m + 1];
  for (int i = 1; i <= m; i++) {
    cin >> g[i];
    if (g[i] < small) small = g[i];
  }
  if (large > small) {
    cout << "-1";
    return 0;
  }
  long long int ans = 0;
  int flag = 0;
  sort(b + 1, b + n + 1, greater<int>());
  long long int maxb = b[1];
  long long int smaxb = b[2];
  sort(g + 1, g + 1 + m);
  long long int ming = g[1];
  if (ming == maxb) flag = 1;
  for (int i = 1; i <= n; i++) {
    ans += b[i];
  }
  ans *= m;
  for (int i = 1; i <= m - 1; i++) {
    ans += (g[i] - maxb);
  }
  if (flag == 1)
    ans += g[m] - maxb;
  else
    ans += g[m] - smaxb;
  cout << ans;
}
