#!/usr/bin/env python3
from collections import defaultdict
from math import dist

points, vn, ans = sorted(tuple(map(int, input().split())) for _ in range(int(input()))), 100, 1e12
voxels, vsize = defaultdict(lambda: defaultdict(lambda: defaultdict(list))), int(1e9) // vn + 1
for x, y, z in points: voxels[x // vsize][y // vsize][z // vsize].append((x, y, z))
for w in range(2, vn):
    for vx in range(0, vn - w + 1):
        for vy in range(0, vn - w + 1):
            for vz in range(0, vn - w + 1):
                voxel_box = [ps for x in range(w) for y in range(w) for z in range(w)
                             for ps in voxels[vx + x][vy + y][vz + z]]
                if len(voxel_box) <= 1: continue
                ans = min(ans, *(dist(pa, pb) for i, pa in enumerate(voxel_box) for pb in voxel_box[i + 1:]))
    if ans != 1e12: print(ans), exit()
