#include <bits/stdc++.h>
using namespace std;
int t;
long long a[205];
long long b[205];
long long c[205];
long long dp[205][205][205];
int main() {
  int u, v, w;
  scanf("%d%d%d", &u, &v, &w);
  for (int i = 1; i <= u; i++) scanf("%lld", a + i);
  for (int i = 1; i <= v; i++) scanf("%lld", b + i);
  for (int i = 1; i <= w; i++) scanf("%lld", c + i);
  sort(a + 1, a + 1 + u);
  sort(b + 1, b + 1 + v);
  sort(c + 1, c + 1 + w);
  long long ans = 0;
  for (int i = 0; i <= u; i++)
    for (int j = 0; j <= v; j++)
      for (int k = 0; k <= w; k++) {
        int cnt = (i == 0) + (j == 0) + (k == 0);
        if (cnt >= 2) continue;
        if (cnt == 1) {
          if (i == 0) dp[i][j][k] = dp[i][j - 1][k - 1] + b[j] * c[k];
          if (j == 0) dp[i][j][k] = dp[i - 1][j][k - 1] + a[i] * c[k];
          if (k == 0) dp[i][j][k] = dp[i - 1][j - 1][k] + a[i] * b[j];
        } else {
          long long add = max(dp[i - 1][j - 1][k] + a[i] * b[j],
                              dp[i][j - 1][k - 1] + b[j] * c[k]);
          add = max(add, dp[i - 1][j][k - 1] + a[i] * c[k]);
          dp[i][j][k] = add;
        }
      }
  cout << dp[u][v][w] << endl;
}
