#include <bits/stdc++.h>
using namespace std;
int main() {
int N, M, n, m;
long long Atotal = 0, Btotal = 0, B[100001];
cin >> N >> M;
for(int i = 0; i < N; i++) {
int tmp;
cin >> tmp;
Atotal += tmp;
}
for(int i = 0; i < M; i++) {
cin >> B[i];
Btotal += B[i];
}
sort(B, B+M);
n = N;
m = M;
int i, move = 0;
for(i = m-1; i > 0 && Atotal*m <= Btotal*n; i--) {
move += B[i];
Atotal += B[i];
n++;
Btotal -= B[i];
m--;
}
// cout << i << " " << move << " " << Atotal << " " << N << " " << Btotal << " " << M << endl;
if(Atotal*m <= Btotal*n)
cout << -1 << endl;
else if(i < M-1) {
while(i > 0 && B[i] == B[i+1]) {
move += B[i];
Atotal += B[i];
n++;
Btotal -= B[i];
m--;
i--;
}
if(i == 0 && B[i] == B[i+1])
cout << -1 << endl;
else
cout << move << endl;
}
else
cout << move << endl;
// cek kembar
// cout << move << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBOLCBNLCBuLCBtOwoJbG9uZyBsb25nIEF0b3RhbCA9IDAsIEJ0b3RhbCA9IDAsIEJbMTAwMDAxXTsKCWNpbiA+PiBOID4+IE07Cglmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CgkJaW50IHRtcDsKCQljaW4gPj4gdG1wOwoJCUF0b3RhbCArPSB0bXA7Cgl9Cglmb3IoaW50IGkgPSAwOyBpIDwgTTsgaSsrKSB7CgkJY2luID4+IEJbaV07CgkJQnRvdGFsICs9IEJbaV07Cgl9Cglzb3J0KEIsIEIrTSk7CgluID0gTjsKCW0gPSBNOwoJaW50IGksIG1vdmUgPSAwOwoJZm9yKGkgPSBtLTE7IGkgPiAwICYmIEF0b3RhbCptIDw9IEJ0b3RhbCpuOyBpLS0pIHsKCQltb3ZlICs9IEJbaV07CgkJQXRvdGFsICs9IEJbaV07CgkJbisrOwoJCUJ0b3RhbCAtPSBCW2ldOwoJCW0tLTsKCX0KCS8vIGNvdXQgPDwgaSA8PCAiICIgPDwgbW92ZSA8PCAiICIgPDwgQXRvdGFsIDw8ICIgIiA8PCBOIDw8ICIgIiA8PCBCdG90YWwgPDwgIiAiIDw8IE0gPDwgZW5kbDsKCWlmKEF0b3RhbCptIDw9IEJ0b3RhbCpuKQoJCWNvdXQgPDwgLTEgPDwgZW5kbDsKCWVsc2UgaWYoaSA8IE0tMSkgewoJCXdoaWxlKGkgPiAwICYmIEJbaV0gPT0gQltpKzFdKSB7CgkJCW1vdmUgKz0gQltpXTsKCQkJQXRvdGFsICs9IEJbaV07CgkJCW4rKzsKCQkJQnRvdGFsIC09IEJbaV07CgkJCW0tLTsKCQkJaS0tOwoJCX0KCQlpZihpID09IDAgJiYgQltpXSA9PSBCW2krMV0pCgkJCWNvdXQgPDwgLTEgPDwgZW5kbDsKCQllbHNlCgkJCWNvdXQgPDwgbW92ZSA8PCBlbmRsOwoJfQoJZWxzZQoJCWNvdXQgPDwgbW92ZSA8PCBlbmRsOwoJLy8gY2VrIGtlbWJhcgoJLy8gY291dCA8PCBtb3ZlIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==