#include <bits/stdc++.h>
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
using namespace std;
long long bpow(long long a, long long b, long long m) {
  a %= m;
  long long res = 1;
  while (b > 0) {
    if (b & 1) res = res * a % m;
    a = a * a % m;
    b >>= 1;
  }
  return res;
}
long long int extend_gcd(long long int a, long long int b, long long int &first,
                         long long int &second) {
  if (b == 0) {
    first = 1;
    second = 0;
    return a;
  }
  long long int x1, y1;
  long long int ans = extend_gcd(b, a % b, x1, y1);
  first = y1;
  second = x1 - (a / b) * y1;
  return ans;
}
long long int inverse(long long int a, long long int m) {
  long long int first, second;
  extend_gcd(m, a, first, second);
  second %= m;
  second += m;
  second %= m;
  return second;
}
long long int kv;
long long int t, n, first, second, h, k, z, p, q, w;
pair<long long int, long long int> a[100000];
void up(pair<long long int, long long int> a,
        pair<long long int, long long int> b,
        pair<long long int, long long int> c, long double &f, long double &g) {
  if ((a.first - c.first) * (b.second - c.second) -
          (a.second - c.second) * (b.first - c.first) >
      0) {
    long double gg =
        0.5 * abs(a.first * b.second - b.first * a.second + b.first * c.second -
                  b.second * c.first + c.first * a.second - c.second * a.first);
    if (gg > f) f = gg;
  }
  if ((a.first - c.first) * (b.second - c.second) -
          (a.second - c.second) * (b.first - c.first) <
      0) {
    long double gg =
        0.5 * abs(a.first * b.second - b.first * a.second + b.first * c.second -
                  b.second * c.first + c.first * a.second - c.second * a.first);
    if (gg > g) g = gg;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (long long i = 0; i < int(n); i++) cin >> a[i].first >> a[i].second;
  long double ans = 0;
  for (long long i = 0; i < int(n); i++) {
    for (int j = i + 1; j < n; j++) {
      long double u = -1, v = -1;
      for (long long k = 0; k < int(n); k++) up(a[i], a[j], a[k], u, v);
      if (u > 0 && v > 0 && (u + v) > ans) ans = u + v;
    }
  }
  cout << fixed << setprecision(16) << ans;
  return 0;
}
