#include <bits/stdc++.h>
using namespace std;
int dp[201][201][201], R, G, B;
void maxi(int &a, int b) { a = max(a, b); }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> R >> G >> B;
  vector<int> r(R), g(G), b(B);
  for (int &i : r) cin >> i;
  for (int &i : g) cin >> i;
  for (int &i : b) cin >> i;
  sort(r.begin(), r.end());
  sort(g.begin(), g.end());
  sort(b.begin(), b.end());
  for (int i = 0; i <= R; ++i) {
    for (int j = 0; j <= G; ++j) {
      for (int k = 0; k <= B; ++k) {
        if (i && j)
          maxi(dp[i][j][k], dp[i - 1][j - 1][k] + r[i - 1] * g[j - 1]);
        if (i && k)
          maxi(dp[i][j][k], dp[i - 1][j][k - 1] + r[i - 1] * b[k - 1]);
        if (j && k)
          maxi(dp[i][j][k], dp[i][j - 1][k - 1] + g[j - 1] * b[k - 1]);
      }
    }
  }
  cout << dp[R][G][B];
}
