#include <bits/stdc++.h>
using namespace std;
inline char gc() {
  static char buf[1 << 14], *p1 = buf, *p2 = buf;
  return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 14, stdin), p1 == p2)
             ? EOF
             : *p1++;
}
inline long long read() {
  long long x = 0, f = 1;
  char c = gc();
  for (; !isdigit(c); c = gc()) {
    if (c == '-') f = -1;
    if (c == EOF) return EOF;
  }
  for (; isdigit(c); c = gc()) x = (x << 1) + (x << 3) + (c ^ 48);
  return x * f;
}
inline void wr(long long x) {
  if (x < 0) putchar('-'), x = -x;
  if (x > 9) wr(x / 10);
  putchar(x % 10 | 48);
}
const long long N = 2e5 + 10;
long long n, a[N], ans;
int main() {
  n = read();
  for (long long i = 1; i <= 2 * n; ++i) a[i] = read();
  sort(a + 1, a + 1 + 2 * n);
  ans = (a[n] - a[1]) * (a[2 * n] - a[n + 1]);
  for (long long i = 2; i <= n; ++i)
    ans = min(ans, (a[i + n - 1] - a[i]) * (a[2 * n] - a[1]));
  wr(ans);
  return 0;
}
