#include <bits/stdc++.h>
using namespace std;
const long long maxN = 1e5 + 13;
long long n, m, b[maxN], g[maxN], mx, mn = 1e9 + 13, ans;
int32_t main() {
  cin >> n >> m;
  for (long long i = 0; i < n; i++) {
    cin >> b[i];
    ans += b[i] * m;
    mx = max(b[i], mx);
  }
  for (long long i = 0; i < m; i++) {
    cin >> g[i];
    mn = min(g[i], mn);
  }
  sort(b, b + n, greater<long long>());
  if (mx > mn) return cout << -1 << endl, 0;
  for (long long i = 0; i < m - 1; i++) ans += g[i] - b[0];
  if (mx != mn)
    ans += g[m - 1] - b[1];
  else
    ans += g[m - 1] - b[0];
  cout << ans << endl;
}
