#include <bits/stdc++.h>
using namespace std;
long long min(long long a, long long b) { return (a < b) ? a : b; }
int main() {
  long long n, m, b_max_1 = 0, b_max_2 = 0, g_min = 1e9;
  long long sum_b = 0, sum_g = 0;
  cin >> n >> m;
  long long b[n], g[m];
  for (int i = 0; i < n; ++i) {
    cin >> b[i];
    sum_b += b[i];
    if (b[i] > b_max_1) {
      b_max_2 = b_max_1;
      b_max_1 = b[i];
    } else if (b[i] > b_max_2) {
      b_max_2 = b[i];
    }
  }
  sum_b = sum_b * m;
  for (int i = 0; i < m; ++i) {
    cin >> g[i];
    sum_g += g[i];
    g_min = min(g_min, g[i]);
  }
  if (b_max_1 > g_min) {
    cout << -1 << '\n';
    return 0;
  }
  if (g_min > b_max_1)
    sum_b = sum_b + sum_g - (m - 1) * b_max_1 - b_max_2;
  else
    sum_b = sum_b - m * b_max_1 + sum_g;
  cout << sum_b << '\n';
  return 0;
}
