import numpy as np from scipy.sparse.csgraph import connected_components from scipy.spatial import distance N = int(input()) P = np.array([tuple(map(int, input().split())) for _ in range(N)]) D = distance.cdist(P, P) def f(x): _, labels = connected_components(D < x) return labels[0] == labels[-1] # bisect l, r = 0, 2 * 10 ** 9 while r - l > 10: m = (r + l) // 20 * 10 if f(m): r = m else: l = m print(r)