//Searches local minimum

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

#define inpfile "polygon.in"
#define outfile "polygon.out"

#define TL 20000
#define HMAX 1000
#define EPS 1e-10
#define EPS2 1e-15
#define INF 1e20
#define NMAX 105

struct COORD {
	double x,y;
};

//Global variables
COORD a[NMAX];
int n;
double res;

int ITER;
//----------------

void Init()
{
	freopen(inpfile,"r",stdin);
	freopen(outfile,"w",stdout);
}

void Out()
{
	printf("%.10lf",res);
	exit(0);
}

void Inp()
{
	int i;
	
	scanf("%d",&n);
	for (i=1; i<=n; i++)
		scanf("%lf %lf",&a[i].x,&a[i].y);
	
	a[n+1]=a[1];
}

int Sn(double x)
{
	if (fabs(x)<EPS) return 0;
	if (x<0) return -1;
	return 1;
}

double Vc(COORD *p1, COORD *p2, COORD *p3, COORD *p4)
{
	return (p2->x - p1->x)*(p4->y - p3->y) - (p2->y - p1->y)*(p4->x - p3->x);
}

double sqr(double x)
{
	return x*x;
}

double Len(COORD *p1, COORD *p2)
{
	return sqrt(sqr(p2->x - p1->x) + sqr(p2->y - p1->y));
}

double Cross(COORD *p1, COORD *p2, COORD *p3, COORD *p4)
{
	double v1,v2;
	COORD r;

	if (Vc(p1,p2,p1,p3)*Vc(p1,p2,p1,p4)>0) return -1;

	v2=Vc(p1,p2,p3,p4);
	if (fabs(v2)<EPS) return -1;

	v1=Vc(p3,p1,p3,p4);

	r.x=p1->x - (p2->x - p1->x)*v1/v2;
	r.y=p1->y - (p2->y - p1->y)*v1/v2;

	return Len(p1,&r);
}

void Solve()
{
	double min_angle, max_angle, angle, dang;
	double res_angle;
	COORD p1={0,0},p2;
	double dmin=0,dmax=0,d;
	int i,h,ok;

	min_angle=atan2(a[1].y,a[1].x);
	max_angle=min_angle;

	for (i=2; i<=n; i++) {
		angle=atan2(a[i].y,a[i].x);
		if (min_angle>angle) min_angle=angle;
		if (max_angle<angle) max_angle=angle;
	}

	res=INF;
	ITER=TL/n;

	for (h=1; h<=HMAX; h++) {
		dang=(max_angle - min_angle)/ITER;
		if (fabs(dang)<EPS2) break;

		for (angle=min_angle; angle<=max_angle; angle+=dang) {
			ok=0;

			p2.x=cos(angle);
			p2.y=sin(angle);
			for (i=1; i<=n; i++) {
				d=Cross(&p1,&p2,a+i,a+i+1);
				if (d>0) {
					if ((dmin>d)||(!ok)) dmin=d;
					if ((dmax<d)||(!ok)) dmax=d;
					ok=1;
				}
			}

			if ((ok)&&(dmin*dmax<res)) {
				res=dmin*dmax;
				res_angle=angle;
			}
		}

		min_angle=res_angle-10*dang;
		max_angle=res_angle+10*dang;
	}
}

int main()
{
	Init();
	Inp();
	Solve();
	Out();

	return 0;
}
