tle on #2#9#10
using System;
namespace 入门
{
internal class Program
{
static void Main(string[] args)
{
string[] strings = Console.ReadLine().Split(' ');
int systemAX = int.Parse(strings[0]);
int systemAY = int.Parse(strings[1]);
int systemBX = int.Parse(strings[2]);
int systemBY = int.Parse(strings[3]);
if (systemAX > systemBX)
{
(systemBX, systemAX) = (systemAX, systemBX);
(systemBY, systemAY) = (systemAY, systemBY);
}
int N = int.Parse(Console.ReadLine());
int[] missilesX = new int[N];
int[] missilesY = new int[N];
for (int i = 0; i < N; i++)
{
strings = Console.ReadLine().Split(' ');
missilesX[i] = int.Parse(strings[0]);
missilesY[i] = int.Parse(strings[1]);
}
int[] systemAToMissiles = new int[N];
int[] systemBToMissiles = new int[N];
int[] copy = new int[N];
for (int i = 0; i < systemAToMissiles.Length; i++)
{
systemAToMissiles[i] = (int)(Math.Pow(systemAX - missilesX[i], 2) + Math.Pow(systemAY - missilesY[i], 2));
copy[i] = systemAToMissiles[i];
systemBToMissiles[i] = (int)(Math.Pow(systemBX - missilesX[i], 2) + Math.Pow(systemBY - missilesY[i], 2));
}
Array.Sort(systemAToMissiles);
int max = 0;
int result = systemAToMissiles[systemAToMissiles.Length - 1];
for (int i = N - 2; i >= 0; i--)
{
for (int j = i + 1; j <= N - 1; j++)
max = Math.Max(systemBToMissiles[Array.IndexOf(copy, systemAToMissiles[j])], max);
result = Math.Min(systemAToMissiles[i] + max, result);
}
Console.WriteLine(result);
}
}
}