#include<bits/stdc++.h>
#define endl '\n'
#define reg register
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=4e5+10;
const int INF=0x3f3f3f3f;
int n;
pii a[N];
ll dis(pii i,pii j){
ll x=i.x-j.x;
ll y=i.y-j.y;
return 1ll*x*x+1ll*y*y;
}
pii tp[N];
ll solve(int l,int r){
if(l==r) return 1e18;
if(l+1==r) return dis(a[l],a[r]);
int mid=l+r>>1;
ll lans=solve(l,mid);
ll rans=solve(mid+1,r);
ll minans=min(lans,rans);
int cnt=0;
for(reg int i=l;i<=r;i++){
ll x=abs(a[i].x-a[mid].x);
if(x*x<minans){
tp[++cnt]=a[i];
}
}
sort(tp+1,tp+cnt+1);
for(reg int i=1;i<=cnt;i++){
for(reg int j=i+1;j<=cnt;j++){
ll x=abs(tp[i].x-tp[j].x);
if(x*x>=minans) break;
if(dis(tp[i],tp[j])<minans){
minans=dis(tp[i],tp[j]);
}
}
}
return minans;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin>>n;
for(reg int i=1;i<=n;i++){
int x,y; cin>>x>>y;
a[i]={x,y};
}
sort(a+1,a+n+1);
cout<<solve(1,n)<<endl;
return 0;
}