#include<bits/stdc++.h>
using namespace std;
struct z{
int a,b;
}x[1000000];
long long x1,x2,y3,y2,n,j,k,m1,m2;
int main(){
cin>>x1>>y3>>x2>>y2>>n;
for(int i=1;i<=n;i++) cin>>x[i].a>>x[i].b;
for(int i=1;i<=n;i++){
if((x[i].a-x1)*(x[i].a-x1)+(x[i].b-y3)*(x[i].b-y3)-m1<(x[i].a-x2)*(x[i].a-x2)+(x[i].b-y2)*(x[i].b-y2)-m2){
m1=max((x[i].a-x1)*(x[i].a-x1)+(x[i].b-y3)*(x[i].b-y3),m1);
}
else{
m2=max((x[i].a-x2)*(x[i].a-x2)+(x[i].b-y2)*(x[i].b-y2),m2);
}
}
cout<<m1+m2;
return 0;
}