#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, m;
  cin >> n >> m;
  long long int arr[n];
  long long int brr[m];
  bool crr[m];
  long long int res = 0, sumo = 0;
  long long int maxi = INT32_MIN;
  long long int mini = INT32_MAX;
  for (long long int i = 0; i < n; i++) {
    cin >> arr[i];
    maxi = max(maxi, arr[i]);
  }
  for (long long int i = 0; i < m; i++) {
    cin >> brr[i];
    mini = min(mini, brr[i]);
  }
  sort(arr, arr + n);
  sort(brr, brr + m);
  long long int check = 0;
  if (maxi > mini) {
    cout << -1 << "\n";
    return 0;
  }
  for (int i = 0; i < n - 2; i++) {
    res += arr[i] * m;
  }
  for (int i = m - 1; i > 0; i--) {
    res += brr[i];
  }
  res += arr[n - 1];
  if (arr[n - 1] != brr[0]) {
    res += brr[0];
  } else {
    res += arr[n - 2];
  }
  res += arr[n - 2] * (m - 1);
  cout << res << "\n";
  return 0;
}
