#include <bits/stdc++.h>
template <typename T>
T Max(T x, T y) {
  return x > y ? x : y;
}
template <typename T>
T Min(T x, T y) {
  return x < y ? x : y;
}
template <typename T>
T& read(T& r) {
  r = 0;
  bool w = 0;
  char ch = getchar();
  while (ch < '0' || ch > '9') w = ch == '-' ? 1 : 0, ch = getchar();
  while (ch >= '0' && ch <= '9') r = r * 10 + (ch ^ 48), ch = getchar();
  return r = w ? -r : r;
}
const int N = 201000;
long long n, a[N];
signed main() {
  read(n);
  n <<= 1;
  for (int i = 1; i <= n; ++i) read(a[i]);
  std::sort(a + 1, a + n + 1);
  n >>= 1;
  long long ans = (a[n] - a[1]) * (a[2 * n] - a[n + 1]);
  for (int i = 2; i <= n; ++i)
    ans = Min(ans, (a[2 * n] - a[1]) * (a[i + n - 1] - a[i]));
  printf("%lld\n", ans);
  return 0;
}
