internal class AirTraffic
public static long ShortestSoFar = long.MaxValue;
private static void Main(string[] args)
int planeAmount = int.Parse(Console.ReadLine().Split(' ')[0]);
long[][] planes = new long[planeAmount][];
for(int i=0; i<planeAmount; i++)
string[] planePosition = Console.ReadLine().Split(' ');
planes[i][0] = int.Parse(planePosition[0]);
planes[i][1] = int.Parse(planePosition[1]);
Console.WriteLine(ShortestDistance(planes));
private static long ShortestDistance(long[][] planes)
Console.WriteLine(planes.Length);
return Convert.ToInt64(Math.Pow(planes[0][0] - planes[1][0], 2)) + Convert.ToInt64(Math.Pow(planes[0][1] - planes[1][1], 2));
else if (planes.Length == 3)
long ShortestDistance = Convert.ToInt64(Math.Pow(planes[0][0] - planes[1][0], 2)) + Convert.ToInt64(Math.Pow(planes[0][1] - planes[1][1], 2));
long Distance = Convert.ToInt64(Math.Pow(planes[0][0] - planes[2][0], 2)) + Convert.ToInt64(Math.Pow(planes[0][1] - planes[2][1], 2));
if (Distance < ShortestDistance)
ShortestDistance = Distance;
Distance = Convert.ToInt64(Math.Pow(planes[1][0] - planes[2][0], 2)) + Convert.ToInt64(Math.Pow(planes[1][1] - planes[2][1], 2));
if (Distance < ShortestDistance)
ShortestDistance = Distance;
long distance_L = ShortestDistance(planes.Take(planes.Length/2));
long distance_R = ShortestDistance(planes);
long smallest = distance_L < distance_R ? distance_L : distance_R;
if (smallest < ShortestSoFar)
ShortestSoFar = smallest;