#include<stdio.h>
struct xy {int x, y;}a[1212];
int n;
bool is_in(xy a, xy b,int x) {
int d = (a.x - b.x)*(a.x - b.x) + (a.y - b.y)*(a.y - b.y);
return d <= x;
}
bool is_gone[1212];
int f(int w,int x) {
is_gone[w] = 1;
int res = 1, i;
for (i = 0; i < n; i++) {
if (is_gone[i])continue;
if (!is_in(a[w], a[i], x))continue;
res+=f(i,x);
}
return res;
}
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i++)scanf("%d%d", &a[i].x, &a[i].y);
long long s = 0, e = (long long)2*25000*25000, ans;
while (s <= e) {
long long m = (s + e) / 2;
for (int i = 0; i < n; i++)is_gone[i] = 0;
if (f(0,m)==n)ans = m, e = m - 1;
else s = m + 1;
}
printf("%lld", ans);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4Kc3RydWN0IHh5IHtpbnQgeCwgeTt9YVsxMjEyXTsKaW50IG47CmJvb2wgaXNfaW4oeHkgYSwgeHkgYixpbnQgeCkgewoJaW50IGQgPSAoYS54IC0gYi54KSooYS54IC0gYi54KSArIChhLnkgLSBiLnkpKihhLnkgLSBiLnkpOwoJcmV0dXJuIGQgPD0geDsKfQpib29sIGlzX2dvbmVbMTIxMl07CmludCBmKGludCB3LGludCB4KSB7Cglpc19nb25lW3ddID0gMTsKCWludCByZXMgPSAxLCBpOwoJZm9yIChpID0gMDsgaSA8IG47IGkrKykgewoJCWlmIChpc19nb25lW2ldKWNvbnRpbnVlOwoJCWlmICghaXNfaW4oYVt3XSwgYVtpXSwgeCkpY29udGludWU7CgkJcmVzKz1mKGkseCk7Cgl9CglyZXR1cm4gcmVzOwp9CmludCBtYWluKCkgewoJc2NhbmYoIiVkIiwgJm4pOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspc2NhbmYoIiVkJWQiLCAmYVtpXS54LCAmYVtpXS55KTsKCWxvbmcgbG9uZyBzID0gMCwgZSA9IChsb25nIGxvbmcpMioyNTAwMCoyNTAwMCwgYW5zOwoJd2hpbGUgKHMgPD0gZSkgewoJCWxvbmcgbG9uZyBtID0gKHMgKyBlKSAvIDI7CgkJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspaXNfZ29uZVtpXSA9IDA7CgkJaWYgKGYoMCxtKT09bilhbnMgPSBtLCBlID0gbSAtIDE7CgkJZWxzZSBzID0gbSArIDE7Cgl9CglwcmludGYoIiVsbGQiLCBhbnMpOwoJcmV0dXJuIDA7Cn0=