#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, pos;
  int max1 = 0, min1 = 1000000007;
  cin >> n >> m;
  int b[n + 1], g[m + 1];
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
    if (b[i] > max1) max1 = b[i], pos = i;
  }
  for (int i = 1; i <= m; i++) {
    cin >> g[i];
    if (min1 > g[i]) min1 = g[i];
  }
  if (max1 > min1) {
    cout << "-1" << endl;
  } else {
    if (max1 == min1) {
      long long int sum = 0;
      for (int i = 1; i <= n; i++) sum = sum + b[i];
      sum = sum * m;
      for (int i = 1; i <= m; ++i) {
        sum = sum + g[i];
      }
      sum = sum - (long long int)m * max1;
      cout << sum << endl;
    } else {
      long long int sum = 0;
      for (int i = 1; i <= n; i++) sum = sum + b[i];
      sum = sum * m;
      for (int i = 1; i <= m; ++i) {
        sum = sum + g[i];
      }
      sum = sum - (long long int)(m - 1) * max1;
      int max2 = -1;
      for (int i = 1; i <= n; i++) {
        if (max2 < b[i] && i != pos) max2 = b[i];
      }
      sum = sum - max2;
      cout << sum << endl;
    }
  }
}
