from collections import defaultdict

num_v = int(input().strip())
volc = [list(map(int, input().split())) for _ in range(num_v)]
# print(volc)

volc_d = defaultdict(lambda: [])
for v in volc:
    volc_d[v[0]].append(v[1])
# print(volc_d)
volc = [[y, [min(x), max(x)]] for y, x in volc_d.items()]
volc.sort(key=lambda x: x[0])
# print(volc)

solves = list(range(2 ** (1 + len(volc))))

solves[0b10] = abs(volc[0][1][1] - volc[0][1][0])
solves[0b11] = abs(volc[0][1][1] - volc[0][1][0])
for i in range(4, 2 ** (1 + len(volc))):
    leng = i.bit_length() - 2
    solves[i] = solves[i >> 1] + abs(volc[leng][0] - volc[leng - 1][0]) + abs(
        abs(volc[leng][1][i & 0b1] - volc[leng - 1][1][(i & 0b10) >> 1])) + abs(volc[leng][1][1] - volc[leng][1][0])

# for i in range(len(solves)):
#     print(f"{i:b}: {solves[i]}")

print(min(solves[2 ** (len(volc)):2 ** (1 + len(volc))]))
