#include <bits/stdc++.h>
using namespace std;
pair<int, int> m_partition(long long*& a, int l, int r) {
  int op = rand() % (r - l + 1) + l;
  int x = a[op];
  int j = l;
  int j1 = l;
  swap(a[op], a[l]);
  bool flag = false;
  for (int i = l + 1; i <= r; i++) {
    if (a[i] < x) {
      j++;
      j1++;
      swap(a[i], a[j]);
      swap(a[j], a[j1]);
    } else {
      if (a[i] == x) {
        j++;
        swap(a[i], a[j]);
      }
    }
  }
  swap(a[l], a[j1]);
  return pair<int, int>(j1, j);
}
void QuickSort(long long*& a, int l, int r) {
  while (l < r) {
    pair<int, int> m = m_partition(a, l, r);
    if (m.first - 1 - l <= r - m.second - 1) {
      QuickSort(a, l, m.first - 1);
      l = m.second + 1;
    } else {
      QuickSort(a, m.second + 1, r);
      r = m.first - 1;
    }
  }
}
int main() {
  srand(time(0));
  int n;
  cin >> n;
  long long* a = new long long[2 * n];
  int c;
  for (int i = 0; i < 2 * n; i++) {
    cin >> a[i];
  }
  QuickSort(a, 0, 2 * n - 1);
  long long x1 = a[0], x2 = a[n - 1], y1 = a[n], y2 = a[2 * n - 1];
  long long s = (x2 - x1) * (y2 - y1);
  for (int i = 0; i < n; i++)
    s = min(s, (a[2 * n - 1] - a[0]) * (a[n - 1 + i] - a[i]));
  cout << s << endl;
  return 0;
}
