#include<bits/stdc++.h>
using namespace std;
#define double long double
#define pow powl
#define sqrt sqrtl
struct circle
{
int xx,yy;
double rr;
inline const short
cir(int x,int y)
{
int a=round(pow(xx-x,2)+pow(yy-y,2)),b=rr;
if(a>b)return 1;
if(a==b)return 0;
if(a<b)return -1;
}
inline const double
maxrr(int x,int y)
{
return pow(sqrt(pow(xx-x,2)+pow(yy-y,2))-sqrt(rr),2);
}
}cir[7];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,x,y,x_,y_,x0,y0;
double ans,ans_=9000000000;
cin>>n>>x>>y>>x_>>y_;
mt19937 mt(time(0));
for(int i=0;i<n;i++)
{
cin>>x0>>y0;
cir[i]=circle{x0,y0,0};
}
for(int k=0;k<300;k++)
{
shuffle(cir,cir+n,random_device());
ans=abs(x-x_)*abs(y-y_);
for(int i=0;i<n;i++)
{
x0=cir[i].xx,y0=cir[i].yy;
double rr=pow(min({abs(x0-x),abs(x0-x_),abs(y0-y),abs(y0-y_)}),2);
for(int j=0;j<i;j++)
{
short cxx=cir[j].cir(x0,y0);
if(cxx<=0)
{
continue;
}
rr=min(rr,cir[j].maxrr(x0,y0));
}
cir[i].rr=rr;
ans-=rr*(double)3.141592653589793;
}
ans_=min(ans,ans_);
}
cout<<int(round(ans_));
return 0;
}