#include <algorithm>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <vector>
using namespace std;

int main() {
  cout << fixed << setprecision(9);
  int N;
  while (cin >> N) {
    vector<pair<double, double>> v(N);
    for (auto& [x, y] : v) cin >> x >> y;

    if (N == 4) {
      cout << abs(v[2].first-v[0].first) * abs(v[2].second-v[0].second) << endl;
      continue;
    }
    double x1, y1, x2, y2;
    for (;;) {
      double x0 = 1e9, y0 = 1e9;
      x2 = -1e9; y2 = -1e9;
      for (auto const& [x, y] : v) {
        x0 = min(x0, x); y0 = min(y0, y);
        x2 = max(x2, x); y2 = max(y2, y);
      }
      if (find(v.begin(), v.end(), pair<double, double>{x2, y2}) != v.end()) {
        for (auto& [x, y] : v) { swap(x, y); x = -x; }
        continue;
      }
      for (auto const& [x, y] : v) {
        if (x != x0 && x != x2) x1 = x;
        if (y != y0 && y != y2) y1 = y;
      }
      x1 -= x0; y1 -= y0;
      x2 -= x0; y2 -= y0;
      break;
    }

    double ret = x1 * y1;
    for (int swp = 0; swp < 2; swp++, swap(x1, y1), swap(x2, y2)) {
      //(y+y1) / (x-x1) = (y2-y1) / (x1-a)
      //(y1-y) / (x-x1) = (y2-y1) / (x1+a)
      //x1*y - a*y + x1*y1 - a*y1 - x*y2 + x*y1 + x1*y2 - x1*y1 = 0
      //x1*y1 + a*y1 - x1*y - a*y - x*y2 + x*y1 + x1*y2 - x1*y1 = 0
      //a*y1 - x1*y = 0
      //a = x1*y/y1
      //(-x1/y1)*y^2 + x1*y2 = (y2-y1)*x
      double x = x1*y2/(y2-y1), y = 0;
      ret += (min(x,x2)-x1) * y1;
      ret -= (x1*y1*y1/3) / (y2-y1);
      if (x > x2) {
        y = sqrt((x1*y2 - (y2-y1)*x2) * y1 / x1);
        ret += (x-x2) * (y1-y);
        ret += (x1/y1*y*y*y/3) / (y2-y1);
      }
    }
    cout << ret << endl;
  }
}
