P1378
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=10;
const double pai=3.1415926;
int n,X1,Y1,X2,Y2;
int x[N],y[N];
double r[N],ans=-1;
bool f[N];
double max(double a,double b){return a>b?a:b;}
double min(double a,double b){return a<b?a:b;}
double abs(double a){return a<0?-a:a;}
double hl(double o,double p,double r,double t){return sqrt((o-r)*(o-r)+(p-t)*(p-t));}
void dfs(int k,double sum)
{
if(k==n+1)
{
ans=max(ans,sum);
return;
}
for(int i=1;i<=n;i++)
{
if(!f[i])
{
r[i]=min(abs(X1-x[i]),abs(X2-x[i]));
r[i]=min(r[i],min(abs(Y1-y[i]),abs(Y2-y[i])));
for(int j=1;j<=n;j++)
{
if(f[j])
{
double qsw=hl(x[i],y[i],x[j],y[j]);
r[i]=min(r[i],qsw-r[j]);
}
}
f[i]=1;
dfs(k+1,sum+pai*r[i]*r[i]);
f[i]=0;
}
}
}
int main()
{
cin>>n>>X1>>Y1>>X2>>Y2;
//X1+=1000,Y1+=1000,X2+=1000,Y2+=1000;
for(int i=1;i<=n;i++)
{
cin>>x[i]>>y[i];
//x[i]+=1000,y[i]+=1000;
}
dfs(1,0.0);
ans=abs(X1-X2)*abs(Y1-Y2)-ans;
printf("%d",int(ans+0.5));
return 0;
}