#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef unsigned long long uint64; typedef long long int64; using namespace std; //int main() //{ // int N, K, R, B, L,cur, start = 0, res = 0; // freopen("board.in", "r", stdin); // scanf("%d %d", &N, &K); // scanf("%d", &R); // for(int i = 0 ; i < R; ++i) // { // scanf("%d %d", &B, &L); // cur = B - start; // res += cur / K; // start = B + L; // } // res += (N - start) / K; // fclose(stdin); // freopen("board.out","w", stdout); // printf("%d\n", res); // fclose(stdout); // // // return 0; //} int main() { int N, M, C, P, res = 0; vector Ivancho, magazin; freopen("toys.in", "r", stdin); scanf("%d %d", &N, &M); for(int i = 0; i < N; ++i) { scanf("%d", &C); Ivancho.push_back(C); } sort(Ivancho.begin(), Ivancho.end()); for(int i = 0; i < M; ++i) { scanf("%d", &P); magazin.push_back(P); } sort(magazin.begin(), magazin.end()); int szIv = Ivancho.size(); int sz = magazin.size(); for(int i = 0; i < N; ++i) { res += Ivancho[--szIv] *magazin[--sz] ; } fclose(stdin); freopen("toys.out", "w", stdout); printf("%d\n", res); fclose(stdout); return 0; }