#include <bits/stdc++.h>
using namespace std;
struct Point {
  double x, y;
  Point operator-(const Point &other) {
    Point ret;
    ret.x = x - other.x;
    ret.y = y - other.y;
    return ret;
  }
};
const int MAXN = 40005;
const double error = 1e-9;
Point pa[MAXN], mc;
double mcx, mcy;
double Area[MAXN], AreaSum[MAXN];
double ans;
int n;
double Len(const Point &a) { return sqrt(a.x * a.x + a.y * a.y); }
double CrossProduct(const Point &a, const Point &b) {
  return a.x * b.y - b.x * a.y;
}
double DotProduct(const Point &a, const Point &b) {
  return a.x * b.x + a.y * b.y;
}
double GetAngle(const Point &a, const Point &b) {
  return acos(DotProduct(a, b) / Len(a) / Len(b));
}
double GetAreaSum(const int &l, const int &r, const int &n) {
  if (l <= r)
    return AreaSum[r] - AreaSum[l];
  else
    return AreaSum[r] + AreaSum[n - 1] - AreaSum[l];
}
double GetTriangleArea(Point a, Point b, Point c) {
  double ang = GetAngle(b - a, c - b);
  double diag = Len(c - b);
  return fabs(diag * sin(ang) * diag * cos(ang) / 2);
}
void Work() {
  for (int i = 0; i < n; i++)
    Area[i] = fabs(CrossProduct(pa[i] - mc, pa[(i + 1) % n] - mc)) / 2;
  AreaSum[0] = Area[0];
  for (int i = 1; i < n; i++) AreaSum[i] = AreaSum[i - 1] + Area[i];
  for (int i = 0, ind = 1; i < n; i++) {
    double areaPoly, areaTri, areaRes;
    while (GetAngle(pa[(i + 1) % n] - pa[i], pa[(ind + 1) % n] - pa[ind]) <
           M_PI_2 + error)
      ind = (ind + 1) % n;
    if ((i + 1) % n == ind) {
      areaRes = 0;
      ind = (ind + 1) % n;
    } else {
      areaPoly =
          fabs(GetAreaSum(i, (ind - 1 + n) % n, n) -
               fabs(CrossProduct(pa[(i + 1) % n] - mc, pa[ind] - mc)) / 2);
      areaTri = GetTriangleArea(pa[i], pa[(i + 1) % n], pa[ind]);
      areaRes = areaTri - areaPoly;
    }
    ans = min(ans, areaRes);
  }
  return;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++)
    scanf("%lf%lf", &pa[i].x, &pa[i].y), mc.x += pa[i].x, mc.y += pa[i].y;
  mc.x /= n, mc.y /= n;
  ans = DBL_MAX;
  Work();
  reverse(pa, pa + n);
  Work();
  printf("%.8lf\n", ans);
  return 0;
}
