Consider the data type Punct, defined as follows:
struct Punct {
int x, y;
};where x and y are the integer coordinates of a point in the plane.
Read from standard input a natural number n (n >= 2), followed by the coordinates of n points. Print the two points at the smallest Euclidean distance, then the square of that distance.
Distinct points may share a coordinate; if multiple pairs achieve the same minimum distance, print the first one in lexicographic order by indices (smallest i first, then smallest j). The point with the smaller index is printed first.