#include <bits/stdc++.h>
using namespace std;
const int MAXN = 80005;
const double INF = 1e18, Pi = acos(-1);
int n, f;
double x[MAXN], y[MAXN], s[MAXN], ans = INF, w[MAXN];
double Query(int l, int r) {
  return fabs(x[l] * y[r] - x[r] * y[l] - s[r] + s[l]) / 2;
}
bool equ(double a, double b) { return fabs(a - b) < 1e-7; }
double Angle(double x, double y) {
  if (equ(x, 0))
    if (y > 0)
      return Pi / 2;
    else
      return 3 * Pi / 2;
  if (x > 0) return atan(y / x);
  if (x < 0) return atan(y / x) + Pi;
}
inline int G(double x) {
  if (x > 0) return 1;
  if (x < 0) return -1;
  return 0;
}
inline double L(int i, int j) {
  return (x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]);
}
inline double dot(double x1, double y1, double x2, double y2) {
  return x1 * x2 + y1 * y2;
}
void work() {
  int f;
  double t, a, b;
  for (int i = 1; i <= 2 * n; i++) {
    w[i] = Angle(x[i] - x[i - 1], y[i] - y[i - 1]);
    if (w[i] < 0) w[i] += 2 * Pi;
  }
  if (fabs(w[1] - w[2]) < Pi)
    f = G(w[2] - w[1]);
  else
    f = G(w[1] - w[2]);
  if (f == -1) {
    for (int i = 1; i <= n; i++)
      x[i + n] = x[n - i + 1], y[i + n] = y[n - i + 1];
    for (int i = 1; i <= n; i++) x[i] = x[i + n], y[i] = y[i + n];
    x[0] = x[n], y[0] = y[n];
    for (int i = 1; i <= 2 * n; i++) {
      w[i] = Angle(x[i] - x[i - 1], y[i] - y[i - 1]);
      if (w[i] < 0) w[i] += 2 * Pi;
    }
  }
  f = 0;
  t = w[1];
  for (int i = 2; i <= 2 * n; i++) {
    if (w[i] < t) f++;
    t = w[i];
    w[i] += 2 * Pi * f;
  }
  for (int i = 1; i <= 2 * n; i++)
    s[i] = x[i - 1] * y[i] - x[i] * y[i - 1] + s[i - 1];
  int j = 1;
  for (int i = 1; i <= n; i++) {
    while ((w[j + 1] - w[i]) < (Pi / 2)) j++;
    a = fabs(dot(x[i] - x[i - 1], y[i] - y[i - 1], x[j] - x[i], y[j] - y[i])) /
        sqrt(L(i - 1, i));
    b = sqrt(L(i, j) - a * a);
    ans = min(ans, a * b / 2 - Query(i, j));
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++)
    scanf("%lf%lf", &x[i], &y[i]), x[i + n] = x[i], y[i + n] = y[i];
  x[0] = x[n], y[0] = y[n];
  work();
  for (int i = 0; i <= 2 * n + 1; i++) x[i] = -x[i];
  work();
  printf("%.9lf\n", ans);
  return 0;
}
