#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 10;
struct point {
long long x, y, di;
} a, b, c[MAXN];
long long N, ansa = 0, ansb = 0;
inline long long dist(point p1, point p2) {
return (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y);
}
int main() {
cin >> a.x >> a.y >> b.x >> b.y >> N;
for (long long i = 0; i < N; i++) {
cin >> c[i].x >> c[i].y;
if (dist(c[i], a) <= ansa || dist(c[i], b) <= ansb) continue;
if (dist(c[i], a) < dist(c[i], b)) {
ansa = max(ansa, dist(c[i], a));
} else ansb = max(ansb, dist(c[i], b));
}
cout << ansa + ansb;
return 0;
}
提交记录