#include <bits/stdc++.h>
using namespace std;
template <typename T1, typename T2>
istream& operator>>(istream& in, pair<T1, T2>& p) {
  in >> p.first >> p.second;
  return in;
}
template <typename T1, typename T2>
ostream& operator<<(ostream& out, pair<T1, T2>& p) {
  out << p.first << " " << p.second;
  return out;
}
template <typename T>
ostream& operator<<(ostream& out, vector<T>& v) {
  for (auto& i : v) {
    out << i << "\n";
  }
  return out;
}
const int MAX = 100001;
vector<long long> coords;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  int n;
  cin >> n;
  coords.resize(2 * n);
  for (int i = (0); i < (2 * n); ++i) {
    cin >> coords[i];
  }
  sort((coords).begin(), (coords).end());
  long long minimum =
      (coords[n - 1] - coords[0]) * (coords[2 * n - 1] - coords[n]);
  for (int i = (1); i < (n); ++i) {
    minimum = min(minimum, (coords[i + n - 1] - coords[i]) *
                               (coords[2 * n - 1] - coords[0]));
  }
  cout << minimum;
  return 0;
}
