#include using namespace std; #include #include struct Point { double x; double y; }; int num; Point points[100001]; Point assist[100001]; inline bool cmpx(Point a ,Point b ) { return a.x < b.x; } inline bool cmpy(Point a ,Point b ) { return a.y < b.y; } inline double space(Point a, Point b) { return (a.x - b.x)*(a.x - b.x) + (a.y - b.y)*(a.y - b.y); } inline double minBinary(double a,double b) { return apoints[half].x-sqrtMin) assist[cnt++]=points[i]; sort(assist,assist+cnt,cmpy); for (int i=0;isqrtMin) break; min=minBinary(min,space(assist[i],assist[j])); } return min; } int main() { while(scanf("%d",&num)!=EOF&&num) { int min=0; for (int i=0;i