#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
const double PI=3.1415926535;
using namespace std;
const int maxn=7+5;
double x[maxn],y[maxn];
bool flag[maxn];
double r[maxn];
int N;
double x1,y1,x2,y2;
double ans;
double point(int i)
{
double t1=min(abs(x[i]-x1),abs(x[i]-x2));
double t2=min(abs(y[i]-y1),abs(y[i]-y2));
double ans=min(t1,t2);
for(int j=0;j<N;j++)
{
if(i!=j&&flag[j])
{
double se=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
ans=min(ans,max(se-r[j],0.0));
}
}
return an;
}
void dfs(int sum,double num)
{
if(sum>N)
{
ans=max(num,ans);
return;
}
for(int i=0;i<N;i++)
{
if(!flag[i])
{
r[i]=point(i);
flag[i]=true;
dfs(sum+1,num+r[i]*r[i]*PI);
flag[i]=false;
}
}
}
int main()
{
scanf("%d",&N);
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
double sss=abs(x1-x2)*abs(y1-y2);
for(int i=0;i<N;i++)
{
scanf("%lf%lf",&x[i],&y[i]);
}
dfs(1,0);
int own=sss-ans+0.5;
printf("%d\n",own);
return 0;
}